using HtmlAgilityPack;
using System.Text.Json.Serialization;
namespace Beam.Dynamic {
[JsonDerivedType(typeof(ParagraphedContentDataProvider), "paragraphed")]
[JsonDerivedType(typeof(ListContentDataProvider), "list")]
[JsonDerivedType(typeof(ContentsArrayDataProvider), "array")]
[JsonDerivedType(typeof(ContentsDataProvider), "single")]
[JsonDerivedType(typeof(DropDownDataProvider), "dropdown")]
[JsonDerivedType(typeof(AnchorCollectionDataProvider), "anchor-list")]
[JsonDerivedType(typeof(AnchorDataProvider), "anchor")]
public interface IDataProvider {
public string GetString(HtmlDocument document)
=> (this as IDataProvider