import { Context, Data, Option, Stream } from 'effect'; import type { File } from '../file/index.js'; import type { MountAction } from '../mount/index.js'; import { VNode } from '../vdom.js'; import { type ChildAttribute } from './childAttribute.js'; import { type DispatchSync } from './runtimeSingleton.js'; export { createKeyedLazy, createLazy } from './lazy.js'; export { beginRender as __beginRender, createBoundaryRegistry as __createBoundaryRegistry, } from './boundary.js'; export type { BoundaryRegistry } from './boundary.js'; export { childAttributes } from './childAttribute.js'; export type { ChildAttribute } from './childAttribute.js'; export { defineView, submodel } from './submodel.js'; export type { SubmodelConfig, SubmodelView } from './submodel.js'; /** Pushes a dispatch and runtime context frame for the duration of a render. * The runtime calls this immediately before invoking a user `view` and * matches it with {@link __clearRuntime} in a `finally` so an exception * inside view code does not leak the frame to the next render. Test * scaffolding that builds VNodes outside of a real program (Scene, Canvas * view-only tests, Mount tests) uses the same pair. Nested frames are * supported via an internal stack. */ export declare const __setRuntime: (dispatch: DispatchSync, runtimeContext: Context.Context, boundaryRegistry?: import("./boundary.js").BoundaryRegistry) => void; /** Pops the current dispatch and runtime context frame. Must be paired with a * prior {@link __setRuntime} on the same call stack. */ export declare const __clearRuntime: () => void; /** Returns the current dispatch function. Foldkit's `Canvas.view` reads this * to build its synchronous pointer handlers, since it builds VNodes directly * rather than going through the html factory. Most application code never * needs to call this. */ export declare const __requireDispatch: () => DispatchSync; /** * The `id` of the DOM element that hosts the Foldkit DevTools shadow root. * Defined here (not in `devTools/`) because the `OnBlur` handler below uses it * to suppress blur Messages whose `relatedTarget` is this host (i.e. when * focus crosses into the DevTools UI). Surfaced publicly through * `foldkit/devtools-host` (not `foldkit/html`); the DevTools overlay imports it * from there when creating the host element, so the two stay in sync. */ export declare const DEVTOOLS_HOST_ID = "foldkit-devtools"; /** * Tag symbol attached to file-aware event handler functions so Scene test * helpers can distinguish `OnFileChange` from `OnChange` (both register on * the DOM `change` event) and `OnDropFiles` from `OnDrop` (both register on * the DOM `drop` event). Internal implementation detail. Consumer code * should never need to reference this directly. */ export declare const FileHandlerSymbol: unique symbol; /** Type-level brand for file-aware event handler tags. */ export type FileHandlerSymbol = typeof FileHandlerSymbol; /** Modifier key state extracted from a `KeyboardEvent`. */ export type KeyboardModifiers = Readonly<{ shiftKey: boolean; ctrlKey: boolean; altKey: boolean; metaKey: boolean; }>; /** A virtual DOM element. Constructed synchronously by the element factories * returned from {@link html}. The runtime patches a `VNode` (or `null` to * render nothing) into the application container. */ export type Html = VNode | null; export type Child = Html | string; /** A view's complete output for the runtime: title, body, and optional document * metadata. The runtime applies `title` to `document.title`, syncs `canonical` * to `` (creating it if absent), syncs `ogUrl` to * `` (creating it if absent), and patches `body` into * the application container. * * When `canonical` is omitted, it defaults to the current URL (origin + * pathname + search). When `ogUrl` is omitted, it falls back to `canonical`. * * This is the return type of a `makeApplication` view, which owns the document. An * app embedded at a node should use `makeElement` instead, whose view returns * `Html` and never touches the ``. */ export type Document = Readonly<{ title: string; canonical?: string; ogUrl?: string; body: Html; }>; /** Union of all valid HTML, SVG, and MathML tag names. */ export type TagName = 'a' | 'abbr' | 'address' | 'area' | 'article' | 'aside' | 'audio' | 'b' | 'base' | 'bdi' | 'bdo' | 'blockquote' | 'body' | 'br' | 'button' | 'canvas' | 'caption' | 'cite' | 'code' | 'col' | 'colgroup' | 'data' | 'datalist' | 'dd' | 'del' | 'details' | 'dfn' | 'dialog' | 'div' | 'dl' | 'dt' | 'em' | 'embed' | 'fieldset' | 'figcaption' | 'figure' | 'footer' | 'form' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'head' | 'header' | 'hgroup' | 'hr' | 'html' | 'i' | 'iframe' | 'img' | 'input' | 'ins' | 'kbd' | 'label' | 'legend' | 'li' | 'link' | 'main' | 'map' | 'mark' | 'menu' | 'meta' | 'meter' | 'nav' | 'noscript' | 'object' | 'ol' | 'optgroup' | 'option' | 'output' | 'p' | 'picture' | 'portal' | 'pre' | 'progress' | 'q' | 'rp' | 'rt' | 'ruby' | 's' | 'samp' | 'script' | 'search' | 'section' | 'select' | 'slot' | 'small' | 'source' | 'span' | 'strong' | 'style' | 'sub' | 'summary' | 'sup' | 'table' | 'tbody' | 'td' | 'template' | 'textarea' | 'tfoot' | 'th' | 'thead' | 'time' | 'title' | 'tr' | 'track' | 'u' | 'ul' | 'var' | 'video' | 'wbr' | 'animate' | 'animateMotion' | 'animateTransform' | 'circle' | 'clipPath' | 'defs' | 'desc' | 'ellipse' | 'feBlend' | 'feColorMatrix' | 'feComponentTransfer' | 'feComposite' | 'feConvolveMatrix' | 'feDiffuseLighting' | 'feDisplacementMap' | 'feDistantLight' | 'feDropShadow' | 'feFlood' | 'feFuncA' | 'feFuncB' | 'feFuncG' | 'feFuncR' | 'feGaussianBlur' | 'feImage' | 'feMerge' | 'feMergeNode' | 'feMorphology' | 'feOffset' | 'fePointLight' | 'feSpecularLighting' | 'feSpotLight' | 'feTile' | 'feTurbulence' | 'filter' | 'foreignObject' | 'g' | 'image' | 'line' | 'linearGradient' | 'marker' | 'mask' | 'metadata' | 'mpath' | 'path' | 'pattern' | 'polygon' | 'polyline' | 'radialGradient' | 'rect' | 'set' | 'stop' | 'svg' | 'switch' | 'symbol' | 'text' | 'textPath' | 'tspan' | 'use' | 'view' | 'annotation' | 'annotation-xml' | 'math' | 'maction' | 'menclose' | 'merror' | 'mfenced' | 'mfrac' | 'mglyph' | 'mi' | 'mlabeledtr' | 'mlongdiv' | 'mmultiscripts' | 'mn' | 'mo' | 'mover' | 'mpadded' | 'mphantom' | 'mprescripts' | 'mroot' | 'mrow' | 'ms' | 'mscarries' | 'mscarry' | 'msgroup' | 'msline' | 'mspace' | 'msqrt' | 'msrow' | 'mstack' | 'mstyle' | 'msub' | 'msubsup' | 'msup' | 'mtable' | 'mtd' | 'mtext' | 'mtr' | 'munder' | 'munderover' | 'semantics'; /** Key under which the OnMount attribute stamps a `{ name }` marker on the * snabbdom `VNodeData`. Snabbdom passes unknown data fields through without * rendering them to the DOM, so the marker is invisible at runtime but * observable by VNode walkers (Scene tests). */ export declare const FOLDKIT_MOUNT_KEY: "foldkitMount"; /** Marker stamped on `VNodeData[FOLDKIT_MOUNT_KEY]` for any element with an * `OnMount` attribute. Carries the Mount Definition's name so test * introspection can identify pending mounts. */ export type FoldkitMountMarker = Readonly<{ name: string; args?: Record; }>; /** Union of all HTML, SVG, and MathML attributes a virtual DOM element can carry. * * When a Submodel publishes attribute groups to a consumer's `toView` * slot, those attributes are wrapped via {@link childAttributes} into * {@link ChildAttribute}, a distinct type that carries the Submodel's * own dispatcher. Element constructors accept the union * `ReadonlyArray | ChildAttribute>`, so consumers * can spread published bundles directly into their own attribute * arrays. */ export type Attribute = Data.TaggedEnum<{ Key: { readonly value: string; }; Class: { readonly value: string; }; Id: { readonly value: string; }; Title: { readonly value: string; }; Lang: { readonly value: string; }; Dir: { readonly value: string; }; Tabindex: { readonly value: number; }; Hidden: { readonly value: boolean; }; Contenteditable: { readonly value: string; }; Draggable: { readonly value: boolean; }; Accesskey: { readonly value: string; }; Translate: { readonly value: string; }; Inert: { readonly value: boolean; }; Popover: { readonly value: string; }; Popovertarget: { readonly value: string; }; Popovertargetaction: { readonly value: string; }; OnClick: { readonly message: Message; }; OnClickFocus: { readonly focusSelector: string; readonly message: Message; }; OnDoubleClick: { readonly message: Message; }; OnMouseDown: { readonly message: Message; }; OnMouseUp: { readonly message: Message; }; OnMouseEnter: { readonly message: Message; }; OnMouseLeave: { readonly message: Message; }; OnMouseOver: { readonly message: Message; }; OnMouseOut: { readonly message: Message; }; OnMouseMove: { readonly message: Message; }; OnPointerMove: { readonly f: (screenX: number, screenY: number, pointerType: string) => Option.Option; }; OnPointerLeave: { readonly f: (pointerType: string) => Option.Option; }; OnPointerDown: { readonly f: (pointerType: string, button: number, screenX: number, screenY: number, timeStamp: number, clientX: number, clientY: number) => Option.Option; }; OnPointerUp: { readonly f: (screenX: number, screenY: number, pointerType: string, timeStamp: number) => Option.Option; }; OnKeyDown: { readonly f: (key: string, modifiers: KeyboardModifiers) => Message; }; OnKeyDownPreventDefault: { readonly f: (key: string, modifiers: KeyboardModifiers) => Option.Option; }; OnKeyUp: { readonly f: (key: string, modifiers: KeyboardModifiers) => Message; }; OnKeyUpPreventDefault: { readonly f: (key: string, modifiers: KeyboardModifiers) => Option.Option; }; OnKeyPress: { readonly f: (key: string, modifiers: KeyboardModifiers) => Message; }; OnFocus: { readonly message: Message; }; OnBlur: { readonly message: Message; }; OnInput: { readonly f: (value: string) => Message; }; OnChange: { readonly f: (value: string) => Message; }; OnFileChange: { readonly f: (files: ReadonlyArray) => Message; }; OnSubmit: { readonly message: Message; }; OnReset: { readonly message: Message; }; OnScroll: { readonly f: (scrollTop: number) => Message; }; OnWheel: { readonly message: Message; }; OnCopy: { readonly message: Message; }; OnCut: { readonly message: Message; }; OnPaste: { readonly message: Message; }; OnPastePreventDefault: { readonly f: (text: string) => Option.Option; }; OnCopyText: { readonly text: string; }; OnCutText: { readonly text: string; readonly message: Message; }; OnCancel: { readonly message: Message; }; OnToggle: { readonly f: (isOpen: boolean) => Message; }; OnContextMenu: { readonly message: Message; }; OnDragStart: { readonly message: Message; }; OnDrag: { readonly message: Message; }; OnDragEnd: { readonly message: Message; }; OnDragEnter: { readonly message: Message; }; OnDragLeave: { readonly message: Message; }; OnDragOver: { readonly message: Message; }; AllowDrop: {}; OnDrop: { readonly message: Message; }; OnDropFiles: { readonly f: (files: ReadonlyArray) => Message; }; OnTouchStart: { readonly message: Message; }; OnTouchEnd: { readonly message: Message; }; OnTouchMove: { readonly message: Message; }; OnTouchCancel: { readonly message: Message; }; OnAnimationStart: { readonly message: Message; }; OnAnimationEnd: { readonly message: Message; }; OnAnimationIteration: { readonly message: Message; }; OnTransitionEnd: { readonly message: Message; }; OnLoad: { readonly message: Message; }; OnError: { readonly message: Message; }; OnPlay: { readonly message: Message; }; OnPause: { readonly message: Message; }; OnEnded: { readonly message: Message; }; OnTimeUpdate: { readonly message: Message; }; OnVolumeChange: { readonly message: Message; }; OnSelect: { readonly message: Message; }; Value: { readonly value: string; }; Checked: { readonly value: boolean; }; Selected: { readonly value: boolean; }; Open: { readonly value: boolean; }; Placeholder: { readonly value: string; }; Name: { readonly value: string; }; Disabled: { readonly value: boolean; }; Readonly: { readonly value: boolean; }; Required: { readonly value: boolean; }; Autofocus: { readonly value: boolean; }; Spellcheck: { readonly value: boolean; }; Autocorrect: { readonly value: string; }; Autocapitalize: { readonly value: string; }; InputMode: { readonly value: string; }; EnterKeyHint: { readonly value: string; }; Multiple: { readonly value: boolean; }; Type: { readonly value: string; }; Accept: { readonly value: string; }; Autocomplete: { readonly value: string; }; Pattern: { readonly value: string; }; Maxlength: { readonly value: number; }; Minlength: { readonly value: number; }; Size: { readonly value: number; }; Cols: { readonly value: number; }; Rows: { readonly value: number; }; Max: { readonly value: string; }; Min: { readonly value: string; }; Step: { readonly value: string; }; For: { readonly value: string; }; Href: { readonly value: string; }; Src: { readonly value: string; }; Alt: { readonly value: string; }; Target: { readonly value: string; }; Rel: { readonly value: string; }; Download: { readonly value: string; }; Action: { readonly value: string; }; Method: { readonly value: string; }; Enctype: { readonly value: string; }; Novalidate: { readonly value: boolean; }; Formaction: { readonly value: string; }; Formmethod: { readonly value: string; }; Formnovalidate: { readonly value: boolean; }; Formtarget: { readonly value: string; }; Formenctype: { readonly value: string; }; Colspan: { readonly value: number; }; Rowspan: { readonly value: number; }; Scope: { readonly value: string; }; Headers: { readonly value: string; }; Span: { readonly value: number; }; Start: { readonly value: number; }; Reversed: { readonly value: boolean; }; CiteAttr: { readonly value: string; }; Datetime: { readonly value: string; }; Wrap: { readonly value: string; }; List: { readonly value: string; }; FormAttr: { readonly value: string; }; LabelAttr: { readonly value: string; }; ContentAttr: { readonly value: string; }; Charset: { readonly value: string; }; HttpEquiv: { readonly value: string; }; Srcset: { readonly value: string; }; Sizes: { readonly value: string; }; Loading: { readonly value: string; }; Decoding: { readonly value: string; }; Fetchpriority: { readonly value: string; }; Crossorigin: { readonly value: string; }; Referrerpolicy: { readonly value: string; }; Integrity: { readonly value: string; }; Hreflang: { readonly value: string; }; Ping: { readonly value: string; }; Sandbox: { readonly value: string; }; Allow: { readonly value: string; }; Srcdoc: { readonly value: string; }; Autoplay: { readonly value: boolean; }; Controls: { readonly value: boolean; }; Loop: { readonly value: boolean; }; Muted: { readonly value: boolean; }; Poster: { readonly value: string; }; Preload: { readonly value: string; }; Playsinline: { readonly value: boolean; }; High: { readonly value: number; }; Low: { readonly value: number; }; Optimum: { readonly value: number; }; Usemap: { readonly value: string; }; Ismap: { readonly value: boolean; }; Role: { readonly value: string; }; AriaLabel: { readonly value: string; }; AriaLabelledBy: { readonly value: string; }; AriaDescribedBy: { readonly value: string; }; AriaHidden: { readonly value: boolean; }; AriaExpanded: { readonly value: boolean; }; AriaSelected: { readonly value: boolean; }; AriaChecked: { readonly value: boolean | 'mixed'; }; AriaDisabled: { readonly value: boolean; }; AriaRequired: { readonly value: boolean; }; AriaInvalid: { readonly value: boolean; }; AriaLive: { readonly value: string; }; AriaControls: { readonly value: string; }; AriaCurrent: { readonly value: string; }; AriaOrientation: { readonly value: string; }; AriaPressed: { readonly value: string; }; AriaHasPopup: { readonly value: string; }; AriaActiveDescendant: { readonly value: string; }; AriaSort: { readonly value: string; }; AriaMultiSelectable: { readonly value: boolean; }; AriaModal: { readonly value: boolean; }; AriaBusy: { readonly value: boolean; }; AriaErrorMessage: { readonly value: string; }; AriaRoleDescription: { readonly value: string; }; AriaAtomic: { readonly value: boolean; }; AriaAutocomplete: { readonly value: string; }; AriaColcount: { readonly value: number; }; AriaColindex: { readonly value: number; }; AriaColspan: { readonly value: number; }; AriaDescription: { readonly value: string; }; AriaDetails: { readonly value: string; }; AriaFlowto: { readonly value: string; }; AriaKeyshortcuts: { readonly value: string; }; AriaLevel: { readonly value: number; }; AriaOwns: { readonly value: string; }; AriaPlaceholder: { readonly value: string; }; AriaPosinset: { readonly value: number; }; AriaReadonly: { readonly value: boolean; }; AriaRelevant: { readonly value: string; }; AriaRowcount: { readonly value: number; }; AriaRowindex: { readonly value: number; }; AriaRowspan: { readonly value: number; }; AriaSetsize: { readonly value: number; }; AriaValuemax: { readonly value: number; }; AriaValuemin: { readonly value: number; }; AriaValuenow: { readonly value: number; }; AriaValuetext: { readonly value: string; }; Attribute: { readonly key: string; readonly value: string; }; DataAttribute: { readonly key: string; readonly value: string; }; Style: { readonly value: Record; }; InnerHTML: { readonly value: string; }; ViewBox: { readonly value: string; }; Xmlns: { readonly value: string; }; Fill: { readonly value: string; }; FillRule: { readonly value: string; }; ClipRule: { readonly value: string; }; Stroke: { readonly value: string; }; StrokeWidth: { readonly value: string; }; StrokeLinecap: { readonly value: string; }; StrokeLinejoin: { readonly value: string; }; D: { readonly value: string; }; Cx: { readonly value: string; }; Cy: { readonly value: string; }; R: { readonly value: string; }; X: { readonly value: string; }; Y: { readonly value: string; }; Width: { readonly value: string; }; Height: { readonly value: string; }; X1: { readonly value: string; }; Y1: { readonly value: string; }; X2: { readonly value: string; }; Y2: { readonly value: string; }; Points: { readonly value: string; }; Transform: { readonly value: string; }; Opacity: { readonly value: string; }; StrokeDasharray: { readonly value: string; }; StrokeDashoffset: { readonly value: string; }; Prop: { readonly key: string; readonly value: unknown; }; OnCustomEvent: { readonly name: string; readonly f: (event: CustomEvent) => Message; }; OnMount: { readonly action: MountAction; }; }>; declare const Prop: (args: { readonly key: string; readonly value: unknown; }) => { readonly _tag: "Prop"; readonly key: string; readonly value: unknown; }, OnCustomEvent: (args: { readonly name: string; readonly f: (event: CustomEvent) => A; }) => { readonly _tag: "OnCustomEvent"; readonly name: string; readonly f: (event: CustomEvent) => A; }; export { Prop, OnCustomEvent }; export declare const customElement: () => (tagName: string) => (attributes?: ReadonlyArray | ChildAttribute>, children?: ReadonlyArray) => Html; type ElementFunction = (attributes: ReadonlyArray | ChildAttribute>, children: ReadonlyArray) => Html; type VoidElementFunction = (attributes: ReadonlyArray | ChildAttribute>) => Html; declare const buildHtmlFactory: () => { empty: null; keyed: (tagName: TagName) => (key: string, attributes?: readonly (Readonly<{ readonly attribute: unknown; readonly dispatch: DispatchSync; readonly __childAttribute: true; }> | { readonly _tag: "Type"; readonly value: string; } | { readonly _tag: "Start"; readonly value: number; } | { readonly _tag: "OnFileChange"; readonly f: (files: ReadonlyArray) => Message; } | { readonly _tag: "OnDropFiles"; readonly f: (files: ReadonlyArray) => Message; } | { readonly _tag: "Key"; readonly value: string; } | { readonly _tag: "Class"; readonly value: string; } | { readonly _tag: "Id"; readonly value: string; } | { readonly _tag: "Title"; readonly value: string; } | { readonly _tag: "Lang"; readonly value: string; } | { readonly _tag: "Dir"; readonly value: string; } | { readonly _tag: "Tabindex"; readonly value: number; } | { readonly _tag: "Hidden"; readonly value: boolean; } | { readonly _tag: "Contenteditable"; readonly value: string; } | { readonly _tag: "Draggable"; readonly value: boolean; } | { readonly _tag: "Accesskey"; readonly value: string; } | { readonly _tag: "Translate"; readonly value: string; } | { readonly _tag: "Inert"; readonly value: boolean; } | { readonly _tag: "Popover"; readonly value: string; } | { readonly _tag: "Popovertarget"; readonly value: string; } | { readonly _tag: "Popovertargetaction"; readonly value: string; } | { readonly _tag: "OnClick"; readonly message: Message; } | { readonly _tag: "OnClickFocus"; readonly focusSelector: string; readonly message: Message; } | { readonly _tag: "OnDoubleClick"; readonly message: Message; } | { readonly _tag: "OnMouseDown"; readonly message: Message; } | { readonly _tag: "OnMouseUp"; readonly message: Message; } | { readonly _tag: "OnMouseEnter"; readonly message: Message; } | { readonly _tag: "OnMouseLeave"; readonly message: Message; } | { readonly _tag: "OnMouseOver"; readonly message: Message; } | { readonly _tag: "OnMouseOut"; readonly message: Message; } | { readonly _tag: "OnMouseMove"; readonly message: Message; } | { readonly _tag: "OnPointerMove"; readonly f: (screenX: number, screenY: number, pointerType: string) => Option.Option; } | { readonly _tag: "OnPointerLeave"; readonly f: (pointerType: string) => Option.Option; } | { readonly _tag: "OnPointerDown"; readonly f: (pointerType: string, button: number, screenX: number, screenY: number, timeStamp: number, clientX: number, clientY: number) => Option.Option; } | { readonly _tag: "OnPointerUp"; readonly f: (screenX: number, screenY: number, pointerType: string, timeStamp: number) => Option.Option; } | { readonly _tag: "OnKeyDown"; readonly f: (key: string, modifiers: Readonly<{ shiftKey: boolean; ctrlKey: boolean; altKey: boolean; metaKey: boolean; }>) => Message; } | { readonly _tag: "OnKeyDownPreventDefault"; readonly f: (key: string, modifiers: Readonly<{ shiftKey: boolean; ctrlKey: boolean; altKey: boolean; metaKey: boolean; }>) => Option.Option; } | { readonly _tag: "OnKeyUp"; readonly f: (key: string, modifiers: Readonly<{ shiftKey: boolean; ctrlKey: boolean; altKey: boolean; metaKey: boolean; }>) => Message; } | { readonly _tag: "OnKeyUpPreventDefault"; readonly f: (key: string, modifiers: Readonly<{ shiftKey: boolean; ctrlKey: boolean; altKey: boolean; metaKey: boolean; }>) => Option.Option; } | { readonly _tag: "OnKeyPress"; readonly f: (key: string, modifiers: Readonly<{ shiftKey: boolean; ctrlKey: boolean; altKey: boolean; metaKey: boolean; }>) => Message; } | { readonly _tag: "OnFocus"; readonly message: Message; } | { readonly _tag: "OnBlur"; readonly message: Message; } | { readonly _tag: "OnInput"; readonly f: (value: string) => Message; } | { readonly _tag: "OnChange"; readonly f: (value: string) => Message; } | { readonly _tag: "OnSubmit"; readonly message: Message; } | { readonly _tag: "OnReset"; readonly message: Message; } | { readonly _tag: "OnScroll"; readonly f: (scrollTop: number) => Message; } | { readonly _tag: "OnWheel"; readonly message: Message; } | { readonly _tag: "OnCopy"; readonly message: Message; } | { readonly _tag: "OnCut"; readonly message: Message; } | { readonly _tag: "OnPaste"; readonly message: Message; } | { readonly _tag: "OnPastePreventDefault"; readonly f: (text: string) => Option.Option; } | { readonly _tag: "OnCopyText"; readonly text: string; } | { readonly _tag: "OnCutText"; readonly text: string; readonly message: Message; } | { readonly _tag: "OnCancel"; readonly message: Message; } | { readonly _tag: "OnToggle"; readonly f: (isOpen: boolean) => Message; } | { readonly _tag: "OnContextMenu"; readonly message: Message; } | { readonly _tag: "OnDragStart"; readonly message: Message; } | { readonly _tag: "OnDrag"; readonly message: Message; } | { readonly _tag: "OnDragEnd"; readonly message: Message; } | { readonly _tag: "OnDragEnter"; readonly message: Message; } | { readonly _tag: "OnDragLeave"; readonly message: Message; } | { readonly _tag: "OnDragOver"; readonly message: Message; } | { readonly _tag: "AllowDrop"; } | { readonly _tag: "OnDrop"; readonly message: Message; } | { readonly _tag: "OnTouchStart"; readonly message: Message; } | { readonly _tag: "OnTouchEnd"; readonly message: Message; } | { readonly _tag: "OnTouchMove"; readonly message: Message; } | { readonly _tag: "OnTouchCancel"; readonly message: Message; } | { readonly _tag: "OnAnimationStart"; readonly message: Message; } | { readonly _tag: "OnAnimationEnd"; readonly message: Message; } | { readonly _tag: "OnAnimationIteration"; readonly message: Message; } | { readonly _tag: "OnTransitionEnd"; readonly message: Message; } | { readonly _tag: "OnLoad"; readonly message: Message; } | { readonly _tag: "OnError"; readonly message: Message; } | { readonly _tag: "OnPlay"; readonly message: Message; } | { readonly _tag: "OnPause"; readonly message: Message; } | { readonly _tag: "OnEnded"; readonly message: Message; } | { readonly _tag: "OnTimeUpdate"; readonly message: Message; } | { readonly _tag: "OnVolumeChange"; readonly message: Message; } | { readonly _tag: "OnSelect"; readonly message: Message; } | { readonly _tag: "Value"; readonly value: string; } | { readonly _tag: "Checked"; readonly value: boolean; } | { readonly _tag: "Selected"; readonly value: boolean; } | { readonly _tag: "Open"; readonly value: boolean; } | { readonly _tag: "Placeholder"; readonly value: string; } | { readonly _tag: "Name"; readonly value: string; } | { readonly _tag: "Disabled"; readonly value: boolean; } | { readonly _tag: "Readonly"; readonly value: boolean; } | { readonly _tag: "Required"; readonly value: boolean; } | { readonly _tag: "Autofocus"; readonly value: boolean; } | { readonly _tag: "Spellcheck"; readonly value: boolean; } | { readonly _tag: "Autocorrect"; readonly value: string; } | { readonly _tag: "Autocapitalize"; readonly value: string; } | { readonly _tag: "InputMode"; readonly value: string; } | { readonly _tag: "EnterKeyHint"; readonly value: string; } | { readonly _tag: "Multiple"; readonly value: boolean; } | { readonly _tag: "Accept"; readonly value: string; } | { readonly _tag: "Autocomplete"; readonly value: string; } | { readonly _tag: "Pattern"; readonly value: string; } | { readonly _tag: "Maxlength"; readonly value: number; } | { readonly _tag: "Minlength"; readonly value: number; } | { readonly _tag: "Size"; readonly value: number; } | { readonly _tag: "Cols"; readonly value: number; } | { readonly _tag: "Rows"; readonly value: number; } | { readonly _tag: "Max"; readonly value: string; } | { readonly _tag: "Min"; readonly value: string; } | { readonly _tag: "Step"; readonly value: string; } | { readonly _tag: "For"; readonly value: string; } | { readonly _tag: "Href"; readonly value: string; } | { readonly _tag: "Src"; readonly value: string; } | { readonly _tag: "Alt"; readonly value: string; } | { readonly _tag: "Target"; readonly value: string; } | { readonly _tag: "Rel"; readonly value: string; } | { readonly _tag: "Download"; readonly value: string; } | { readonly _tag: "Action"; readonly value: string; } | { readonly _tag: "Method"; readonly value: string; } | { readonly _tag: "Enctype"; readonly value: string; } | { readonly _tag: "Novalidate"; readonly value: boolean; } | { readonly _tag: "Formaction"; readonly value: string; } | { readonly _tag: "Formmethod"; readonly value: string; } | { readonly _tag: "Formnovalidate"; readonly value: boolean; } | { readonly _tag: "Formtarget"; readonly value: string; } | { readonly _tag: "Formenctype"; readonly value: string; } | { readonly _tag: "Colspan"; readonly value: number; } | { readonly _tag: "Rowspan"; readonly value: number; } | { readonly _tag: "Scope"; readonly value: string; } | { readonly _tag: "Headers"; readonly value: string; } | { readonly _tag: "Span"; readonly value: number; } | { readonly _tag: "Reversed"; readonly value: boolean; } | { readonly _tag: "CiteAttr"; readonly value: string; } | { readonly _tag: "Datetime"; readonly value: string; } | { readonly _tag: "Wrap"; readonly value: string; } | { readonly _tag: "List"; readonly value: string; } | { readonly _tag: "FormAttr"; readonly value: string; } | { readonly _tag: "LabelAttr"; readonly value: string; } | { readonly _tag: "ContentAttr"; readonly value: string; } | { readonly _tag: "Charset"; readonly value: string; } | { readonly _tag: "HttpEquiv"; readonly value: string; } | { readonly _tag: "Srcset"; readonly value: string; } | { readonly _tag: "Sizes"; readonly value: string; } | { readonly _tag: "Loading"; readonly value: string; } | { readonly _tag: "Decoding"; readonly value: string; } | { readonly _tag: "Fetchpriority"; readonly value: string; } | { readonly _tag: "Crossorigin"; readonly value: string; } | { readonly _tag: "Referrerpolicy"; readonly value: string; } | { readonly _tag: "Integrity"; readonly value: string; } | { readonly _tag: "Hreflang"; readonly value: string; } | { readonly _tag: "Ping"; readonly value: string; } | { readonly _tag: "Sandbox"; readonly value: string; } | { readonly _tag: "Allow"; readonly value: string; } | { readonly _tag: "Srcdoc"; readonly value: string; } | { readonly _tag: "Autoplay"; readonly value: boolean; } | { readonly _tag: "Controls"; readonly value: boolean; } | { readonly _tag: "Loop"; readonly value: boolean; } | { readonly _tag: "Muted"; readonly value: boolean; } | { readonly _tag: "Poster"; readonly value: string; } | { readonly _tag: "Preload"; readonly value: string; } | { readonly _tag: "Playsinline"; readonly value: boolean; } | { readonly _tag: "High"; readonly value: number; } | { readonly _tag: "Low"; readonly value: number; } | { readonly _tag: "Optimum"; readonly value: number; } | { readonly _tag: "Usemap"; readonly value: string; } | { readonly _tag: "Ismap"; readonly value: boolean; } | { readonly _tag: "Role"; readonly value: string; } | { readonly _tag: "AriaLabel"; readonly value: string; } | { readonly _tag: "AriaLabelledBy"; readonly value: string; } | { readonly _tag: "AriaDescribedBy"; readonly value: string; } | { readonly _tag: "AriaHidden"; readonly value: boolean; } | { readonly _tag: "AriaExpanded"; readonly value: boolean; } | { readonly _tag: "AriaSelected"; readonly value: boolean; } | { readonly _tag: "AriaChecked"; readonly value: boolean | "mixed"; } | { readonly _tag: "AriaDisabled"; readonly value: boolean; } | { readonly _tag: "AriaRequired"; readonly value: boolean; } | { readonly _tag: "AriaInvalid"; readonly value: boolean; } | { readonly _tag: "AriaLive"; readonly value: string; } | { readonly _tag: "AriaControls"; readonly value: string; } | { readonly _tag: "AriaCurrent"; readonly value: string; } | { readonly _tag: "AriaOrientation"; readonly value: string; } | { readonly _tag: "AriaPressed"; readonly value: string; } | { readonly _tag: "AriaHasPopup"; readonly value: string; } | { readonly _tag: "AriaActiveDescendant"; readonly value: string; } | { readonly _tag: "AriaSort"; readonly value: string; } | { readonly _tag: "AriaMultiSelectable"; readonly value: boolean; } | { readonly _tag: "AriaModal"; readonly value: boolean; } | { readonly _tag: "AriaBusy"; readonly value: boolean; } | { readonly _tag: "AriaErrorMessage"; readonly value: string; } | { readonly _tag: "AriaRoleDescription"; readonly value: string; } | { readonly _tag: "AriaAtomic"; readonly value: boolean; } | { readonly _tag: "AriaAutocomplete"; readonly value: string; } | { readonly _tag: "AriaColcount"; readonly value: number; } | { readonly _tag: "AriaColindex"; readonly value: number; } | { readonly _tag: "AriaColspan"; readonly value: number; } | { readonly _tag: "AriaDescription"; readonly value: string; } | { readonly _tag: "AriaDetails"; readonly value: string; } | { readonly _tag: "AriaFlowto"; readonly value: string; } | { readonly _tag: "AriaKeyshortcuts"; readonly value: string; } | { readonly _tag: "AriaLevel"; readonly value: number; } | { readonly _tag: "AriaOwns"; readonly value: string; } | { readonly _tag: "AriaPlaceholder"; readonly value: string; } | { readonly _tag: "AriaPosinset"; readonly value: number; } | { readonly _tag: "AriaReadonly"; readonly value: boolean; } | { readonly _tag: "AriaRelevant"; readonly value: string; } | { readonly _tag: "AriaRowcount"; readonly value: number; } | { readonly _tag: "AriaRowindex"; readonly value: number; } | { readonly _tag: "AriaRowspan"; readonly value: number; } | { readonly _tag: "AriaSetsize"; readonly value: number; } | { readonly _tag: "AriaValuemax"; readonly value: number; } | { readonly _tag: "AriaValuemin"; readonly value: number; } | { readonly _tag: "AriaValuenow"; readonly value: number; } | { readonly _tag: "AriaValuetext"; readonly value: string; } | { readonly _tag: "Attribute"; readonly key: string; readonly value: string; } | { readonly _tag: "DataAttribute"; readonly key: string; readonly value: string; } | { readonly _tag: "Style"; readonly value: Record; } | { readonly _tag: "InnerHTML"; readonly value: string; } | { readonly _tag: "ViewBox"; readonly value: string; } | { readonly _tag: "Xmlns"; readonly value: string; } | { readonly _tag: "Fill"; readonly value: string; } | { readonly _tag: "FillRule"; readonly value: string; } | { readonly _tag: "ClipRule"; readonly value: string; } | { readonly _tag: "Stroke"; readonly value: string; } | { readonly _tag: "StrokeWidth"; readonly value: string; } | { readonly _tag: "StrokeLinecap"; readonly value: string; } | { readonly _tag: "StrokeLinejoin"; readonly value: string; } | { readonly _tag: "D"; readonly value: string; } | { readonly _tag: "Cx"; readonly value: string; } | { readonly _tag: "Cy"; readonly value: string; } | { readonly _tag: "R"; readonly value: string; } | { readonly _tag: "X"; readonly value: string; } | { readonly _tag: "Y"; readonly value: string; } | { readonly _tag: "Width"; readonly value: string; } | { readonly _tag: "Height"; readonly value: string; } | { readonly _tag: "X1"; readonly value: string; } | { readonly _tag: "Y1"; readonly value: string; } | { readonly _tag: "X2"; readonly value: string; } | { readonly _tag: "Y2"; readonly value: string; } | { readonly _tag: "Points"; readonly value: string; } | { readonly _tag: "Transform"; readonly value: string; } | { readonly _tag: "Opacity"; readonly value: string; } | { readonly _tag: "StrokeDasharray"; readonly value: string; } | { readonly _tag: "StrokeDashoffset"; readonly value: string; } | { readonly _tag: "Prop"; readonly key: string; readonly value: unknown; } | { readonly _tag: "OnCustomEvent"; readonly name: string; readonly f: (event: CustomEvent) => Message; } | { readonly _tag: "OnMount"; readonly action: Readonly<{ name: string; args?: Record; f: (element: Element) => Stream.Stream; }>; })[], children?: ReadonlyArray) => Html; submodel: ) => VNode | null) & { readonly __submodelMessage: unknown; }>(config: import("./submodel.js").SubmodelConfig) => VNode | null; Key: (value: string) => { readonly _tag: "Key"; readonly value: string; }; Class: (value: string) => { readonly _tag: "Class"; readonly value: string; }; Id: (value: string) => { readonly _tag: "Id"; readonly value: string; }; Title: (value: string) => { readonly _tag: "Title"; readonly value: string; }; Lang: (value: string) => { readonly _tag: "Lang"; readonly value: string; }; Dir: (value: string) => { readonly _tag: "Dir"; readonly value: string; }; Tabindex: (value: number) => { readonly _tag: "Tabindex"; readonly value: number; }; Hidden: (value: boolean) => { readonly _tag: "Hidden"; readonly value: boolean; }; Contenteditable: (value: string) => { readonly _tag: "Contenteditable"; readonly value: string; }; Draggable: (value: boolean) => { readonly _tag: "Draggable"; readonly value: boolean; }; Accesskey: (value: string) => { readonly _tag: "Accesskey"; readonly value: string; }; Translate: (value: string) => { readonly _tag: "Translate"; readonly value: string; }; Inert: (value: boolean) => { readonly _tag: "Inert"; readonly value: boolean; }; Popover: (value: string) => { readonly _tag: "Popover"; readonly value: string; }; Popovertarget: (value: string) => { readonly _tag: "Popovertarget"; readonly value: string; }; Popovertargetaction: (value: string) => { readonly _tag: "Popovertargetaction"; readonly value: string; }; OnClick: (message: Message) => { readonly _tag: "OnClick"; readonly message: Message; }; OnClickFocus: (focusSelector: string, message: Message) => { readonly _tag: "OnClickFocus"; readonly focusSelector: string; readonly message: Message; }; OnDoubleClick: (message: Message) => { readonly _tag: "OnDoubleClick"; readonly message: Message; }; OnMouseDown: (message: Message) => { readonly _tag: "OnMouseDown"; readonly message: Message; }; OnMouseUp: (message: Message) => { readonly _tag: "OnMouseUp"; readonly message: Message; }; OnMouseEnter: (message: Message) => { readonly _tag: "OnMouseEnter"; readonly message: Message; }; OnMouseLeave: (message: Message) => { readonly _tag: "OnMouseLeave"; readonly message: Message; }; OnMouseOver: (message: Message) => { readonly _tag: "OnMouseOver"; readonly message: Message; }; OnMouseOut: (message: Message) => { readonly _tag: "OnMouseOut"; readonly message: Message; }; OnMouseMove: (message: Message) => { readonly _tag: "OnMouseMove"; readonly message: Message; }; OnPointerMove: (f: (screenX: number, screenY: number, pointerType: string) => Option.Option) => { readonly _tag: "OnPointerMove"; readonly f: (screenX: number, screenY: number, pointerType: string) => Option.Option; }; OnPointerLeave: (f: (pointerType: string) => Option.Option) => { readonly _tag: "OnPointerLeave"; readonly f: (pointerType: string) => Option.Option; }; OnPointerDown: (f: (pointerType: string, button: number, screenX: number, screenY: number, timeStamp: number, clientX: number, clientY: number) => Option.Option) => { readonly _tag: "OnPointerDown"; readonly f: (pointerType: string, button: number, screenX: number, screenY: number, timeStamp: number, clientX: number, clientY: number) => Option.Option; }; OnPointerUp: (f: (screenX: number, screenY: number, pointerType: string, timeStamp: number) => Option.Option) => { readonly _tag: "OnPointerUp"; readonly f: (screenX: number, screenY: number, pointerType: string, timeStamp: number) => Option.Option; }; OnKeyDown: (f: (key: string, modifiers: Readonly<{ shiftKey: boolean; ctrlKey: boolean; altKey: boolean; metaKey: boolean; }>) => Message) => { readonly _tag: "OnKeyDown"; readonly f: (key: string, modifiers: Readonly<{ shiftKey: boolean; ctrlKey: boolean; altKey: boolean; metaKey: boolean; }>) => Message; }; OnKeyDownPreventDefault: (f: (key: string, modifiers: Readonly<{ shiftKey: boolean; ctrlKey: boolean; altKey: boolean; metaKey: boolean; }>) => Option.Option) => { readonly _tag: "OnKeyDownPreventDefault"; readonly f: (key: string, modifiers: Readonly<{ shiftKey: boolean; ctrlKey: boolean; altKey: boolean; metaKey: boolean; }>) => Option.Option; }; OnKeyUp: (f: (key: string, modifiers: Readonly<{ shiftKey: boolean; ctrlKey: boolean; altKey: boolean; metaKey: boolean; }>) => Message) => { readonly _tag: "OnKeyUp"; readonly f: (key: string, modifiers: Readonly<{ shiftKey: boolean; ctrlKey: boolean; altKey: boolean; metaKey: boolean; }>) => Message; }; OnKeyUpPreventDefault: (f: (key: string, modifiers: Readonly<{ shiftKey: boolean; ctrlKey: boolean; altKey: boolean; metaKey: boolean; }>) => Option.Option) => { readonly _tag: "OnKeyUpPreventDefault"; readonly f: (key: string, modifiers: Readonly<{ shiftKey: boolean; ctrlKey: boolean; altKey: boolean; metaKey: boolean; }>) => Option.Option; }; OnKeyPress: (f: (key: string, modifiers: Readonly<{ shiftKey: boolean; ctrlKey: boolean; altKey: boolean; metaKey: boolean; }>) => Message) => { readonly _tag: "OnKeyPress"; readonly f: (key: string, modifiers: Readonly<{ shiftKey: boolean; ctrlKey: boolean; altKey: boolean; metaKey: boolean; }>) => Message; }; OnFocus: (message: Message) => { readonly _tag: "OnFocus"; readonly message: Message; }; OnBlur: (message: Message) => { readonly _tag: "OnBlur"; readonly message: Message; }; OnInput: (f: (value: string) => Message) => { readonly _tag: "OnInput"; readonly f: (value: string) => Message; }; OnChange: (f: (value: string) => Message) => { readonly _tag: "OnChange"; readonly f: (value: string) => Message; }; OnFileChange: (f: (files: ReadonlyArray) => Message) => { readonly _tag: "OnFileChange"; readonly f: (files: ReadonlyArray) => Message; }; OnSubmit: (message: Message) => { readonly _tag: "OnSubmit"; readonly message: Message; }; OnReset: (message: Message) => { readonly _tag: "OnReset"; readonly message: Message; }; OnScroll: (f: (scrollTop: number) => Message) => { readonly _tag: "OnScroll"; readonly f: (scrollTop: number) => Message; }; OnWheel: (message: Message) => { readonly _tag: "OnWheel"; readonly message: Message; }; OnCopy: (message: Message) => { readonly _tag: "OnCopy"; readonly message: Message; }; OnCut: (message: Message) => { readonly _tag: "OnCut"; readonly message: Message; }; OnPaste: (message: Message) => { readonly _tag: "OnPaste"; readonly message: Message; }; OnPastePreventDefault: (f: (text: string) => Option.Option) => { readonly _tag: "OnPastePreventDefault"; readonly f: (text: string) => Option.Option; }; OnCopyText: (text: string) => { readonly _tag: "OnCopyText"; readonly text: string; }; OnCutText: (text: string, message: Message) => { readonly _tag: "OnCutText"; readonly text: string; readonly message: Message; }; OnCancel: (message: Message) => { readonly _tag: "OnCancel"; readonly message: Message; }; OnToggle: (f: (isOpen: boolean) => Message) => { readonly _tag: "OnToggle"; readonly f: (isOpen: boolean) => Message; }; OnContextMenu: (message: Message) => { readonly _tag: "OnContextMenu"; readonly message: Message; }; OnDragStart: (message: Message) => { readonly _tag: "OnDragStart"; readonly message: Message; }; OnDrag: (message: Message) => { readonly _tag: "OnDrag"; readonly message: Message; }; OnDragEnd: (message: Message) => { readonly _tag: "OnDragEnd"; readonly message: Message; }; OnDragEnter: (message: Message) => { readonly _tag: "OnDragEnter"; readonly message: Message; }; OnDragLeave: (message: Message) => { readonly _tag: "OnDragLeave"; readonly message: Message; }; OnDragOver: (message: Message) => { readonly _tag: "OnDragOver"; readonly message: Message; }; AllowDrop: () => { readonly _tag: "AllowDrop"; }; OnDrop: (message: Message) => { readonly _tag: "OnDrop"; readonly message: Message; }; OnDropFiles: (f: (files: ReadonlyArray) => Message) => { readonly _tag: "OnDropFiles"; readonly f: (files: ReadonlyArray) => Message; }; OnTouchStart: (message: Message) => { readonly _tag: "OnTouchStart"; readonly message: Message; }; OnTouchEnd: (message: Message) => { readonly _tag: "OnTouchEnd"; readonly message: Message; }; OnTouchMove: (message: Message) => { readonly _tag: "OnTouchMove"; readonly message: Message; }; OnTouchCancel: (message: Message) => { readonly _tag: "OnTouchCancel"; readonly message: Message; }; OnAnimationStart: (message: Message) => { readonly _tag: "OnAnimationStart"; readonly message: Message; }; OnAnimationEnd: (message: Message) => { readonly _tag: "OnAnimationEnd"; readonly message: Message; }; OnAnimationIteration: (message: Message) => { readonly _tag: "OnAnimationIteration"; readonly message: Message; }; OnTransitionEnd: (message: Message) => { readonly _tag: "OnTransitionEnd"; readonly message: Message; }; OnLoad: (message: Message) => { readonly _tag: "OnLoad"; readonly message: Message; }; OnError: (message: Message) => { readonly _tag: "OnError"; readonly message: Message; }; OnPlay: (message: Message) => { readonly _tag: "OnPlay"; readonly message: Message; }; OnPause: (message: Message) => { readonly _tag: "OnPause"; readonly message: Message; }; OnEnded: (message: Message) => { readonly _tag: "OnEnded"; readonly message: Message; }; OnTimeUpdate: (message: Message) => { readonly _tag: "OnTimeUpdate"; readonly message: Message; }; OnVolumeChange: (message: Message) => { readonly _tag: "OnVolumeChange"; readonly message: Message; }; OnSelect: (message: Message) => { readonly _tag: "OnSelect"; readonly message: Message; }; Value: (value: string) => { readonly _tag: "Value"; readonly value: string; }; Checked: (value: boolean) => { readonly _tag: "Checked"; readonly value: boolean; }; Selected: (value: boolean) => { readonly _tag: "Selected"; readonly value: boolean; }; Open: (value: boolean) => { readonly _tag: "Open"; readonly value: boolean; }; Placeholder: (value: string) => { readonly _tag: "Placeholder"; readonly value: string; }; Name: (value: string) => { readonly _tag: "Name"; readonly value: string; }; Disabled: (value: boolean) => { readonly _tag: "Disabled"; readonly value: boolean; }; Readonly: (value: boolean) => { readonly _tag: "Readonly"; readonly value: boolean; }; Required: (value: boolean) => { readonly _tag: "Required"; readonly value: boolean; }; Autofocus: (value: boolean) => { readonly _tag: "Autofocus"; readonly value: boolean; }; Spellcheck: (value: boolean) => { readonly _tag: "Spellcheck"; readonly value: boolean; }; Autocorrect: (value: string) => { readonly _tag: "Autocorrect"; readonly value: string; }; Autocapitalize: (value: string) => { readonly _tag: "Autocapitalize"; readonly value: string; }; InputMode: (value: string) => { readonly _tag: "InputMode"; readonly value: string; }; EnterKeyHint: (value: string) => { readonly _tag: "EnterKeyHint"; readonly value: string; }; Multiple: (value: boolean) => { readonly _tag: "Multiple"; readonly value: boolean; }; Type: (value: string) => { readonly _tag: "Type"; readonly value: string; }; Accept: (value: string) => { readonly _tag: "Accept"; readonly value: string; }; Autocomplete: (value: string) => { readonly _tag: "Autocomplete"; readonly value: string; }; Pattern: (value: string) => { readonly _tag: "Pattern"; readonly value: string; }; Maxlength: (value: number) => { readonly _tag: "Maxlength"; readonly value: number; }; Minlength: (value: number) => { readonly _tag: "Minlength"; readonly value: number; }; Size: (value: number) => { readonly _tag: "Size"; readonly value: number; }; Cols: (value: number) => { readonly _tag: "Cols"; readonly value: number; }; Rows: (value: number) => { readonly _tag: "Rows"; readonly value: number; }; Max: (value: string) => { readonly _tag: "Max"; readonly value: string; }; Min: (value: string) => { readonly _tag: "Min"; readonly value: string; }; Step: (value: string) => { readonly _tag: "Step"; readonly value: string; }; For: (value: string) => { readonly _tag: "For"; readonly value: string; }; Href: (value: string) => { readonly _tag: "Href"; readonly value: string; }; Src: (value: string) => { readonly _tag: "Src"; readonly value: string; }; Alt: (value: string) => { readonly _tag: "Alt"; readonly value: string; }; Target: (value: string) => { readonly _tag: "Target"; readonly value: string; }; Rel: (value: string) => { readonly _tag: "Rel"; readonly value: string; }; Download: (value: string) => { readonly _tag: "Download"; readonly value: string; }; Action: (value: string) => { readonly _tag: "Action"; readonly value: string; }; Method: (value: string) => { readonly _tag: "Method"; readonly value: string; }; Enctype: (value: string) => { readonly _tag: "Enctype"; readonly value: string; }; Novalidate: (value: boolean) => { readonly _tag: "Novalidate"; readonly value: boolean; }; Formaction: (value: string) => { readonly _tag: "Formaction"; readonly value: string; }; Formmethod: (value: string) => { readonly _tag: "Formmethod"; readonly value: string; }; Formnovalidate: (value: boolean) => { readonly _tag: "Formnovalidate"; readonly value: boolean; }; Formtarget: (value: string) => { readonly _tag: "Formtarget"; readonly value: string; }; Formenctype: (value: string) => { readonly _tag: "Formenctype"; readonly value: string; }; Colspan: (value: number) => { readonly _tag: "Colspan"; readonly value: number; }; Rowspan: (value: number) => { readonly _tag: "Rowspan"; readonly value: number; }; Scope: (value: string) => { readonly _tag: "Scope"; readonly value: string; }; Headers: (value: string) => { readonly _tag: "Headers"; readonly value: string; }; Span: (value: number) => { readonly _tag: "Span"; readonly value: number; }; Start: (value: number) => { readonly _tag: "Start"; readonly value: number; }; Reversed: (value: boolean) => { readonly _tag: "Reversed"; readonly value: boolean; }; CiteAttr: (value: string) => { readonly _tag: "CiteAttr"; readonly value: string; }; Datetime: (value: string) => { readonly _tag: "Datetime"; readonly value: string; }; Wrap: (value: string) => { readonly _tag: "Wrap"; readonly value: string; }; List: (value: string) => { readonly _tag: "List"; readonly value: string; }; FormAttr: (value: string) => { readonly _tag: "FormAttr"; readonly value: string; }; LabelAttr: (value: string) => { readonly _tag: "LabelAttr"; readonly value: string; }; ContentAttr: (value: string) => { readonly _tag: "ContentAttr"; readonly value: string; }; Charset: (value: string) => { readonly _tag: "Charset"; readonly value: string; }; HttpEquiv: (value: string) => { readonly _tag: "HttpEquiv"; readonly value: string; }; Srcset: (value: string) => { readonly _tag: "Srcset"; readonly value: string; }; Sizes: (value: string) => { readonly _tag: "Sizes"; readonly value: string; }; Loading: (value: string) => { readonly _tag: "Loading"; readonly value: string; }; Decoding: (value: string) => { readonly _tag: "Decoding"; readonly value: string; }; Fetchpriority: (value: string) => { readonly _tag: "Fetchpriority"; readonly value: string; }; Crossorigin: (value: string) => { readonly _tag: "Crossorigin"; readonly value: string; }; Referrerpolicy: (value: string) => { readonly _tag: "Referrerpolicy"; readonly value: string; }; Integrity: (value: string) => { readonly _tag: "Integrity"; readonly value: string; }; Hreflang: (value: string) => { readonly _tag: "Hreflang"; readonly value: string; }; Ping: (value: string) => { readonly _tag: "Ping"; readonly value: string; }; Sandbox: (value: string) => { readonly _tag: "Sandbox"; readonly value: string; }; Allow: (value: string) => { readonly _tag: "Allow"; readonly value: string; }; Srcdoc: (value: string) => { readonly _tag: "Srcdoc"; readonly value: string; }; Autoplay: (value: boolean) => { readonly _tag: "Autoplay"; readonly value: boolean; }; Controls: (value: boolean) => { readonly _tag: "Controls"; readonly value: boolean; }; Loop: (value: boolean) => { readonly _tag: "Loop"; readonly value: boolean; }; Muted: (value: boolean) => { readonly _tag: "Muted"; readonly value: boolean; }; Poster: (value: string) => { readonly _tag: "Poster"; readonly value: string; }; Preload: (value: string) => { readonly _tag: "Preload"; readonly value: string; }; Playsinline: (value: boolean) => { readonly _tag: "Playsinline"; readonly value: boolean; }; High: (value: number) => { readonly _tag: "High"; readonly value: number; }; Low: (value: number) => { readonly _tag: "Low"; readonly value: number; }; Optimum: (value: number) => { readonly _tag: "Optimum"; readonly value: number; }; Usemap: (value: string) => { readonly _tag: "Usemap"; readonly value: string; }; Ismap: (value: boolean) => { readonly _tag: "Ismap"; readonly value: boolean; }; Role: (value: string) => { readonly _tag: "Role"; readonly value: string; }; AriaLabel: (value: string) => { readonly _tag: "AriaLabel"; readonly value: string; }; AriaLabelledBy: (value: string) => { readonly _tag: "AriaLabelledBy"; readonly value: string; }; AriaDescribedBy: (value: string) => { readonly _tag: "AriaDescribedBy"; readonly value: string; }; AriaHidden: (value: boolean) => { readonly _tag: "AriaHidden"; readonly value: boolean; }; AriaExpanded: (value: boolean) => { readonly _tag: "AriaExpanded"; readonly value: boolean; }; AriaSelected: (value: boolean) => { readonly _tag: "AriaSelected"; readonly value: boolean; }; AriaChecked: (value: boolean | "mixed") => { readonly _tag: "AriaChecked"; readonly value: boolean | "mixed"; }; AriaDisabled: (value: boolean) => { readonly _tag: "AriaDisabled"; readonly value: boolean; }; AriaRequired: (value: boolean) => { readonly _tag: "AriaRequired"; readonly value: boolean; }; AriaInvalid: (value: boolean) => { readonly _tag: "AriaInvalid"; readonly value: boolean; }; AriaLive: (value: string) => { readonly _tag: "AriaLive"; readonly value: string; }; AriaControls: (value: string) => { readonly _tag: "AriaControls"; readonly value: string; }; AriaCurrent: (value: string) => { readonly _tag: "AriaCurrent"; readonly value: string; }; AriaOrientation: (value: string) => { readonly _tag: "AriaOrientation"; readonly value: string; }; AriaPressed: (value: string) => { readonly _tag: "AriaPressed"; readonly value: string; }; AriaHasPopup: (value: string) => { readonly _tag: "AriaHasPopup"; readonly value: string; }; AriaActiveDescendant: (value: string) => { readonly _tag: "AriaActiveDescendant"; readonly value: string; }; AriaSort: (value: string) => { readonly _tag: "AriaSort"; readonly value: string; }; AriaMultiSelectable: (value: boolean) => { readonly _tag: "AriaMultiSelectable"; readonly value: boolean; }; AriaModal: (value: boolean) => { readonly _tag: "AriaModal"; readonly value: boolean; }; AriaBusy: (value: boolean) => { readonly _tag: "AriaBusy"; readonly value: boolean; }; AriaErrorMessage: (value: string) => { readonly _tag: "AriaErrorMessage"; readonly value: string; }; AriaRoleDescription: (value: string) => { readonly _tag: "AriaRoleDescription"; readonly value: string; }; AriaAtomic: (value: boolean) => { readonly _tag: "AriaAtomic"; readonly value: boolean; }; AriaAutocomplete: (value: string) => { readonly _tag: "AriaAutocomplete"; readonly value: string; }; AriaColcount: (value: number) => { readonly _tag: "AriaColcount"; readonly value: number; }; AriaColindex: (value: number) => { readonly _tag: "AriaColindex"; readonly value: number; }; AriaColspan: (value: number) => { readonly _tag: "AriaColspan"; readonly value: number; }; AriaDescription: (value: string) => { readonly _tag: "AriaDescription"; readonly value: string; }; AriaDetails: (value: string) => { readonly _tag: "AriaDetails"; readonly value: string; }; AriaFlowto: (value: string) => { readonly _tag: "AriaFlowto"; readonly value: string; }; AriaKeyshortcuts: (value: string) => { readonly _tag: "AriaKeyshortcuts"; readonly value: string; }; AriaLevel: (value: number) => { readonly _tag: "AriaLevel"; readonly value: number; }; AriaOwns: (value: string) => { readonly _tag: "AriaOwns"; readonly value: string; }; AriaPlaceholder: (value: string) => { readonly _tag: "AriaPlaceholder"; readonly value: string; }; AriaPosinset: (value: number) => { readonly _tag: "AriaPosinset"; readonly value: number; }; AriaReadonly: (value: boolean) => { readonly _tag: "AriaReadonly"; readonly value: boolean; }; AriaRelevant: (value: string) => { readonly _tag: "AriaRelevant"; readonly value: string; }; AriaRowcount: (value: number) => { readonly _tag: "AriaRowcount"; readonly value: number; }; AriaRowindex: (value: number) => { readonly _tag: "AriaRowindex"; readonly value: number; }; AriaRowspan: (value: number) => { readonly _tag: "AriaRowspan"; readonly value: number; }; AriaSetsize: (value: number) => { readonly _tag: "AriaSetsize"; readonly value: number; }; AriaValuemax: (value: number) => { readonly _tag: "AriaValuemax"; readonly value: number; }; AriaValuemin: (value: number) => { readonly _tag: "AriaValuemin"; readonly value: number; }; AriaValuenow: (value: number) => { readonly _tag: "AriaValuenow"; readonly value: number; }; AriaValuetext: (value: string) => { readonly _tag: "AriaValuetext"; readonly value: string; }; Attribute: (key: string, value: string) => { readonly _tag: "Attribute"; readonly key: string; readonly value: string; }; DataAttribute: (key: string, value: string) => { readonly _tag: "DataAttribute"; readonly key: string; readonly value: string; }; Style: (value: Record) => { readonly _tag: "Style"; readonly value: Record; }; InnerHTML: (value: string) => { readonly _tag: "InnerHTML"; readonly value: string; }; ViewBox: (value: string) => { readonly _tag: "ViewBox"; readonly value: string; }; Xmlns: (value: string) => { readonly _tag: "Xmlns"; readonly value: string; }; Fill: (value: string) => { readonly _tag: "Fill"; readonly value: string; }; FillRule: (value: string) => { readonly _tag: "FillRule"; readonly value: string; }; ClipRule: (value: string) => { readonly _tag: "ClipRule"; readonly value: string; }; Stroke: (value: string) => { readonly _tag: "Stroke"; readonly value: string; }; StrokeWidth: (value: string) => { readonly _tag: "StrokeWidth"; readonly value: string; }; StrokeLinecap: (value: string) => { readonly _tag: "StrokeLinecap"; readonly value: string; }; StrokeLinejoin: (value: string) => { readonly _tag: "StrokeLinejoin"; readonly value: string; }; D: (value: string) => { readonly _tag: "D"; readonly value: string; }; Cx: (value: string) => { readonly _tag: "Cx"; readonly value: string; }; Cy: (value: string) => { readonly _tag: "Cy"; readonly value: string; }; R: (value: string) => { readonly _tag: "R"; readonly value: string; }; X: (value: string) => { readonly _tag: "X"; readonly value: string; }; Y: (value: string) => { readonly _tag: "Y"; readonly value: string; }; Width: (value: string) => { readonly _tag: "Width"; readonly value: string; }; Height: (value: string) => { readonly _tag: "Height"; readonly value: string; }; X1: (value: string) => { readonly _tag: "X1"; readonly value: string; }; Y1: (value: string) => { readonly _tag: "Y1"; readonly value: string; }; X2: (value: string) => { readonly _tag: "X2"; readonly value: string; }; Y2: (value: string) => { readonly _tag: "Y2"; readonly value: string; }; Points: (value: string) => { readonly _tag: "Points"; readonly value: string; }; Transform: (value: string) => { readonly _tag: "Transform"; readonly value: string; }; Opacity: (value: string) => { readonly _tag: "Opacity"; readonly value: string; }; StrokeDasharray: (value: string) => { readonly _tag: "StrokeDasharray"; readonly value: string; }; StrokeDashoffset: (value: string) => { readonly _tag: "StrokeDashoffset"; readonly value: string; }; OnMount: (action: Readonly<{ name: string; args?: Record; f: (element: Element) => Stream.Stream; }>) => { readonly _tag: "OnMount"; readonly action: Readonly<{ name: string; args?: Record; f: (element: Element) => Stream.Stream; }>; }; a: ElementFunction; abbr: ElementFunction; address: ElementFunction; area: VoidElementFunction; article: ElementFunction; aside: ElementFunction; audio: ElementFunction; b: ElementFunction; base: VoidElementFunction; bdi: ElementFunction; bdo: ElementFunction; blockquote: ElementFunction; body: ElementFunction; br: VoidElementFunction; button: ElementFunction; canvas: ElementFunction; caption: ElementFunction; cite: ElementFunction; code: ElementFunction; col: VoidElementFunction; colgroup: ElementFunction; data: ElementFunction; datalist: ElementFunction; dd: ElementFunction; del: ElementFunction; details: ElementFunction; dfn: ElementFunction; dialog: ElementFunction; div: ElementFunction; dl: ElementFunction; dt: ElementFunction; em: ElementFunction; embed: VoidElementFunction; fieldset: ElementFunction; figcaption: ElementFunction; figure: ElementFunction; footer: ElementFunction; form: ElementFunction; h1: ElementFunction; h2: ElementFunction; h3: ElementFunction; h4: ElementFunction; h5: ElementFunction; h6: ElementFunction; head: ElementFunction; header: ElementFunction; hgroup: ElementFunction; hr: VoidElementFunction; html: ElementFunction; i: ElementFunction; iframe: ElementFunction; img: VoidElementFunction; input: VoidElementFunction; ins: ElementFunction; kbd: ElementFunction; label: ElementFunction; legend: ElementFunction; li: ElementFunction; link: VoidElementFunction; main: ElementFunction; map: ElementFunction; mark: ElementFunction; menu: ElementFunction; meta: VoidElementFunction; meter: ElementFunction; nav: ElementFunction; noscript: ElementFunction; object: ElementFunction; ol: ElementFunction; optgroup: ElementFunction; option: ElementFunction; output: ElementFunction; p: ElementFunction; picture: ElementFunction; portal: ElementFunction; pre: ElementFunction; progress: ElementFunction; q: ElementFunction; rp: ElementFunction; rt: ElementFunction; ruby: ElementFunction; s: ElementFunction; samp: ElementFunction; script: ElementFunction; search: ElementFunction; section: ElementFunction; select: ElementFunction; slot: ElementFunction; small: ElementFunction; source: VoidElementFunction; span: ElementFunction; strong: ElementFunction; style: ElementFunction; sub: ElementFunction; summary: ElementFunction; sup: ElementFunction; table: ElementFunction; tbody: ElementFunction; td: ElementFunction; template: ElementFunction; textarea: ElementFunction; tfoot: ElementFunction; th: ElementFunction; thead: ElementFunction; time: ElementFunction; title: ElementFunction; tr: ElementFunction; track: VoidElementFunction; u: ElementFunction; ul: ElementFunction; var: ElementFunction; video: ElementFunction; wbr: VoidElementFunction; svg: ElementFunction; animate: ElementFunction; animateMotion: ElementFunction; animateTransform: ElementFunction; circle: ElementFunction; clipPath: ElementFunction; defs: ElementFunction; desc: ElementFunction; ellipse: ElementFunction; feBlend: ElementFunction; feColorMatrix: ElementFunction; feComponentTransfer: ElementFunction; feComposite: ElementFunction; feConvolveMatrix: ElementFunction; feDiffuseLighting: ElementFunction; feDisplacementMap: ElementFunction; feDistantLight: ElementFunction; feDropShadow: ElementFunction; feFlood: ElementFunction; feFuncA: ElementFunction; feFuncB: ElementFunction; feFuncG: ElementFunction; feFuncR: ElementFunction; feGaussianBlur: ElementFunction; feImage: ElementFunction; feMerge: ElementFunction; feMergeNode: ElementFunction; feMorphology: ElementFunction; feOffset: ElementFunction; fePointLight: ElementFunction; feSpecularLighting: ElementFunction; feSpotLight: ElementFunction; feTile: ElementFunction; feTurbulence: ElementFunction; filter: ElementFunction; foreignObject: ElementFunction; g: ElementFunction; image: ElementFunction; line: ElementFunction; linearGradient: ElementFunction; marker: ElementFunction; mask: ElementFunction; metadata: ElementFunction; mpath: ElementFunction; path: ElementFunction; pattern: ElementFunction; polygon: ElementFunction; polyline: ElementFunction; radialGradient: ElementFunction; rect: ElementFunction; set: ElementFunction; stop: ElementFunction; switch: ElementFunction; symbol: ElementFunction; text: ElementFunction; textPath: ElementFunction; tspan: ElementFunction; use: ElementFunction; view: ElementFunction; math: ElementFunction; annotation: ElementFunction; 'annotation-xml': ElementFunction; maction: ElementFunction; menclose: ElementFunction; merror: ElementFunction; mfenced: ElementFunction; mfrac: ElementFunction; mglyph: ElementFunction; mi: ElementFunction; mlabeledtr: ElementFunction; mlongdiv: ElementFunction; mmultiscripts: ElementFunction; mn: ElementFunction; mo: ElementFunction; mover: ElementFunction; mpadded: ElementFunction; mphantom: ElementFunction; mprescripts: ElementFunction; mroot: ElementFunction; mrow: ElementFunction; ms: ElementFunction; mscarries: ElementFunction; mscarry: ElementFunction; msgroup: ElementFunction; msline: ElementFunction; mspace: ElementFunction; msqrt: ElementFunction; msrow: ElementFunction; mstack: ElementFunction; mstyle: ElementFunction; msub: ElementFunction; msubsup: ElementFunction; msup: ElementFunction; mtable: ElementFunction; mtd: ElementFunction; mtext: ElementFunction; mtr: ElementFunction; munder: ElementFunction; munderover: ElementFunction; semantics: ElementFunction; }; /** * Returns all HTML, SVG, and MathML element constructors, attribute * constructors, a `keyed` helper for keyed elements, and `empty` for * rendering nothing. * * The returned object is a process-wide singleton. The `Message` type * parameter is erased at runtime, and the element and attribute constructors * carry no per-program state (dispatch is read from the runtime singleton at * call time), so calling `html()` repeatedly from inside view functions does * not allocate a fresh object. */ export declare const html: () => ReturnType>; //# sourceMappingURL=index.d.ts.map