export interface IntrinsicElements { a: JsxAElementProps; abbr: JsxHtmlGlobalProps; address: JsxHtmlGlobalProps; area: JsxAreaElementProps; article: JsxHtmlGlobalProps; aside: JsxHtmlGlobalProps; audio: JsxAudioElementProps; b: JsxHtmlGlobalProps; base: JsxBaseElementProps; bdi: JsxHtmlGlobalProps; bdo: JsxHtmlGlobalProps; blockquote: JsxBlockquoteElementProps; body: JsxHtmlGlobalProps; br: JsxBrElementProps; button: JsxButtonElementProps; canvas: JsxCanvasElementProps; caption: JsxHtmlGlobalProps; cite: JsxHtmlGlobalProps; code: JsxHtmlGlobalProps; col: JsxColElementProps; colgroup: JsxColgroupElementProps; data: JsxDataElementProps; datalist: JsxHtmlGlobalProps; dd: JsxHtmlGlobalProps; del: JsxDelElementProps; details: JsxDetailsElementProps; dfn: JsxHtmlGlobalProps; dialog: JsxDialogElementProps; div: JsxHtmlGlobalProps; dl: JsxHtmlGlobalProps; dt: JsxHtmlGlobalProps; em: JsxHtmlGlobalProps; embed: JsxEmbedElementProps; fieldset: JsxFieldsetElementProps; figcaption: JsxHtmlGlobalProps; figure: JsxHtmlGlobalProps; footer: JsxHtmlGlobalProps; form: JsxFormElementProps; h1: JsxFormElementProps; h2: JsxFormElementProps; h3: JsxFormElementProps; h4: JsxFormElementProps; h5: JsxFormElementProps; h6: JsxFormElementProps; head: JsxHtmlGlobalProps; header: JsxHtmlGlobalProps; hgroup: JsxHtmlGlobalProps; hr: JsxHtmlGlobalProps; html: JsxHtmlElementProps; i: JsxHtmlGlobalProps; iframe: JsxIframeElementProps; img: JsxImgElementProps; input: JsxInputElementProps; ins: JsxInsElementProps; kbd: JsxHtmlGlobalProps; label: JsxLabelElementProps; legend: JsxHtmlGlobalProps; li: JsxLiElementProps; link: JsxLinkElementProps; main: JsxHtmlGlobalProps; map: JsxMapElementProps; mark: JsxHtmlGlobalProps; meta: JsxMetaElementProps; meter: JsxMeterElementProps; nav: JsxHtmlGlobalProps; noscript: JsxHtmlGlobalProps; object: JsxObjectElementProps; ol: JsxOlElementProps; optgroup: JsxOptgroupElementProps; option: JsxOptionElementProps; output: JsxOutputElementProps; p: JsxHtmlGlobalProps; param: JsxParamElementProps; picture: JsxHtmlGlobalProps; portal: JsxPortalElementProps; pre: JsxHtmlGlobalProps; progress: JsxProgressElementProps; q: JsxQElementProps; rp: JsxHtmlGlobalProps; rt: JsxHtmlGlobalProps; ruby: JsxHtmlGlobalProps; s: JsxHtmlGlobalProps; samp: JsxHtmlGlobalProps; script: JsxScriptElementProps; section: JsxHtmlGlobalProps; select: JsxSelectElementProps; slot: JsxSlotElementProps; small: JsxHtmlGlobalProps; source: JsxSourceElementProps; span: JsxHtmlGlobalProps; strong: JsxHtmlGlobalProps; style: JsxStyleElementProps; sub: JsxHtmlGlobalProps; summary: JsxHtmlGlobalProps; sup: JsxHtmlGlobalProps; table: JsxHtmlGlobalProps; tbody: JsxHtmlGlobalProps; td: JsxTdElementProps; template: JsxHtmlGlobalProps; textarea: JsxTextareaElementProps; tfoot: JsxHtmlGlobalProps; th: JsxThElementProps; thead: JsxHtmlGlobalProps; time: JsxTimeElementProps; title: JsxHtmlGlobalProps; tr: JsxHtmlGlobalProps; track: JsxTrackElementProps; u: JsxHtmlGlobalProps; ul: JsxHtmlGlobalProps; var: JsxHtmlGlobalProps; video: JsxVideoElementProps; wbr: JsxHtmlGlobalProps; svg: JsxSvgElementProps; g: JsxGElementProps; path: JsxPathElementProps; rect: JsxRectElementProps; circle: JsxCircleElementProps; ellipse: JsxEllipseElementProps; polygon: JsxPolygonElementProps; polyline: JsxPolylineElementProps; line: JsxLineElementProps; use: JsxUseElementProps; text: JsxTextElementProps; } export declare const JsxFragment: unique symbol; export type JsxComponent

= (props: P) => JsxElement | null | undefined; export interface JsxElement { tag: typeof JsxFragment | string | JsxComponent; props: object | null; children: JsxChildren[]; } export type JsxChildren = JsxElement | string | number | null | undefined | JsxChildren[]; /** * The common properties that may appear on any HTML element. * * Reference: https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes#list_of_global_attributes */ export interface JsxHtmlGlobalProps { accessKey?: string; autocapitalize?: string; children?: JsxChildren; class?: string; contentEditable?: string; [data: `data-${string}`]: string; dir?: string; draggable?: boolean; enterKeyHint?: string; hidden?: boolean; id?: string; inputMode?: string; is?: string; itemId?: string; itemProp?: string; itemRef?: string; itemScope?: string; itemType?: string; lang?: string; nonce?: string; part?: string; role?: string; slot?: string; spellcheck?: boolean; style?: string; tabIndex?: number; title?: string; translate?: boolean; } /** * Properties permitted on the `` element. * * Reference: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a */ export interface JsxAElementProps extends JsxHtmlGlobalProps { download?: string; href?: string; hreflang?: string; ping?: string; referrerPolicy?: string; rel?: string; target?: string; type?: string; } /** * Properties permitted on the `` element. * * Reference: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/area */ export interface JsxAreaElementProps extends JsxHtmlGlobalProps { alt?: string; coords?: string; download?: string; href?: string; hreflang?: string; ping?: string; referrerPolicy?: string; rel?: string; shape?: "rect" | "circle" | "poly" | "default"; target?: "_self" | "_blank" | "_parent" | "_top"; } /** * Properties permitted on the `

` element. * * Reference: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/blockquote */ export interface JsxBlockquoteElementProps extends JsxHtmlGlobalProps { cite?: string; } /** * Properties permitted on the `
` element. * * Reference: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/br */ export interface JsxBrElementProps extends JsxHtmlGlobalProps { clear?: string; } /** * Properties permitted on the `