import type { VoidHTMLElement, HTMLElement } from "./html_element.ts"; import type { ATTRIBUTE_MAP } from "./attributes.ts"; import type { CHILDREN_MAP } from "./content_categories.ts"; interface AElement extends HTMLElement<"a", ATTRIBUTE_MAP["a"], CHILDREN_MAP["a"]> { } interface AbbrElement extends HTMLElement<"abbr", ATTRIBUTE_MAP["abbr"], CHILDREN_MAP["abbr"]> { } interface AddressElement extends HTMLElement<"address", ATTRIBUTE_MAP["address"], CHILDREN_MAP["address"]> { } interface AreaElement extends VoidHTMLElement<"area", ATTRIBUTE_MAP["area"]> { } interface ArticleElement extends HTMLElement<"article", ATTRIBUTE_MAP["article"], CHILDREN_MAP["article"]> { } interface AsideElement extends HTMLElement<"aside", ATTRIBUTE_MAP["aside"], CHILDREN_MAP["aside"]> { } interface AudioElement extends HTMLElement<"audio", ATTRIBUTE_MAP["audio"], CHILDREN_MAP["audio"]> { } interface BElement extends HTMLElement<"b", ATTRIBUTE_MAP["b"], CHILDREN_MAP["b"]> { } interface BaseElement extends VoidHTMLElement<"base", ATTRIBUTE_MAP["base"]> { } interface BdiElement extends HTMLElement<"bdi", ATTRIBUTE_MAP["bdi"], CHILDREN_MAP["bdi"]> { } interface BdoElement extends HTMLElement<"bdo", ATTRIBUTE_MAP["bdo"], CHILDREN_MAP["bdo"]> { } interface BlockquoteElement extends HTMLElement<"blockquote", ATTRIBUTE_MAP["blockquote"], CHILDREN_MAP["blockquote"]> { } interface BodyElement extends HTMLElement<"body", ATTRIBUTE_MAP["body"], CHILDREN_MAP["body"]> { } interface BrElement extends VoidHTMLElement<"br", ATTRIBUTE_MAP["br"]> { } interface ButtonElement extends HTMLElement<"button", ATTRIBUTE_MAP["button"], CHILDREN_MAP["button"]> { } interface CanvasElement extends HTMLElement<"canvas", ATTRIBUTE_MAP["canvas"], CHILDREN_MAP["canvas"]> { } interface CaptionElement extends HTMLElement<"caption", ATTRIBUTE_MAP["caption"], CHILDREN_MAP["caption"]> { } interface CiteElement extends HTMLElement<"cite", ATTRIBUTE_MAP["cite"], CHILDREN_MAP["cite"]> { } interface CodeElement extends HTMLElement<"code", ATTRIBUTE_MAP["code"], CHILDREN_MAP["code"]> { } interface ColElement extends VoidHTMLElement<"col", ATTRIBUTE_MAP["col"]> { } interface ColgroupElement extends HTMLElement<"colgroup", ATTRIBUTE_MAP["colgroup"], CHILDREN_MAP["colgroup"]> { } interface DataElement extends HTMLElement<"data", ATTRIBUTE_MAP["data"], CHILDREN_MAP["data"]> { } interface DatalistElement extends HTMLElement<"datalist", ATTRIBUTE_MAP["datalist"], CHILDREN_MAP["datalist"]> { } interface DdElement extends HTMLElement<"dd", ATTRIBUTE_MAP["dd"], CHILDREN_MAP["dd"]> { } interface DelElement extends HTMLElement<"del", ATTRIBUTE_MAP["del"], CHILDREN_MAP["del"]> { } interface DetailsElement extends HTMLElement<"details", ATTRIBUTE_MAP["details"], CHILDREN_MAP["details"]> { } interface DfnElement extends HTMLElement<"dfn", ATTRIBUTE_MAP["dfn"], CHILDREN_MAP["dfn"]> { } interface DialogElement extends HTMLElement<"dialog", ATTRIBUTE_MAP["dialog"], CHILDREN_MAP["dialog"]> { } interface DivElement extends HTMLElement<"div", ATTRIBUTE_MAP["div"], CHILDREN_MAP["div"]> { } interface DlElement extends HTMLElement<"dl", ATTRIBUTE_MAP["dl"], CHILDREN_MAP["dl"]> { } interface DtElement extends HTMLElement<"dt", ATTRIBUTE_MAP["dt"], CHILDREN_MAP["dt"]> { } interface EmElement extends HTMLElement<"em", ATTRIBUTE_MAP["em"], CHILDREN_MAP["em"]> { } interface EmbedElement extends VoidHTMLElement<"embed", ATTRIBUTE_MAP["embed"]> { } interface FieldsetElement extends HTMLElement<"fieldset", ATTRIBUTE_MAP["fieldset"], CHILDREN_MAP["fieldset"]> { } interface FigcaptionElement extends HTMLElement<"figcaption", ATTRIBUTE_MAP["figcaption"], CHILDREN_MAP["figcaption"]> { } interface FigureElement extends HTMLElement<"figure", ATTRIBUTE_MAP["figure"], CHILDREN_MAP["figure"]> { } interface FooterElement extends HTMLElement<"footer", ATTRIBUTE_MAP["footer"], CHILDREN_MAP["footer"]> { } interface FormElement extends HTMLElement<"form", ATTRIBUTE_MAP["form"], CHILDREN_MAP["form"]> { } interface H1Element extends HTMLElement<"h1", ATTRIBUTE_MAP["h1"], CHILDREN_MAP["h1"]> { } interface H2Element extends HTMLElement<"h2", ATTRIBUTE_MAP["h2"], CHILDREN_MAP["h2"]> { } interface H3Element extends HTMLElement<"h3", ATTRIBUTE_MAP["h3"], CHILDREN_MAP["h3"]> { } interface H4Element extends HTMLElement<"h4", ATTRIBUTE_MAP["h4"], CHILDREN_MAP["h4"]> { } interface H5Element extends HTMLElement<"h5", ATTRIBUTE_MAP["h5"], CHILDREN_MAP["h5"]> { } interface H6Element extends HTMLElement<"h6", ATTRIBUTE_MAP["h6"], CHILDREN_MAP["h6"]> { } interface HeadElement extends HTMLElement<"head", ATTRIBUTE_MAP["head"], CHILDREN_MAP["head"]> { } interface HeaderElement extends HTMLElement<"header", ATTRIBUTE_MAP["header"], CHILDREN_MAP["header"]> { } interface HgroupElement extends HTMLElement<"hgroup", ATTRIBUTE_MAP["hgroup"], CHILDREN_MAP["hgroup"]> { } interface HrElement extends VoidHTMLElement<"hr", ATTRIBUTE_MAP["hr"]> { } interface HtmlElement extends HTMLElement<"html", ATTRIBUTE_MAP["html"], CHILDREN_MAP["html"]> { } interface IElement extends HTMLElement<"i", ATTRIBUTE_MAP["i"], CHILDREN_MAP["i"]> { } interface IframeElement extends HTMLElement<"iframe", ATTRIBUTE_MAP["iframe"], CHILDREN_MAP["iframe"]> { } interface ImgElement extends VoidHTMLElement<"img", ATTRIBUTE_MAP["img"]> { } interface InputElement extends VoidHTMLElement<"input", ATTRIBUTE_MAP["input"]> { } interface InsElement extends HTMLElement<"ins", ATTRIBUTE_MAP["ins"], CHILDREN_MAP["ins"]> { } interface KbdElement extends HTMLElement<"kbd", ATTRIBUTE_MAP["kbd"], CHILDREN_MAP["kbd"]> { } interface LabelElement extends HTMLElement<"label", ATTRIBUTE_MAP["label"], CHILDREN_MAP["label"]> { } interface LegendElement extends HTMLElement<"legend", ATTRIBUTE_MAP["legend"], CHILDREN_MAP["legend"]> { } interface LiElement extends HTMLElement<"li", ATTRIBUTE_MAP["li"], CHILDREN_MAP["li"]> { } interface LinkElement extends VoidHTMLElement<"link", ATTRIBUTE_MAP["link"]> { } interface MainElement extends HTMLElement<"main", ATTRIBUTE_MAP["main"], CHILDREN_MAP["main"]> { } interface MapElement extends HTMLElement<"map", ATTRIBUTE_MAP["map"], CHILDREN_MAP["map"]> { } interface MarkElement extends HTMLElement<"mark", ATTRIBUTE_MAP["mark"], CHILDREN_MAP["mark"]> { } interface MathElement extends HTMLElement<"math", ATTRIBUTE_MAP["math"], CHILDREN_MAP["math"]> { } interface MenuElement extends HTMLElement<"menu", ATTRIBUTE_MAP["menu"], CHILDREN_MAP["menu"]> { } interface MetaElement extends VoidHTMLElement<"meta", ATTRIBUTE_MAP["meta"]> { } interface MeterElement extends HTMLElement<"meter", ATTRIBUTE_MAP["meter"], CHILDREN_MAP["meter"]> { } interface NavElement extends HTMLElement<"nav", ATTRIBUTE_MAP["nav"], CHILDREN_MAP["nav"]> { } interface NoscriptElement extends HTMLElement<"noscript", ATTRIBUTE_MAP["noscript"], CHILDREN_MAP["noscript"]> { } interface ObjectElement extends HTMLElement<"object", ATTRIBUTE_MAP["object"], CHILDREN_MAP["object"]> { } interface OlElement extends HTMLElement<"ol", ATTRIBUTE_MAP["ol"], CHILDREN_MAP["ol"]> { } interface OptgroupElement extends HTMLElement<"optgroup", ATTRIBUTE_MAP["optgroup"], CHILDREN_MAP["optgroup"]> { } interface OptionElement extends HTMLElement<"option", ATTRIBUTE_MAP["option"], CHILDREN_MAP["option"]> { } interface OutputElement extends HTMLElement<"output", ATTRIBUTE_MAP["output"], CHILDREN_MAP["output"]> { } interface PElement extends HTMLElement<"p", ATTRIBUTE_MAP["p"], CHILDREN_MAP["p"]> { } interface PictureElement extends HTMLElement<"picture", ATTRIBUTE_MAP["picture"], CHILDREN_MAP["picture"]> { } interface PortalElement extends HTMLElement<"portal", ATTRIBUTE_MAP["portal"], CHILDREN_MAP["portal"]> { } interface PreElement extends HTMLElement<"pre", ATTRIBUTE_MAP["pre"], CHILDREN_MAP["pre"]> { } interface ProgressElement extends HTMLElement<"progress", ATTRIBUTE_MAP["progress"], CHILDREN_MAP["progress"]> { } interface QElement extends HTMLElement<"q", ATTRIBUTE_MAP["q"], CHILDREN_MAP["q"]> { } interface RpElement extends HTMLElement<"rp", ATTRIBUTE_MAP["rp"], CHILDREN_MAP["rp"]> { } interface RtElement extends HTMLElement<"rt", ATTRIBUTE_MAP["rt"], CHILDREN_MAP["rt"]> { } interface RubyElement extends HTMLElement<"ruby", ATTRIBUTE_MAP["ruby"], CHILDREN_MAP["ruby"]> { } interface SElement extends HTMLElement<"s", ATTRIBUTE_MAP["s"], CHILDREN_MAP["s"]> { } interface SampElement extends HTMLElement<"samp", ATTRIBUTE_MAP["samp"], CHILDREN_MAP["samp"]> { } interface ScriptElement extends HTMLElement<"script", ATTRIBUTE_MAP["script"], CHILDREN_MAP["script"]> { } interface SearchElement extends HTMLElement<"search", ATTRIBUTE_MAP["search"], CHILDREN_MAP["search"]> { } interface SectionElement extends HTMLElement<"section", ATTRIBUTE_MAP["section"], CHILDREN_MAP["section"]> { } interface SelectElement extends HTMLElement<"select", ATTRIBUTE_MAP["select"], CHILDREN_MAP["select"]> { } interface SlotElement extends HTMLElement<"slot", ATTRIBUTE_MAP["slot"], CHILDREN_MAP["slot"]> { } interface SmallElement extends HTMLElement<"small", ATTRIBUTE_MAP["small"], CHILDREN_MAP["small"]> { } interface SourceElement extends VoidHTMLElement<"source", ATTRIBUTE_MAP["source"]> { } interface SpanElement extends HTMLElement<"span", ATTRIBUTE_MAP["span"], CHILDREN_MAP["span"]> { } interface StrongElement extends HTMLElement<"strong", ATTRIBUTE_MAP["strong"], CHILDREN_MAP["strong"]> { } interface StyleElement extends HTMLElement<"style", ATTRIBUTE_MAP["style"], CHILDREN_MAP["style"]> { } interface SubElement extends HTMLElement<"sub", ATTRIBUTE_MAP["sub"], CHILDREN_MAP["sub"]> { } interface SummaryElement extends HTMLElement<"summary", ATTRIBUTE_MAP["summary"], CHILDREN_MAP["summary"]> { } interface SupElement extends HTMLElement<"sup", ATTRIBUTE_MAP["sup"], CHILDREN_MAP["sup"]> { } interface SvgElement extends HTMLElement<"svg", ATTRIBUTE_MAP["svg"], CHILDREN_MAP["svg"]> { } interface TableElement extends HTMLElement<"table", ATTRIBUTE_MAP["table"], CHILDREN_MAP["table"]> { } interface TbodyElement extends HTMLElement<"tbody", ATTRIBUTE_MAP["tbody"], CHILDREN_MAP["tbody"]> { } interface TdElement extends HTMLElement<"td", ATTRIBUTE_MAP["td"], CHILDREN_MAP["td"]> { } interface TemplateElement extends HTMLElement<"template", ATTRIBUTE_MAP["template"], CHILDREN_MAP["template"]> { } interface TextareaElement extends HTMLElement<"textarea", ATTRIBUTE_MAP["textarea"], CHILDREN_MAP["textarea"]> { } interface TfootElement extends HTMLElement<"tfoot", ATTRIBUTE_MAP["tfoot"], CHILDREN_MAP["tfoot"]> { } interface ThElement extends HTMLElement<"th", ATTRIBUTE_MAP["th"], CHILDREN_MAP["th"]> { } interface TheadElement extends HTMLElement<"thead", ATTRIBUTE_MAP["thead"], CHILDREN_MAP["thead"]> { } interface TimeElement extends HTMLElement<"time", ATTRIBUTE_MAP["time"], CHILDREN_MAP["time"]> { } interface TitleElement extends HTMLElement<"title", ATTRIBUTE_MAP["title"], CHILDREN_MAP["title"]> { } interface TrElement extends HTMLElement<"tr", ATTRIBUTE_MAP["tr"], CHILDREN_MAP["tr"]> { } interface TrackElement extends VoidHTMLElement<"track", ATTRIBUTE_MAP["track"]> { } interface UElement extends HTMLElement<"u", ATTRIBUTE_MAP["u"], CHILDREN_MAP["u"]> { } interface UlElement extends HTMLElement<"ul", ATTRIBUTE_MAP["ul"], CHILDREN_MAP["ul"]> { } interface VarElement extends HTMLElement<"var", ATTRIBUTE_MAP["var"], CHILDREN_MAP["var"]> { } interface VideoElement extends HTMLElement<"video", ATTRIBUTE_MAP["video"], CHILDREN_MAP["video"]> { } interface WbrElement extends VoidHTMLElement<"wbr", ATTRIBUTE_MAP["wbr"]> { } /** A type-safe representation of all HTML elements. */ export type ELEMENT_MAP = { /** A type-safe representation of the `` element. */ a: AElement; /** A type-safe representation of the `` element. */ abbr: AbbrElement; /** A type-safe representation of the `
` element. */ address: AddressElement; /** A type-safe representation of the `` element. */ area: AreaElement; /** A type-safe representation of the `
` element. */ article: ArticleElement; /** A type-safe representation of the `