import { ReadonlySignal, Signal } from '@preact/signals-core'; export { ReadonlySignal, Signal, batch, computed, effect, signal, untracked } from '@preact/signals-core'; /** * Copyright (c) 2026 hangtiancheng * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ /** * Component HMR: alias + in-place instance swap. * * Runtime-guarded: non-function arguments and functions with no live * instances no-op safely, so the broad injection gate (any `.tsx`/`.jsx` * default export) cannot break non-component modules. * * @returns whether any live instance was swapped */ declare function hotSwapByComponent(oldFn: unknown, newFn: unknown): boolean; /** * Copyright (c) 2026 hangtiancheng * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ /** * JSX VNode model — the pure data layer of Lark's JSX support. * * This module has ZERO runtime framework imports so it can be bundled into * the `jsx-runtime` / `jsx-dev-runtime` entries without dragging the * framework in (the `ReadonlySignal` import below is type-only — erased at * compile time). * * tsup bundles this module into more than one dist entry (the runtime * entries may share a chunk, while `index` carries its own copy), so module * instances are NOT shared across entries. All brand markers therefore use * `Symbol.for` (the global symbol registry) so that VNodes created by one * bundle instance are recognized by another — plain module-level symbols or * `instanceof` checks would fail across copies. */ /** * Fragment component — groups children without a wrapper element. * * `<>...` compiles to `jsx(Fragment, { children })`. The reconciler emits * the children directly; multi-root component output is supported, so a * Fragment is valid at the component root. */ declare const Fragment: symbol; /** * A function component: receives the reactive props proxy (children included * under `props.children`) and returns renderable JSX content. * * Every function tag mounts a component INSTANCE (React semantics, hostless — * no wrapper element). The function re-runs on every render pass inside the * instance's render effect; state lives in hooks (`useSignal`, `useEffect`, * ...). Reading `props.x` in the body subscribes the instance to that key. */ type Component

= (props: P) => JSXNode; /** A JSX element produced by `jsx()` / `jsxs()` / `jsxDEV()`. */ interface VNode { /** Brand marker — `Symbol.for("lark.mvc.vnode")`. */ $$: symbol; /** Tag name, functional component, or `Fragment`. */ type: string | Component | symbol; /** Props object including `children`. */ props: Record; /** Normalized `key` (from the jsx() third argument) — sibling compare key for the keyed diff. */ key: string | undefined; } /** Wrapper marking a string as trusted raw HTML (created via `raw()`). */ interface RawHTML { /** Brand marker — `Symbol.for("lark.mvc.raw")`. */ $$: symbol; /** The raw HTML string (rendered without escaping). */ html: string; } /** * Anything renderable as JSX content: elements, raw HTML, text-ish primitives * (`string` / `number`), readable signals (auto-unwrapped via a tracked * `.value` read — detected with `instanceof Signal` by the reconciler), * skipped values (`boolean` / `null` / `undefined` — enables * `{cond &&

}`), or arrays thereof. */ type JSXNode = VNode | RawHTML | ReadonlySignal | string | number | boolean | null | undefined | JSXNode[]; /** * Mark a string as trusted raw HTML. The content is rendered WITHOUT * escaping; never pass untrusted input. * * @example *
{raw(renderedMarkdown)}
*/ declare function raw(html: unknown): RawHTML; /** * Copyright (c) 2026 hangtiancheng * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ /** * Render a JSX tree into a container element (React-DOM style). * * The first call takes ownership of the container (existing content is * cleared). Subsequent calls with the same container diff against the * previous tree — component instances matched by function identity (and * `key`) keep their state; changed props are pushed through per-key signals. * * Signal children/attributes in the tree are tracked by the root's render * effect (or the owning component's), so the DOM stays live without * re-calling `render`. */ declare function render(node: JSXNode, container: Element): void; /** * Unmount the tree rendered into a container: dispose the root effect, * destroy every instance (effect cleanups, `onCleanup`, refs → null, * children before parents), and clear the container. * * @returns `true` if a tree was mounted on the container. */ declare function unmount(container: Element): boolean; /** * Copyright (c) 2026 hangtiancheng * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ /** * Typed DOM attribute layer for Lark JSX — per-tag intrinsic element types, * native-event handler types, aria/svg/mathml attributes. * * Ported from Preact v10's type definitions (dom.d.ts / jsx.d.ts, * https://github.com/preactjs/preact — MIT License, Copyright (c) * 2015-present Jason Miller) and adapted to Lark runtime semantics: * * - `Signalish` is `T | ReadonlySignal` — the reconciler unwraps * ONLY `@preact/signals-core` signals in attribute position (top level, * not inside arrays/objects). * - Event props: NO capture-phase variants (`onClickCapture`) — the runtime * derives the native event type via `name.slice(2).toLowerCase()`, so only * camelCase spellings of real native event types are typed. Handlers * receive the NATIVE event (no synthetic wrapper). * - `children` is Lark's `JSXNode`; there is NO `dangerouslySetInnerHTML` * (`raw()` is the only trusted-HTML path). * - `class`/`className` accept string | nestable array | truthy-key map; * `style` accepts string | camelCase object (no implicit `px`). * - `ref` is a callback (called with null on unmount) or a `{ current }` * cell (`useRef()` return shape). * - `data-*` attributes are typed via a template-literal index signature. * * This module is 100% type-only — it contributes ZERO runtime code and is * safe to reference from the framework-free `jsx-runtime` entry. */ /** * The complete DOM type layer, wrapped in a single `declare namespace` * (Preact's `JSXInternal` architecture). The wrapper is REQUIRED for * correct d.ts bundling: the `JSX` namespace in jsx-runtime.ts references * these types through the QUALIFIED name `JSXInternal.X`, which dts * flatteners preserve verbatim — plain import aliases get rewritten to their * canonical top-level names, and a namespace member named `IntrinsicElements` * extending a top-level `IntrinsicElements` collapses into an invalid * self-reference (empty interface under skipLibCheck → every tag "missing"). */ declare namespace JSXInternal { /** * Attribute value that may be a readable signal. Signal-valued attributes * are unwrapped with a tracked read, so the owning component re-renders * when the signal changes. */ type Signalish = T | ReadonlySignal; /** * `class` / `className` value: string, nestable array (falsy entries * dropped), or object whose truthy-valued keys become class names. */ type ClassValue = string | false | null | undefined | Record | ClassValue[]; /** Callback ref — called with the element after mount and `null` on unmount. */ type RefCallback = (instance: T | null) => void; /** Object ref cell — the `useRef()` return shape. */ interface RefObject { current: T | null; } /** Element ref: callback or `{ current }` cell (`useRef()` return shape). */ type Ref = RefCallback | RefObject; /** Attributes valid on every JSX element (vnode-level, never written to the DOM). */ interface ClassAttributes { /** Sibling compare key for the keyed diff (never written to the DOM). */ key?: string | number; /** Element ref: callback (null on unmount) or a `{ current }` cell. */ ref?: Ref; } interface ToggleEvent extends Event { readonly newState: string; readonly oldState: string; } interface CommandEvent extends Event { readonly source: Element | null; readonly command: string; } /** [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/API/SnapEvent) */ interface SnapEvent extends Event { readonly snapTargetBlock: Element | null; readonly snapTargetInline: Element | null; } type Booleanish = boolean | "true" | "false"; type DOMCSSProperties = { [key in keyof Omit]?: string | number | null | undefined; }; type AllCSSProperties = { [key: string]: string | number | null | undefined; }; interface CSSProperties extends AllCSSProperties, DOMCSSProperties { cssText?: string | null; } interface SVGAttributes extends HTMLAttributes { accentHeight?: Signalish; accumulate?: Signalish<"none" | "sum" | undefined>; additive?: Signalish<"replace" | "sum" | undefined>; alignmentBaseline?: Signalish<"auto" | "baseline" | "before-edge" | "text-before-edge" | "middle" | "central" | "after-edge" | "text-after-edge" | "ideographic" | "alphabetic" | "hanging" | "mathematical" | "inherit" | undefined>; "alignment-baseline"?: Signalish<"auto" | "baseline" | "before-edge" | "text-before-edge" | "middle" | "central" | "after-edge" | "text-after-edge" | "ideographic" | "alphabetic" | "hanging" | "mathematical" | "inherit" | undefined>; allowReorder?: Signalish<"no" | "yes" | undefined>; "allow-reorder"?: Signalish<"no" | "yes" | undefined>; alphabetic?: Signalish; amplitude?: Signalish; /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/arabic-form */ arabicForm?: Signalish<"initial" | "medial" | "terminal" | "isolated" | undefined>; /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/arabic-form */ "arabic-form"?: Signalish<"initial" | "medial" | "terminal" | "isolated" | undefined>; ascent?: Signalish; attributeName?: Signalish; attributeType?: Signalish; azimuth?: Signalish; baseFrequency?: Signalish; baselineShift?: Signalish; "baseline-shift"?: Signalish; baseProfile?: Signalish; bbox?: Signalish; begin?: Signalish; bias?: Signalish; by?: Signalish; calcMode?: Signalish; capHeight?: Signalish; "cap-height"?: Signalish; clip?: Signalish; clipPath?: Signalish; "clip-path"?: Signalish; clipPathUnits?: Signalish; clipRule?: Signalish; "clip-rule"?: Signalish; colorInterpolation?: Signalish; "color-interpolation"?: Signalish; colorInterpolationFilters?: Signalish<"auto" | "sRGB" | "linearRGB" | "inherit" | undefined>; "color-interpolation-filters"?: Signalish<"auto" | "sRGB" | "linearRGB" | "inherit" | undefined>; colorProfile?: Signalish; "color-profile"?: Signalish; colorRendering?: Signalish; "color-rendering"?: Signalish; contentScriptType?: Signalish; "content-script-type"?: Signalish; contentStyleType?: Signalish; "content-style-type"?: Signalish; cursor?: Signalish; cx?: Signalish; cy?: Signalish; d?: Signalish; decelerate?: Signalish; descent?: Signalish; diffuseConstant?: Signalish; direction?: Signalish; display?: Signalish; divisor?: Signalish; dominantBaseline?: Signalish; "dominant-baseline"?: Signalish; dur?: Signalish; dx?: Signalish; dy?: Signalish; edgeMode?: Signalish; elevation?: Signalish; enableBackground?: Signalish; "enable-background"?: Signalish; end?: Signalish; exponent?: Signalish; externalResourcesRequired?: Signalish; fill?: Signalish; fillOpacity?: Signalish; "fill-opacity"?: Signalish; fillRule?: Signalish<"nonzero" | "evenodd" | "inherit" | undefined>; "fill-rule"?: Signalish<"nonzero" | "evenodd" | "inherit" | undefined>; filter?: Signalish; filterRes?: Signalish; filterUnits?: Signalish; floodColor?: Signalish; "flood-color"?: Signalish; floodOpacity?: Signalish; "flood-opacity"?: Signalish; focusable?: Signalish; fontFamily?: Signalish; "font-family"?: Signalish; fontSize?: Signalish; "font-size"?: Signalish; fontSizeAdjust?: Signalish; "font-size-adjust"?: Signalish; fontStretch?: Signalish; "font-stretch"?: Signalish; fontStyle?: Signalish; "font-style"?: Signalish; fontVariant?: Signalish; "font-variant"?: Signalish; fontWeight?: Signalish; "font-weight"?: Signalish; format?: Signalish; from?: Signalish; fx?: Signalish; fy?: Signalish; g1?: Signalish; g2?: Signalish; glyphName?: Signalish; "glyph-name"?: Signalish; glyphOrientationHorizontal?: Signalish; "glyph-orientation-horizontal"?: Signalish; glyphOrientationVertical?: Signalish; "glyph-orientation-vertical"?: Signalish; glyphRef?: Signalish; gradientTransform?: Signalish; gradientUnits?: Signalish; hanging?: Signalish; height?: Signalish; horizAdvX?: Signalish; "horiz-adv-x"?: Signalish; horizOriginX?: Signalish; "horiz-origin-x"?: Signalish; href?: Signalish; hreflang?: Signalish; hrefLang?: Signalish; ideographic?: Signalish; imageRendering?: Signalish; "image-rendering"?: Signalish; in2?: Signalish; in?: Signalish; intercept?: Signalish; k1?: Signalish; k2?: Signalish; k3?: Signalish; k4?: Signalish; k?: Signalish; kernelMatrix?: Signalish; kernelUnitLength?: Signalish; kerning?: Signalish; keyPoints?: Signalish; keySplines?: Signalish; keyTimes?: Signalish; lengthAdjust?: Signalish; letterSpacing?: Signalish; "letter-spacing"?: Signalish; lightingColor?: Signalish; "lighting-color"?: Signalish; limitingConeAngle?: Signalish; local?: Signalish; markerEnd?: Signalish; "marker-end"?: Signalish; markerHeight?: Signalish; markerMid?: Signalish; "marker-mid"?: Signalish; markerStart?: Signalish; "marker-start"?: Signalish; markerUnits?: Signalish; markerWidth?: Signalish; mask?: Signalish; maskContentUnits?: Signalish; maskUnits?: Signalish; mathematical?: Signalish; mode?: Signalish; numOctaves?: Signalish; offset?: Signalish; opacity?: Signalish; operator?: Signalish; order?: Signalish; orient?: Signalish; orientation?: Signalish; origin?: Signalish; overflow?: Signalish; overlinePosition?: Signalish; "overline-position"?: Signalish; overlineThickness?: Signalish; "overline-thickness"?: Signalish; paintOrder?: Signalish; "paint-order"?: Signalish; panose1?: Signalish; "panose-1"?: Signalish; pathLength?: Signalish; patternContentUnits?: Signalish; patternTransform?: Signalish; patternUnits?: Signalish; pointerEvents?: Signalish; "pointer-events"?: Signalish; points?: Signalish; pointsAtX?: Signalish; pointsAtY?: Signalish; pointsAtZ?: Signalish; preserveAlpha?: Signalish; preserveAspectRatio?: Signalish; primitiveUnits?: Signalish; r?: Signalish; radius?: Signalish; refX?: Signalish; refY?: Signalish; renderingIntent?: Signalish; "rendering-intent"?: Signalish; repeatCount?: Signalish; "repeat-count"?: Signalish; repeatDur?: Signalish; "repeat-dur"?: Signalish; requiredExtensions?: Signalish; requiredFeatures?: Signalish; restart?: Signalish; result?: Signalish; rotate?: Signalish; rx?: Signalish; ry?: Signalish; scale?: Signalish; seed?: Signalish; shapeRendering?: Signalish; "shape-rendering"?: Signalish; slope?: Signalish; spacing?: Signalish; specularConstant?: Signalish; specularExponent?: Signalish; speed?: Signalish; spreadMethod?: Signalish; startOffset?: Signalish; stdDeviation?: Signalish; stemh?: Signalish; stemv?: Signalish; stitchTiles?: Signalish; stopColor?: Signalish; "stop-color"?: Signalish; stopOpacity?: Signalish; "stop-opacity"?: Signalish; strikethroughPosition?: Signalish; "strikethrough-position"?: Signalish; strikethroughThickness?: Signalish; "strikethrough-thickness"?: Signalish; string?: Signalish; stroke?: Signalish; strokeDasharray?: Signalish; "stroke-dasharray"?: Signalish; strokeDashoffset?: Signalish; "stroke-dashoffset"?: Signalish; strokeLinecap?: Signalish<"butt" | "round" | "square" | "inherit" | undefined>; "stroke-linecap"?: Signalish<"butt" | "round" | "square" | "inherit" | undefined>; strokeLinejoin?: Signalish<"miter" | "round" | "bevel" | "inherit" | undefined>; "stroke-linejoin"?: Signalish<"miter" | "round" | "bevel" | "inherit" | undefined>; strokeMiterlimit?: Signalish; "stroke-miterlimit"?: Signalish; strokeOpacity?: Signalish; "stroke-opacity"?: Signalish; strokeWidth?: Signalish; "stroke-width"?: Signalish; surfaceScale?: Signalish; systemLanguage?: Signalish; tableValues?: Signalish; targetX?: Signalish; targetY?: Signalish; textAnchor?: Signalish; "text-anchor"?: Signalish; textDecoration?: Signalish; "text-decoration"?: Signalish; textLength?: Signalish; textRendering?: Signalish; "text-rendering"?: Signalish; to?: Signalish; transform?: Signalish; transformOrigin?: Signalish; "transform-origin"?: Signalish; type?: Signalish; u1?: Signalish; u2?: Signalish; underlinePosition?: Signalish; "underline-position"?: Signalish; underlineThickness?: Signalish; "underline-thickness"?: Signalish; unicode?: Signalish; unicodeBidi?: Signalish; "unicode-bidi"?: Signalish; unicodeRange?: Signalish; "unicode-range"?: Signalish; unitsPerEm?: Signalish; "units-per-em"?: Signalish; vAlphabetic?: Signalish; "v-alphabetic"?: Signalish; values?: Signalish; vectorEffect?: Signalish; "vector-effect"?: Signalish; version?: Signalish; vertAdvY?: Signalish; "vert-adv-y"?: Signalish; vertOriginX?: Signalish; "vert-origin-x"?: Signalish; vertOriginY?: Signalish; "vert-origin-y"?: Signalish; vHanging?: Signalish; "v-hanging"?: Signalish; vIdeographic?: Signalish; "v-ideographic"?: Signalish; viewBox?: Signalish; viewTarget?: Signalish; visibility?: Signalish; vMathematical?: Signalish; "v-mathematical"?: Signalish; width?: Signalish; wordSpacing?: Signalish; "word-spacing"?: Signalish; writingMode?: Signalish; "writing-mode"?: Signalish; x1?: Signalish; x2?: Signalish; x?: Signalish; xChannelSelector?: Signalish; xHeight?: Signalish; "x-height"?: Signalish; xmlBase?: Signalish; "xml:base"?: Signalish; xmlLang?: Signalish; "xml:lang"?: Signalish; xmlns?: Signalish; xmlnsXlink?: Signalish; xmlSpace?: Signalish; "xml:space"?: Signalish; y1?: Signalish; y2?: Signalish; y?: Signalish; yChannelSelector?: Signalish; z?: Signalish; zoomAndPan?: Signalish; } type TargetedEvent = Omit & { readonly currentTarget: Target; }; type TargetedAnimationEvent = TargetedEvent; type TargetedClipboardEvent = TargetedEvent; type TargetedCommandEvent = TargetedEvent; type TargetedCompositionEvent = TargetedEvent; type TargetedDragEvent = TargetedEvent; type TargetedFocusEvent = TargetedEvent; type TargetedInputEvent = TargetedEvent; type TargetedKeyboardEvent = TargetedEvent; type TargetedMouseEvent = TargetedEvent; type TargetedPointerEvent = TargetedEvent; type TargetedSnapEvent = TargetedEvent; type TargetedSubmitEvent = TargetedEvent; type TargetedTouchEvent = TargetedEvent; type TargetedToggleEvent = TargetedEvent; type TargetedTransitionEvent = TargetedEvent; type TargetedUIEvent = TargetedEvent; type TargetedWheelEvent = TargetedEvent; type TargetedPictureInPictureEvent = TargetedEvent; type EventHandler = { bivarianceHack(event: E): void; }["bivarianceHack"]; type AnimationEventHandler = EventHandler>; type ClipboardEventHandler = EventHandler>; type CommandEventHandler = EventHandler>; type CompositionEventHandler = EventHandler>; type DragEventHandler = EventHandler>; type ToggleEventHandler = EventHandler>; type FocusEventHandler = EventHandler>; type GenericEventHandler = EventHandler>; type InputEventHandler = EventHandler>; type KeyboardEventHandler = EventHandler>; type MouseEventHandler = EventHandler>; type PointerEventHandler = EventHandler>; type SnapEventHandler = EventHandler>; type SubmitEventHandler = EventHandler>; type TouchEventHandler = EventHandler>; type TransitionEventHandler = EventHandler>; type UIEventHandler = EventHandler>; type WheelEventHandler = EventHandler>; type PictureInPictureEventHandler = EventHandler>; interface DOMAttributes { /** Renderable children — strings are always TEXT (`raw()` is the only trusted-HTML path). */ children?: JSXNode; onLoad?: GenericEventHandler | undefined; onError?: GenericEventHandler | undefined; onCopy?: ClipboardEventHandler | undefined; onCut?: ClipboardEventHandler | undefined; onPaste?: ClipboardEventHandler | undefined; onCompositionEnd?: CompositionEventHandler | undefined; onCompositionStart?: CompositionEventHandler | undefined; onCompositionUpdate?: CompositionEventHandler | undefined; onBeforeToggle?: ToggleEventHandler | undefined; onToggle?: ToggleEventHandler | undefined; onClose?: GenericEventHandler | undefined; onCancel?: GenericEventHandler | undefined; onFocus?: FocusEventHandler | undefined; onFocusIn?: FocusEventHandler | undefined; onFocusOut?: FocusEventHandler | undefined; onBlur?: FocusEventHandler | undefined; onChange?: GenericEventHandler | undefined; onInput?: InputEventHandler | undefined; onBeforeInput?: InputEventHandler | undefined; onSearch?: GenericEventHandler | undefined; onSubmit?: SubmitEventHandler | undefined; onInvalid?: GenericEventHandler | undefined; onReset?: GenericEventHandler | undefined; onFormData?: GenericEventHandler | undefined; onKeyDown?: KeyboardEventHandler | undefined; onKeyPress?: KeyboardEventHandler | undefined; onKeyUp?: KeyboardEventHandler | undefined; onAbort?: GenericEventHandler | undefined; onCanPlay?: GenericEventHandler | undefined; onCanPlayThrough?: GenericEventHandler | undefined; onDurationChange?: GenericEventHandler | undefined; onEmptied?: GenericEventHandler | undefined; onEncrypted?: GenericEventHandler | undefined; onEnded?: GenericEventHandler | undefined; onLoadedData?: GenericEventHandler | undefined; onLoadedMetadata?: GenericEventHandler | undefined; onLoadStart?: GenericEventHandler | undefined; onPause?: GenericEventHandler | undefined; onPlay?: GenericEventHandler | undefined; onPlaying?: GenericEventHandler | undefined; onProgress?: GenericEventHandler | undefined; onRateChange?: GenericEventHandler | undefined; onSeeked?: GenericEventHandler | undefined; onSeeking?: GenericEventHandler | undefined; onStalled?: GenericEventHandler | undefined; onSuspend?: GenericEventHandler | undefined; onTimeUpdate?: GenericEventHandler | undefined; onVolumeChange?: GenericEventHandler | undefined; onWaiting?: GenericEventHandler | undefined; onClick?: MouseEventHandler | undefined; onContextMenu?: MouseEventHandler | undefined; onDblClick?: MouseEventHandler | undefined; onDrag?: DragEventHandler | undefined; onDragEnd?: DragEventHandler | undefined; onDragEnter?: DragEventHandler | undefined; onDragExit?: DragEventHandler | undefined; onDragLeave?: DragEventHandler | undefined; onDragOver?: DragEventHandler | undefined; onDragStart?: DragEventHandler | undefined; onDrop?: DragEventHandler | undefined; onMouseDown?: MouseEventHandler | undefined; onMouseEnter?: MouseEventHandler | undefined; onMouseLeave?: MouseEventHandler | undefined; onMouseMove?: MouseEventHandler | undefined; onMouseOut?: MouseEventHandler | undefined; onMouseOver?: MouseEventHandler | undefined; onMouseUp?: MouseEventHandler | undefined; onAuxClick?: MouseEventHandler | undefined; onSelect?: GenericEventHandler | undefined; onTouchCancel?: TouchEventHandler | undefined; onTouchEnd?: TouchEventHandler | undefined; onTouchMove?: TouchEventHandler | undefined; onTouchStart?: TouchEventHandler | undefined; onPointerOver?: PointerEventHandler | undefined; onPointerEnter?: PointerEventHandler | undefined; onPointerDown?: PointerEventHandler | undefined; onPointerMove?: PointerEventHandler | undefined; onPointerUp?: PointerEventHandler | undefined; onPointerCancel?: PointerEventHandler | undefined; onPointerOut?: PointerEventHandler | undefined; onPointerLeave?: PointerEventHandler | undefined; onGotPointerCapture?: PointerEventHandler | undefined; onLostPointerCapture?: PointerEventHandler | undefined; onScroll?: GenericEventHandler | undefined; onScrollEnd?: GenericEventHandler | undefined; onScrollSnapChange?: SnapEventHandler | undefined; onScrollSnapChanging?: SnapEventHandler | undefined; onWheel?: WheelEventHandler | undefined; onAnimationStart?: AnimationEventHandler | undefined; onAnimationEnd?: AnimationEventHandler | undefined; onAnimationIteration?: AnimationEventHandler | undefined; onTransitionCancel?: TransitionEventHandler; onTransitionEnd?: TransitionEventHandler; onTransitionRun?: TransitionEventHandler; onTransitionStart?: TransitionEventHandler; onEnterPictureInPicture?: PictureInPictureEventHandler; onLeavePictureInPicture?: PictureInPictureEventHandler; onResize?: UIEventHandler; onCommand?: CommandEventHandler; } interface AriaAttributes { /** Identifies the currently active element when DOM focus is on a composite widget, textbox, group, or application. */ "aria-activedescendant"?: Signalish; /** Indicates whether assistive technologies will present all, or only parts of, the changed region based on the change notifications defined by the aria-relevant attribute. */ "aria-atomic"?: Signalish; /** * Indicates whether inputting text could trigger display of one or more predictions of the user's intended value for an input and specifies how predictions would be * presented if they are made. */ "aria-autocomplete"?: Signalish<"none" | "inline" | "list" | "both" | undefined>; /** * Defines a string value that labels the current element, which is intended to be converted into Braille. * @see aria-label. */ "aria-braillelabel"?: Signalish; /** * Defines a human-readable, author-localized abbreviated description for the role of an element, which is intended to be converted into Braille. * @see aria-roledescription. */ "aria-brailleroledescription"?: Signalish; /** Indicates an element is being modified and that assistive technologies MAY want to wait until the modifications are complete before exposing them to the user. */ "aria-busy"?: Signalish; /** * Indicates the current "checked" state of checkboxes, radio buttons, and other widgets. * @see aria-pressed * @see aria-selected. */ "aria-checked"?: Signalish; /** * Defines the total number of columns in a table, grid, or treegrid. * @see aria-colindex. */ "aria-colcount"?: Signalish; /** * Defines an element's column index or position with respect to the total number of columns within a table, grid, or treegrid. * @see aria-colcount * @see aria-colspan. */ "aria-colindex"?: Signalish; /** * Defines a human readable text alternative of aria-colindex. * @see aria-rowindextext. */ "aria-colindextext"?: Signalish; /** * Defines the number of columns spanned by a cell or gridcell within a table, grid, or treegrid. * @see aria-colindex * @see aria-rowspan. */ "aria-colspan"?: Signalish; /** * Identifies the element (or elements) whose contents or presence are controlled by the current element. * @see aria-owns. */ "aria-controls"?: Signalish; /** Indicates the element that represents the current item within a container or set of related elements. */ "aria-current"?: Signalish; /** * Identifies the element (or elements) that describes the object. * @see aria-labelledby */ "aria-describedby"?: Signalish; /** * Defines a string value that describes or annotates the current element. * @see related aria-describedby. */ "aria-description"?: Signalish; /** * Identifies the element that provides a detailed, extended description for the object. * @see aria-describedby. */ "aria-details"?: Signalish; /** * Indicates that the element is perceivable but disabled, so it is not editable or otherwise operable. * @see aria-hidden * @see aria-readonly. */ "aria-disabled"?: Signalish; /** * Indicates what functions can be performed when a dragged object is released on the drop target. * @deprecated in ARIA 1.1 */ "aria-dropeffect"?: Signalish<"none" | "copy" | "execute" | "link" | "move" | "popup" | undefined>; /** * Identifies the element that provides an error message for the object. * @see aria-invalid * @see aria-describedby. */ "aria-errormessage"?: Signalish; /** Indicates whether the element, or another grouping element it controls, is currently expanded or collapsed. */ "aria-expanded"?: Signalish; /** * Identifies the next element (or elements) in an alternate reading order of content which, at the user's discretion, * allows assistive technology to override the general default of reading in document source order. */ "aria-flowto"?: Signalish; /** * Indicates an element's "grabbed" state in a drag-and-drop operation. * @deprecated in ARIA 1.1 */ "aria-grabbed"?: Signalish; /** Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by an element. */ "aria-haspopup"?: Signalish; /** * Indicates whether the element is exposed to an accessibility API. * @see aria-disabled. */ "aria-hidden"?: Signalish; /** * Indicates the entered value does not conform to the format expected by the application. * @see aria-errormessage. */ "aria-invalid"?: Signalish; /** Indicates keyboard shortcuts that an author has implemented to activate or give focus to an element. */ "aria-keyshortcuts"?: Signalish; /** * Defines a string value that labels the current element. * @see aria-labelledby. */ "aria-label"?: Signalish; /** * Identifies the element (or elements) that labels the current element. * @see aria-describedby. */ "aria-labelledby"?: Signalish; /** Defines the hierarchical level of an element within a structure. */ "aria-level"?: Signalish; /** Indicates that an element will be updated, and describes the types of updates the user agents, assistive technologies, and user can expect from the live region. */ "aria-live"?: Signalish<"off" | "assertive" | "polite" | undefined>; /** Indicates whether an element is modal when displayed. */ "aria-modal"?: Signalish; /** Indicates whether a text box accepts multiple lines of input or only a single line. */ "aria-multiline"?: Signalish; /** Indicates that the user may select more than one item from the current selectable descendants. */ "aria-multiselectable"?: Signalish; /** Indicates whether the element's orientation is horizontal, vertical, or unknown/ambiguous. */ "aria-orientation"?: Signalish<"horizontal" | "vertical" | undefined>; /** * Identifies an element (or elements) in order to define a visual, functional, or contextual parent/child relationship * between DOM elements where the DOM hierarchy cannot be used to represent the relationship. * @see aria-controls. */ "aria-owns"?: Signalish; /** * Defines a short hint (a word or short phrase) intended to aid the user with data entry when the control has no value. * A hint could be a sample value or a brief description of the expected format. */ "aria-placeholder"?: Signalish; /** * Defines an element's number or position in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM. * @see aria-setsize. */ "aria-posinset"?: Signalish; /** * Indicates the current "pressed" state of toggle buttons. * @see aria-checked * @see aria-selected. */ "aria-pressed"?: Signalish; /** * Indicates that the element is not editable, but is otherwise operable. * @see aria-disabled. */ "aria-readonly"?: Signalish; /** * Indicates what notifications the user agent will trigger when the accessibility tree within a live region is modified. * @see aria-atomic. */ "aria-relevant"?: Signalish<"additions" | "additions removals" | "additions text" | "all" | "removals" | "removals additions" | "removals text" | "text" | "text additions" | "text removals" | undefined>; /** Indicates that user input is required on the element before a form may be submitted. */ "aria-required"?: Signalish; /** Defines a human-readable, author-localized description for the role of an element. */ "aria-roledescription"?: Signalish; /** * Defines the total number of rows in a table, grid, or treegrid. * @see aria-rowindex. */ "aria-rowcount"?: Signalish; /** * Defines an element's row index or position with respect to the total number of rows within a table, grid, or treegrid. * @see aria-rowcount * @see aria-rowspan. */ "aria-rowindex"?: Signalish; /** * Defines a human readable text alternative of aria-rowindex. * @see aria-colindextext. */ "aria-rowindextext"?: Signalish; /** * Defines the number of rows spanned by a cell or gridcell within a table, grid, or treegrid. * @see aria-rowindex * @see aria-colspan. */ "aria-rowspan"?: Signalish; /** * Indicates the current "selected" state of various widgets. * @see aria-checked * @see aria-pressed. */ "aria-selected"?: Signalish; /** * Defines the number of items in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM. * @see aria-posinset. */ "aria-setsize"?: Signalish; /** Indicates if items in a table or grid are sorted in ascending or descending order. */ "aria-sort"?: Signalish<"none" | "ascending" | "descending" | "other" | undefined>; /** Defines the maximum allowed value for a range widget. */ "aria-valuemax"?: Signalish; /** Defines the minimum allowed value for a range widget. */ "aria-valuemin"?: Signalish; /** * Defines the current value for a range widget. * @see aria-valuetext. */ "aria-valuenow"?: Signalish; /** Defines the human readable text alternative of aria-valuenow for a range widget. */ "aria-valuetext"?: Signalish; } type WAIAriaRole = "alert" | "alertdialog" | "application" | "article" | "banner" | "blockquote" | "button" | "caption" | "cell" | "checkbox" | "code" | "columnheader" | "combobox" | "command" | "complementary" | "composite" | "contentinfo" | "definition" | "deletion" | "dialog" | "directory" | "document" | "emphasis" | "feed" | "figure" | "form" | "grid" | "gridcell" | "group" | "heading" | "img" | "input" | "insertion" | "landmark" | "link" | "list" | "listbox" | "listitem" | "log" | "main" | "marquee" | "math" | "meter" | "menu" | "menubar" | "menuitem" | "menuitemcheckbox" | "menuitemradio" | "navigation" | "none" | "note" | "option" | "paragraph" | "presentation" | "progressbar" | "radio" | "radiogroup" | "range" | "region" | "roletype" | "row" | "rowgroup" | "rowheader" | "scrollbar" | "search" | "searchbox" | "section" | "sectionhead" | "select" | "separator" | "slider" | "spinbutton" | "status" | "strong" | "structure" | "subscript" | "superscript" | "switch" | "tab" | "table" | "tablist" | "tabpanel" | "term" | "textbox" | "time" | "timer" | "toolbar" | "tooltip" | "tree" | "treegrid" | "treeitem" | "widget" | "window" | "none presentation"; type DPubAriaRole = "doc-abstract" | "doc-acknowledgments" | "doc-afterword" | "doc-appendix" | "doc-backlink" | "doc-biblioentry" | "doc-bibliography" | "doc-biblioref" | "doc-chapter" | "doc-colophon" | "doc-conclusion" | "doc-cover" | "doc-credit" | "doc-credits" | "doc-dedication" | "doc-endnote" | "doc-endnotes" | "doc-epigraph" | "doc-epilogue" | "doc-errata" | "doc-example" | "doc-footnote" | "doc-foreword" | "doc-glossary" | "doc-glossref" | "doc-index" | "doc-introduction" | "doc-noteref" | "doc-notice" | "doc-pagebreak" | "doc-pagelist" | "doc-part" | "doc-preface" | "doc-prologue" | "doc-pullquote" | "doc-qna" | "doc-subtitle" | "doc-tip" | "doc-toc"; type AriaRole = WAIAriaRole | DPubAriaRole; interface AllHTMLAttributes extends ClassAttributes, DOMAttributes, AriaAttributes { /** `data-*` attributes — serialized (escaped) like any other attribute. */ [key: `data-${string}`]: Signalish; accept?: Signalish; acceptCharset?: Signalish; "accept-charset"?: Signalish; accessKey?: Signalish; accesskey?: Signalish; action?: Signalish; allow?: Signalish; allowFullScreen?: Signalish; allowTransparency?: Signalish; alt?: Signalish; as?: Signalish; async?: Signalish; autocomplete?: Signalish; autoComplete?: Signalish; autocorrect?: Signalish; autoCorrect?: Signalish; autofocus?: Signalish; autoFocus?: Signalish; autoPlay?: Signalish; autoplay?: Signalish; capture?: Signalish; cellPadding?: Signalish; cellSpacing?: Signalish; charSet?: Signalish; charset?: Signalish; challenge?: Signalish; checked?: Signalish; cite?: Signalish; /** Class value: string, nestable array (falsy entries dropped), or truthy-key map. */ class?: Signalish; /** Alias of `class` (React muscle memory). */ className?: Signalish; cols?: Signalish; colSpan?: Signalish; colspan?: Signalish; content?: Signalish; contentEditable?: Signalish; contenteditable?: Signalish; /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/contextmenu */ contextMenu?: Signalish; /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/contextmenu */ contextmenu?: Signalish; controls?: Signalish; controlslist?: Signalish; controlsList?: Signalish; coords?: Signalish; crossOrigin?: Signalish; crossorigin?: Signalish; data?: Signalish; dateTime?: Signalish; datetime?: Signalish; default?: Signalish; defer?: Signalish; dir?: Signalish<"auto" | "rtl" | "ltr" | undefined>; disabled?: Signalish; disableremoteplayback?: Signalish; disableRemotePlayback?: Signalish; download?: Signalish; decoding?: Signalish<"sync" | "async" | "auto" | undefined>; draggable?: Signalish; encType?: Signalish; enctype?: Signalish; enterkeyhint?: Signalish<"enter" | "done" | "go" | "next" | "previous" | "search" | "send" | undefined>; elementTiming?: Signalish; elementtiming?: Signalish; exportparts?: Signalish; for?: Signalish; form?: Signalish; formAction?: Signalish; formaction?: Signalish; formEncType?: Signalish; formenctype?: Signalish; formMethod?: Signalish; formmethod?: Signalish; formNoValidate?: Signalish; formnovalidate?: Signalish; formTarget?: Signalish; formtarget?: Signalish; frameBorder?: Signalish; frameborder?: Signalish; headers?: Signalish; height?: Signalish; hidden?: Signalish; high?: Signalish; href?: Signalish; hrefLang?: Signalish; hreflang?: Signalish; htmlFor?: Signalish; httpEquiv?: Signalish; "http-equiv"?: Signalish; icon?: Signalish; id?: Signalish; inert?: Signalish; inputMode?: Signalish; inputmode?: Signalish; integrity?: Signalish; is?: Signalish; keyParams?: Signalish; keyType?: Signalish; kind?: Signalish; label?: Signalish; lang?: Signalish; list?: Signalish; loading?: Signalish<"eager" | "lazy" | undefined>; loop?: Signalish; low?: Signalish; manifest?: Signalish; marginHeight?: Signalish; marginWidth?: Signalish; max?: Signalish; maxLength?: Signalish; maxlength?: Signalish; media?: Signalish; mediaGroup?: Signalish; method?: Signalish; min?: Signalish; minLength?: Signalish; minlength?: Signalish; multiple?: Signalish; muted?: Signalish; name?: Signalish; nomodule?: Signalish; nonce?: Signalish; noValidate?: Signalish; novalidate?: Signalish; open?: Signalish; optimum?: Signalish; part?: Signalish; pattern?: Signalish; ping?: Signalish; placeholder?: Signalish; playsInline?: Signalish; playsinline?: Signalish; popover?: Signalish<"auto" | "hint" | "manual" | boolean | undefined>; popovertarget?: Signalish; popoverTarget?: Signalish; popovertargetaction?: Signalish<"hide" | "show" | "toggle" | undefined>; popoverTargetAction?: Signalish<"hide" | "show" | "toggle" | undefined>; poster?: Signalish; preload?: Signalish<"auto" | "metadata" | "none" | undefined>; radioGroup?: Signalish; readonly?: Signalish; readOnly?: Signalish; referrerpolicy?: Signalish<"no-referrer" | "no-referrer-when-downgrade" | "origin" | "origin-when-cross-origin" | "same-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url" | undefined>; rel?: Signalish; required?: Signalish; reversed?: Signalish; role?: Signalish; rows?: Signalish; rowSpan?: Signalish; rowspan?: Signalish; sandbox?: Signalish; scope?: Signalish; scoped?: Signalish; scrolling?: Signalish; seamless?: Signalish; selected?: Signalish; shape?: Signalish; size?: Signalish; sizes?: Signalish; slot?: Signalish; span?: Signalish; spellcheck?: Signalish; src?: Signalish; srcDoc?: Signalish; srcdoc?: Signalish; srcLang?: Signalish; srclang?: Signalish; srcSet?: Signalish; srcset?: Signalish; start?: Signalish; step?: Signalish; /** Inline style: raw string or camelCase object (no implicit `px`; `--vars` kept). */ style?: Signalish; summary?: Signalish; tabIndex?: Signalish; tabindex?: Signalish; target?: Signalish; title?: Signalish; type?: Signalish; useMap?: Signalish; usemap?: Signalish; value?: Signalish; width?: Signalish; wmode?: Signalish; wrap?: Signalish; autocapitalize?: Signalish<"off" | "none" | "on" | "sentences" | "words" | "characters" | undefined>; autoCapitalize?: Signalish<"off" | "none" | "on" | "sentences" | "words" | "characters" | undefined>; disablePictureInPicture?: Signalish; results?: Signalish; translate?: Signalish<"yes" | "no" | undefined>; about?: Signalish; datatype?: Signalish; inlist?: Signalish; prefix?: Signalish; property?: Signalish; resource?: Signalish; typeof?: Signalish; vocab?: Signalish; itemProp?: Signalish; itemprop?: Signalish; itemScope?: Signalish; itemscope?: Signalish; itemType?: Signalish; itemtype?: Signalish; itemID?: Signalish; itemid?: Signalish; itemRef?: Signalish; itemref?: Signalish; } interface HTMLAttributes extends ClassAttributes, DOMAttributes, AriaAttributes { /** `data-*` attributes — serialized (escaped) like any other attribute. */ [key: `data-${string}`]: Signalish; accesskey?: Signalish; accessKey?: Signalish; autocapitalize?: Signalish<"off" | "none" | "on" | "sentences" | "words" | "characters" | undefined>; autoCapitalize?: Signalish<"off" | "none" | "on" | "sentences" | "words" | "characters" | undefined>; autocorrect?: Signalish; autoCorrect?: Signalish; autofocus?: Signalish; autoFocus?: Signalish; /** Class value: string, nestable array (falsy entries dropped), or truthy-key map. */ class?: Signalish; /** Alias of `class` (React muscle memory). */ className?: Signalish; contenteditable?: Signalish; contentEditable?: Signalish; dir?: Signalish<"auto" | "rtl" | "ltr" | undefined>; draggable?: Signalish; enterkeyhint?: Signalish<"enter" | "done" | "go" | "next" | "previous" | "search" | "send" | undefined>; exportparts?: Signalish; hidden?: Signalish; id?: Signalish; inert?: Signalish; inputmode?: Signalish; inputMode?: Signalish; is?: Signalish; lang?: Signalish; nonce?: Signalish; part?: Signalish; popover?: Signalish<"auto" | "hint" | "manual" | boolean | undefined>; slot?: Signalish; spellcheck?: Signalish; /** Inline style: raw string or camelCase object (no implicit `px`; `--vars` kept). */ style?: Signalish; tabindex?: Signalish; tabIndex?: Signalish; title?: Signalish; translate?: Signalish<"yes" | "no" | undefined>; role?: Signalish; disablePictureInPicture?: Signalish; elementtiming?: Signalish; elementTiming?: Signalish; results?: Signalish; about?: Signalish; datatype?: Signalish; inlist?: Signalish; prefix?: Signalish; property?: Signalish; resource?: Signalish; typeof?: Signalish; vocab?: Signalish; itemid?: Signalish; itemID?: Signalish; itemprop?: Signalish; itemProp?: Signalish; itemref?: Signalish; itemRef?: Signalish; itemscope?: Signalish; itemScope?: Signalish; itemtype?: Signalish; itemType?: Signalish; } type HTMLAttributeReferrerPolicy = "" | "no-referrer" | "no-referrer-when-downgrade" | "origin" | "origin-when-cross-origin" | "same-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url"; type HTMLAttributeAnchorTarget = "_self" | "_blank" | "_parent" | "_top" | (string & {}); interface AnchorHTMLAttributes extends HTMLAttributes { download?: Signalish; href?: Signalish; hreflang?: Signalish; hrefLang?: Signalish; media?: Signalish; ping?: Signalish; rel?: Signalish; target?: Signalish; type?: Signalish; referrerpolicy?: Signalish; referrerPolicy?: Signalish; } interface AreaHTMLAttributes extends HTMLAttributes { alt?: Signalish; coords?: Signalish; download?: Signalish; href?: Signalish; hreflang?: Signalish; hrefLang?: Signalish; media?: Signalish; referrerpolicy?: Signalish; referrerPolicy?: Signalish; rel?: Signalish; shape?: Signalish; target?: Signalish; } interface AudioHTMLAttributes extends MediaHTMLAttributes { } interface BaseHTMLAttributes extends HTMLAttributes { href?: Signalish; target?: Signalish; } interface BlockquoteHTMLAttributes extends HTMLAttributes { cite?: Signalish; } interface ButtonHTMLAttributes extends HTMLAttributes { command?: Signalish; commandfor?: Signalish; commandFor?: Signalish; disabled?: Signalish; form?: Signalish; formaction?: Signalish; formAction?: Signalish; formenctype?: Signalish; formEncType?: Signalish; formmethod?: Signalish; formMethod?: Signalish; formnovalidate?: Signalish; formNoValidate?: Signalish; formtarget?: Signalish; formTarget?: Signalish; name?: Signalish; popovertarget?: Signalish; popoverTarget?: Signalish; popovertargetaction?: Signalish<"hide" | "show" | "toggle" | undefined>; popoverTargetAction?: Signalish<"hide" | "show" | "toggle" | undefined>; type?: Signalish<"submit" | "reset" | "button" | undefined>; value?: Signalish; } interface CanvasHTMLAttributes extends HTMLAttributes { height?: Signalish; width?: Signalish; } interface ColHTMLAttributes extends HTMLAttributes { span?: Signalish; width?: Signalish; } interface ColgroupHTMLAttributes extends HTMLAttributes { span?: Signalish; } interface DataHTMLAttributes extends HTMLAttributes { value?: Signalish; } interface DelHTMLAttributes extends HTMLAttributes { cite?: Signalish; datetime?: Signalish; dateTime?: Signalish; } interface DetailsHTMLAttributes extends HTMLAttributes { name?: Signalish; open?: Signalish; } interface DialogHTMLAttributes extends HTMLAttributes { onCancel?: GenericEventHandler | undefined; onClose?: GenericEventHandler | undefined; open?: Signalish; closedby?: Signalish<"none" | "closerequest" | "any" | undefined>; closedBy?: Signalish<"none" | "closerequest" | "any" | undefined>; } interface EmbedHTMLAttributes extends HTMLAttributes { height?: Signalish; src?: Signalish; type?: Signalish; width?: Signalish; } interface FieldsetHTMLAttributes extends HTMLAttributes { disabled?: Signalish; form?: Signalish; name?: Signalish; } interface FormHTMLAttributes extends HTMLAttributes { "accept-charset"?: Signalish; acceptCharset?: Signalish; action?: Signalish; autocomplete?: Signalish; autoComplete?: Signalish; enctype?: Signalish; encType?: Signalish; method?: Signalish; name?: Signalish; novalidate?: Signalish; noValidate?: Signalish; rel?: Signalish; target?: Signalish; } interface IframeHTMLAttributes extends HTMLAttributes { allow?: Signalish; allowFullScreen?: Signalish; allowTransparency?: Signalish; /** @deprecated */ frameborder?: Signalish; /** @deprecated */ frameBorder?: Signalish; height?: Signalish; loading?: Signalish<"eager" | "lazy" | undefined>; /** @deprecated */ marginHeight?: Signalish; /** @deprecated */ marginWidth?: Signalish; name?: Signalish; referrerpolicy?: Signalish; referrerPolicy?: Signalish; sandbox?: Signalish; /** @deprecated */ scrolling?: Signalish; seamless?: Signalish; src?: Signalish; srcdoc?: Signalish; srcDoc?: Signalish; width?: Signalish; } type HTMLAttributeCrossOrigin = "anonymous" | "use-credentials"; interface ImgHTMLAttributes extends HTMLAttributes { alt?: Signalish; crossorigin?: Signalish; crossOrigin?: Signalish; decoding?: Signalish<"async" | "auto" | "sync" | undefined>; fetchpriority?: Signalish<"high" | "auto" | "low" | undefined>; fetchPriority?: Signalish<"high" | "auto" | "low" | undefined>; height?: Signalish; loading?: Signalish<"eager" | "lazy" | undefined>; referrerpolicy?: Signalish; referrerPolicy?: Signalish; sizes?: Signalish; src?: Signalish; srcset?: Signalish; srcSet?: Signalish; usemap?: Signalish; useMap?: Signalish; width?: Signalish; } type HTMLInputTypeAttribute = "button" | "checkbox" | "color" | "date" | "datetime-local" | "email" | "file" | "hidden" | "image" | "month" | "number" | "password" | "radio" | "range" | "reset" | "search" | "submit" | "tel" | "text" | "time" | "url" | "week" | (string & {}); interface InputHTMLAttributes extends HTMLAttributes { accept?: Signalish; alt?: Signalish; autocomplete?: Signalish; autoComplete?: Signalish; capture?: Signalish<"user" | "environment" | undefined>; checked?: Signalish; disabled?: Signalish; enterKeyHint?: Signalish<"enter" | "done" | "go" | "next" | "previous" | "search" | "send" | undefined>; form?: Signalish; formaction?: Signalish; formAction?: Signalish; formenctype?: Signalish; formEncType?: Signalish; formmethod?: Signalish; formMethod?: Signalish; formnovalidate?: Signalish; formNoValidate?: Signalish; formtarget?: Signalish; formTarget?: Signalish; height?: Signalish; list?: Signalish; max?: Signalish; maxlength?: Signalish; maxLength?: Signalish; min?: Signalish; minlength?: Signalish; minLength?: Signalish; multiple?: Signalish; name?: Signalish; pattern?: Signalish; placeholder?: Signalish; readonly?: Signalish; readOnly?: Signalish; required?: Signalish; size?: Signalish; src?: Signalish; step?: Signalish; type?: Signalish; value?: Signalish; width?: Signalish; onChange?: GenericEventHandler | undefined; } interface InsHTMLAttributes extends HTMLAttributes { cite?: Signalish; datetime?: Signalish; dateTime?: Signalish; } interface KeygenHTMLAttributes extends HTMLAttributes { challenge?: Signalish; disabled?: Signalish; form?: Signalish; keyType?: Signalish; keyParams?: Signalish; name?: Signalish; } interface LabelHTMLAttributes extends HTMLAttributes { for?: Signalish; form?: Signalish; htmlFor?: Signalish; } interface LiHTMLAttributes extends HTMLAttributes { value?: Signalish; } interface LinkHTMLAttributes extends HTMLAttributes { as?: Signalish; crossorigin?: Signalish; crossOrigin?: Signalish; fetchpriority?: Signalish<"high" | "low" | "auto" | undefined>; fetchPriority?: Signalish<"high" | "low" | "auto" | undefined>; href?: Signalish; hreflang?: Signalish; hrefLang?: Signalish; integrity?: Signalish; media?: Signalish; imageSrcSet?: Signalish; referrerpolicy?: Signalish; referrerPolicy?: Signalish; rel?: Signalish; sizes?: Signalish; type?: Signalish; charset?: Signalish; charSet?: Signalish; } interface MapHTMLAttributes extends HTMLAttributes { name?: Signalish; } interface MarqueeHTMLAttributes extends HTMLAttributes { behavior?: Signalish<"scroll" | "slide" | "alternate" | undefined>; bgColor?: Signalish; direction?: Signalish<"left" | "right" | "up" | "down" | undefined>; height?: Signalish; hspace?: Signalish; loop?: Signalish; scrollAmount?: Signalish; scrollDelay?: Signalish; trueSpeed?: Signalish; vspace?: Signalish; width?: Signalish; } interface MediaHTMLAttributes extends HTMLAttributes { autoplay?: Signalish; autoPlay?: Signalish; controls?: Signalish; controlslist?: Signalish; controlsList?: Signalish; crossorigin?: Signalish; crossOrigin?: Signalish; disableremoteplayback?: Signalish; disableRemotePlayback?: Signalish; loop?: Signalish; mediaGroup?: Signalish; muted?: Signalish; preload?: Signalish<"auto" | "metadata" | "none" | undefined>; src?: Signalish; } interface MenuHTMLAttributes extends HTMLAttributes { type?: Signalish; } interface MetaHTMLAttributes extends HTMLAttributes { charset?: Signalish; charSet?: Signalish; content?: Signalish; "http-equiv"?: Signalish; httpEquiv?: Signalish; name?: Signalish; media?: Signalish; } interface MeterHTMLAttributes extends HTMLAttributes { form?: Signalish; high?: Signalish; low?: Signalish; max?: Signalish; min?: Signalish; optimum?: Signalish; value?: Signalish; } interface ObjectHTMLAttributes extends HTMLAttributes { classID?: Signalish; data?: Signalish; form?: Signalish; height?: Signalish; name?: Signalish; type?: Signalish; usemap?: Signalish; useMap?: Signalish; width?: Signalish; wmode?: Signalish; } interface OlHTMLAttributes extends HTMLAttributes { reversed?: Signalish; start?: Signalish; type?: Signalish<"1" | "a" | "A" | "i" | "I" | undefined>; } interface OptgroupHTMLAttributes extends HTMLAttributes { disabled?: Signalish; label?: Signalish; } interface OptionHTMLAttributes extends HTMLAttributes { disabled?: Signalish; label?: Signalish; selected?: Signalish; value?: Signalish; } interface OutputHTMLAttributes extends HTMLAttributes { for?: Signalish; form?: Signalish; htmlFor?: Signalish; name?: Signalish; } interface ParamHTMLAttributes extends HTMLAttributes { name?: Signalish; value?: Signalish; } interface ProgressHTMLAttributes extends HTMLAttributes { max?: Signalish; value?: Signalish; } interface QuoteHTMLAttributes extends HTMLAttributes { cite?: Signalish; } interface ScriptHTMLAttributes extends HTMLAttributes { async?: Signalish; /** @deprecated */ charset?: Signalish; /** @deprecated */ charSet?: Signalish; crossorigin?: Signalish; crossOrigin?: Signalish; defer?: Signalish; integrity?: Signalish; nomodule?: Signalish; noModule?: Signalish; referrerpolicy?: Signalish; referrerPolicy?: Signalish; src?: Signalish; type?: Signalish; } interface SelectHTMLAttributes extends HTMLAttributes { autocomplete?: Signalish; autoComplete?: Signalish; disabled?: Signalish; form?: Signalish; multiple?: Signalish; name?: Signalish; required?: Signalish; size?: Signalish; value?: Signalish; onChange?: GenericEventHandler | undefined; } interface SlotHTMLAttributes extends HTMLAttributes { name?: Signalish; } interface SourceHTMLAttributes extends HTMLAttributes { height?: Signalish; media?: Signalish; sizes?: Signalish; src?: Signalish; srcset?: Signalish; srcSet?: Signalish; type?: Signalish; width?: Signalish; } interface StyleHTMLAttributes extends HTMLAttributes { media?: Signalish; scoped?: Signalish; type?: Signalish; } interface TableHTMLAttributes extends HTMLAttributes { cellPadding?: Signalish; cellSpacing?: Signalish; summary?: Signalish; width?: Signalish; } interface TdHTMLAttributes extends HTMLAttributes { align?: Signalish<"left" | "center" | "right" | "justify" | "char" | undefined>; colspan?: Signalish; colSpan?: Signalish; headers?: Signalish; rowspan?: Signalish; rowSpan?: Signalish; scope?: Signalish; abbr?: Signalish; height?: Signalish; width?: Signalish; valign?: Signalish<"top" | "middle" | "bottom" | "baseline" | undefined>; } interface TextareaHTMLAttributes extends HTMLAttributes { autocomplete?: Signalish; autoComplete?: Signalish; cols?: Signalish; dirName?: Signalish; disabled?: Signalish; form?: Signalish; maxlength?: Signalish; maxLength?: Signalish; minlength?: Signalish; minLength?: Signalish; name?: Signalish; placeholder?: Signalish; readOnly?: Signalish; required?: Signalish; rows?: Signalish; value?: Signalish; wrap?: Signalish; onChange?: GenericEventHandler | undefined; } interface ThHTMLAttributes extends HTMLAttributes { align?: Signalish<"left" | "center" | "right" | "justify" | "char" | undefined>; colspan?: Signalish; colSpan?: Signalish; headers?: Signalish; rowspan?: Signalish; rowSpan?: Signalish; scope?: Signalish; abbr?: Signalish; } interface TimeHTMLAttributes extends HTMLAttributes { datetime?: Signalish; dateTime?: Signalish; } interface TrackHTMLAttributes extends HTMLAttributes { default?: Signalish; kind?: Signalish; label?: Signalish; src?: Signalish; srclang?: Signalish; srcLang?: Signalish; } interface VideoHTMLAttributes extends MediaHTMLAttributes { disablePictureInPicture?: Signalish; height?: Signalish; playsinline?: Signalish; playsInline?: Signalish; poster?: Signalish; width?: Signalish; } interface MathMLAttributes extends HTMLAttributes { dir?: Signalish<"ltr" | "rtl" | undefined>; displaystyle?: Signalish; /** @deprecated This feature is non-standard. See https://developer.mozilla.org/en-US/docs/Web/MathML/Global_attributes/href */ href?: Signalish; /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Global_attributes/mathbackground */ mathbackground?: Signalish; /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Global_attributes/mathcolor */ mathcolor?: Signalish; /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Global_attributes/mathsize */ mathsize?: Signalish; nonce?: Signalish; scriptlevel?: Signalish; } interface AnnotationMathMLAttributes extends MathMLAttributes { encoding?: Signalish; /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/semantics#src */ src?: Signalish; } interface AnnotationXmlMathMLAttributes extends MathMLAttributes { encoding?: Signalish; /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/semantics#src */ src?: Signalish; } interface MActionMathMLAttributes extends MathMLAttributes { /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/maction#actiontype */ actiontype?: Signalish<"statusline" | "toggle" | undefined>; /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/maction#selection */ selection?: Signalish; } interface MathMathMLAttributes extends MathMLAttributes { display?: Signalish<"block" | "inline" | undefined>; } interface MEncloseMathMLAttributes extends MathMLAttributes { notation?: Signalish; } interface MErrorMathMLAttributes extends MathMLAttributes { } interface MFencedMathMLAttributes extends MathMLAttributes { close?: Signalish; open?: Signalish; separators?: Signalish; } interface MFracMathMLAttributes extends MathMLAttributes { /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mfrac#denomalign */ denomalign?: Signalish<"center" | "left" | "right" | undefined>; linethickness?: Signalish; /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mfrac#numalign */ numalign?: Signalish<"center" | "left" | "right" | undefined>; } interface MiMathMLAttributes extends MathMLAttributes { /** The only value allowed in the current specification is normal (case insensitive) * See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mi#mathvariant */ mathvariant?: Signalish<"normal" | "bold" | "italic" | "bold-italic" | "double-struck" | "bold-fraktur" | "script" | "bold-script" | "fraktur" | "sans-serif" | "bold-sans-serif" | "sans-serif-italic" | "sans-serif-bold-italic" | "monospace" | "initial" | "tailed" | "looped" | "stretched" | undefined>; } interface MmultiScriptsMathMLAttributes extends MathMLAttributes { /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mmultiscripts#subscriptshift */ subscriptshift?: Signalish; /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mmultiscripts#superscriptshift */ superscriptshift?: Signalish; } interface MNMathMLAttributes extends MathMLAttributes { } interface MOMathMLAttributes extends MathMLAttributes { /** Non-standard attribute See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mo#accent */ accent?: Signalish; fence?: Signalish; largeop?: Signalish; lspace?: Signalish; maxsize?: Signalish; minsize?: Signalish; movablelimits?: Signalish; rspace?: Signalish; separator?: Signalish; stretchy?: Signalish; symmetric?: Signalish; } interface MOverMathMLAttributes extends MathMLAttributes { accent?: Signalish; } interface MPaddedMathMLAttributes extends MathMLAttributes { depth?: Signalish; height?: Signalish; lspace?: Signalish; voffset?: Signalish; width?: Signalish; } interface MPhantomMathMLAttributes extends MathMLAttributes { } interface MPrescriptsMathMLAttributes extends MathMLAttributes { } interface MRootMathMLAttributes extends MathMLAttributes { } interface MRowMathMLAttributes extends MathMLAttributes { } interface MSMathMLAttributes extends MathMLAttributes { /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/ms#browser_compatibility */ lquote?: Signalish; /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/ms#browser_compatibility */ rquote?: Signalish; } interface MSpaceMathMLAttributes extends MathMLAttributes { depth?: Signalish; height?: Signalish; width?: Signalish; } interface MSqrtMathMLAttributes extends MathMLAttributes { } interface MStyleMathMLAttributes extends MathMLAttributes { /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mstyle#background */ background?: Signalish; /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mstyle#color */ color?: Signalish; /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mstyle#fontsize */ fontsize?: Signalish; /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mstyle#fontstyle */ fontstyle?: Signalish; /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mstyle#fontweight */ fontweight?: Signalish; /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mstyle#scriptminsize */ scriptminsize?: Signalish; /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mstyle#scriptsizemultiplier */ scriptsizemultiplier?: Signalish; } interface MSubMathMLAttributes extends MathMLAttributes { /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/msub#subscriptshift */ subscriptshift?: Signalish; } interface MSubsupMathMLAttributes extends MathMLAttributes { /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/msubsup#subscriptshift */ subscriptshift?: Signalish; /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/msubsup#superscriptshift */ superscriptshift?: Signalish; } interface MSupMathMLAttributes extends MathMLAttributes { /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/msup#superscriptshift */ superscriptshift?: Signalish; } interface MTableMathMLAttributes extends MathMLAttributes { /** Non-standard attribute See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtable#align */ align?: Signalish<"axis" | "baseline" | "bottom" | "center" | "top" | undefined>; /** Non-standard attribute See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtable#columnalign */ columnalign?: Signalish<"center" | "left" | "right" | undefined>; /** Non-standard attribute See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtable#columnlines */ columnlines?: Signalish<"dashed" | "none" | "solid" | undefined>; /** Non-standard attribute See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtable#columnspacing */ columnspacing?: Signalish; /** Non-standard attribute See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtable#frame */ frame?: Signalish<"dashed" | "none" | "solid" | undefined>; /** Non-standard attribute See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtable#framespacing */ framespacing?: Signalish; /** Non-standard attribute See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtable#rowalign */ rowalign?: Signalish<"axis" | "baseline" | "bottom" | "center" | "top" | undefined>; /** Non-standard attribute See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtable#rowlines */ rowlines?: Signalish<"dashed" | "none" | "solid" | undefined>; /** Non-standard attribute See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtable#rowspacing */ rowspacing?: Signalish; /** Non-standard attribute See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtable#width */ width?: Signalish; } interface MTdMathMLAttributes extends MathMLAttributes { columnspan?: Signalish; rowspan?: Signalish; /** Non-standard attribute See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtd#columnalign */ columnalign?: Signalish<"center" | "left" | "right" | undefined>; /** Non-standard attribute See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtd#rowalign */ rowalign?: Signalish<"axis" | "baseline" | "bottom" | "center" | "top" | undefined>; } interface MTextMathMLAttributes extends MathMLAttributes { } interface MTrMathMLAttributes extends MathMLAttributes { /** Non-standard attribute See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtr#columnalign */ columnalign?: Signalish<"center" | "left" | "right" | undefined>; /** Non-standard attribute See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtr#rowalign */ rowalign?: Signalish<"axis" | "baseline" | "bottom" | "center" | "top" | undefined>; } interface MUnderMathMLAttributes extends MathMLAttributes { accentunder?: Signalish; } interface MUnderoverMathMLAttributes extends MathMLAttributes { accent?: Signalish; accentunder?: Signalish; } interface SemanticsMathMLAttributes extends MathMLAttributes { } interface IntrinsicSVGElements { svg: SVGAttributes; animate: SVGAttributes; circle: SVGAttributes; animateMotion: SVGAttributes; animateTransform: SVGAttributes; clipPath: SVGAttributes; defs: SVGAttributes; desc: SVGAttributes; ellipse: SVGAttributes; feBlend: SVGAttributes; feColorMatrix: SVGAttributes; feComponentTransfer: SVGAttributes; feComposite: SVGAttributes; feConvolveMatrix: SVGAttributes; feDiffuseLighting: SVGAttributes; feDisplacementMap: SVGAttributes; feDistantLight: SVGAttributes; feDropShadow: SVGAttributes; feFlood: SVGAttributes; feFuncA: SVGAttributes; feFuncB: SVGAttributes; feFuncG: SVGAttributes; feFuncR: SVGAttributes; feGaussianBlur: SVGAttributes; feImage: SVGAttributes; feMerge: SVGAttributes; feMergeNode: SVGAttributes; feMorphology: SVGAttributes; feOffset: SVGAttributes; fePointLight: SVGAttributes; feSpecularLighting: SVGAttributes; feSpotLight: SVGAttributes; feTile: SVGAttributes; feTurbulence: SVGAttributes; filter: SVGAttributes; foreignObject: SVGAttributes; g: SVGAttributes; image: SVGAttributes; line: SVGAttributes; linearGradient: SVGAttributes; marker: SVGAttributes; mask: SVGAttributes; metadata: SVGAttributes; mpath: SVGAttributes; path: SVGAttributes; pattern: SVGAttributes; polygon: SVGAttributes; polyline: SVGAttributes; radialGradient: SVGAttributes; rect: SVGAttributes; set: SVGAttributes; stop: SVGAttributes; switch: SVGAttributes; symbol: SVGAttributes; text: SVGAttributes; textPath: SVGAttributes; tspan: SVGAttributes; use: SVGAttributes; view: SVGAttributes; } interface IntrinsicMathMLElements { annotation: AnnotationMathMLAttributes; "annotation-xml": AnnotationXmlMathMLAttributes; /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/maction */ maction: MActionMathMLAttributes; math: MathMathMLAttributes; /** This feature is non-standard. See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/menclose */ menclose: MEncloseMathMLAttributes; merror: MErrorMathMLAttributes; /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mfenced */ mfenced: MFencedMathMLAttributes; mfrac: MFracMathMLAttributes; mi: MiMathMLAttributes; mmultiscripts: MmultiScriptsMathMLAttributes; mn: MNMathMLAttributes; mo: MOMathMLAttributes; mover: MOverMathMLAttributes; mpadded: MPaddedMathMLAttributes; mphantom: MPhantomMathMLAttributes; mprescripts: MPrescriptsMathMLAttributes; mroot: MRootMathMLAttributes; mrow: MRowMathMLAttributes; ms: MSMathMLAttributes; mspace: MSpaceMathMLAttributes; msqrt: MSqrtMathMLAttributes; mstyle: MStyleMathMLAttributes; msub: MSubMathMLAttributes; msubsup: MSubsupMathMLAttributes; msup: MSupMathMLAttributes; mtable: MTableMathMLAttributes; mtd: MTdMathMLAttributes; mtext: MTextMathMLAttributes; mtr: MTrMathMLAttributes; munder: MUnderMathMLAttributes; munderover: MUnderoverMathMLAttributes; semantics: SemanticsMathMLAttributes; } /** * Per-tag typed intrinsic elements (HTML + SVG + MathML). Backs * `JSX.IntrinsicElements` — named distinctly so the flattened d.ts bundle * cannot collide with the `JSX.IntrinsicElements` declaration itself. */ interface IntrinsicElements extends IntrinsicSVGElements, IntrinsicMathMLElements { a: AnchorHTMLAttributes; abbr: HTMLAttributes; address: HTMLAttributes; area: AreaHTMLAttributes; article: HTMLAttributes; aside: HTMLAttributes; audio: AudioHTMLAttributes; b: HTMLAttributes; base: BaseHTMLAttributes; bdi: HTMLAttributes; bdo: HTMLAttributes; big: HTMLAttributes; blockquote: BlockquoteHTMLAttributes; body: HTMLAttributes; br: HTMLAttributes; button: ButtonHTMLAttributes; canvas: CanvasHTMLAttributes; caption: HTMLAttributes; cite: HTMLAttributes; code: HTMLAttributes; col: ColHTMLAttributes; colgroup: ColgroupHTMLAttributes; data: DataHTMLAttributes; datalist: HTMLAttributes; dd: HTMLAttributes; del: DelHTMLAttributes; details: DetailsHTMLAttributes; dfn: HTMLAttributes; dialog: DialogHTMLAttributes; div: HTMLAttributes; dl: HTMLAttributes; dt: HTMLAttributes; em: HTMLAttributes; embed: EmbedHTMLAttributes; fieldset: FieldsetHTMLAttributes; figcaption: HTMLAttributes; figure: HTMLAttributes; footer: HTMLAttributes; form: FormHTMLAttributes; h1: HTMLAttributes; h2: HTMLAttributes; h3: HTMLAttributes; h4: HTMLAttributes; h5: HTMLAttributes; h6: HTMLAttributes; head: HTMLAttributes; header: HTMLAttributes; hgroup: HTMLAttributes; hr: HTMLAttributes; html: HTMLAttributes; i: HTMLAttributes; iframe: IframeHTMLAttributes; img: ImgHTMLAttributes; input: InputHTMLAttributes; ins: InsHTMLAttributes; kbd: HTMLAttributes; keygen: KeygenHTMLAttributes; label: LabelHTMLAttributes; legend: HTMLAttributes; li: LiHTMLAttributes; link: LinkHTMLAttributes; main: HTMLAttributes; map: MapHTMLAttributes; mark: HTMLAttributes; marquee: MarqueeHTMLAttributes; menu: MenuHTMLAttributes; menuitem: HTMLAttributes; meta: MetaHTMLAttributes; meter: MeterHTMLAttributes; nav: HTMLAttributes; noscript: HTMLAttributes; object: ObjectHTMLAttributes; ol: OlHTMLAttributes; optgroup: OptgroupHTMLAttributes; option: OptionHTMLAttributes; output: OutputHTMLAttributes; p: HTMLAttributes; param: ParamHTMLAttributes; picture: HTMLAttributes; pre: HTMLAttributes; progress: ProgressHTMLAttributes; q: QuoteHTMLAttributes; rp: HTMLAttributes; rt: HTMLAttributes; ruby: HTMLAttributes; s: HTMLAttributes; samp: HTMLAttributes; script: ScriptHTMLAttributes; search: HTMLAttributes; section: HTMLAttributes; select: SelectHTMLAttributes; slot: SlotHTMLAttributes; small: HTMLAttributes; source: SourceHTMLAttributes; span: HTMLAttributes; strong: HTMLAttributes; style: StyleHTMLAttributes; sub: HTMLAttributes; summary: HTMLAttributes; sup: HTMLAttributes; table: TableHTMLAttributes; tbody: HTMLAttributes; td: TdHTMLAttributes; template: HTMLAttributes; textarea: TextareaHTMLAttributes; tfoot: HTMLAttributes; th: ThHTMLAttributes; thead: HTMLAttributes; time: TimeHTMLAttributes; title: HTMLAttributes; tr: HTMLAttributes; track: TrackHTMLAttributes; u: HTMLAttributes; ul: HTMLAttributes; var: HTMLAttributes; video: VideoHTMLAttributes; wbr: HTMLAttributes; } } type Signalish = JSXInternal.Signalish; type ClassValue = JSXInternal.ClassValue; type RefCallback = JSXInternal.RefCallback; type RefObject = JSXInternal.RefObject; type Ref = JSXInternal.Ref; type ClassAttributes = JSXInternal.ClassAttributes; type ToggleEvent = JSXInternal.ToggleEvent; type CommandEvent = JSXInternal.CommandEvent; type SnapEvent = JSXInternal.SnapEvent; type Booleanish = JSXInternal.Booleanish; type DOMCSSProperties = JSXInternal.DOMCSSProperties; type AllCSSProperties = JSXInternal.AllCSSProperties; type CSSProperties = JSXInternal.CSSProperties; type SVGAttributes = JSXInternal.SVGAttributes; type TargetedEvent = JSXInternal.TargetedEvent; type TargetedAnimationEvent = JSXInternal.TargetedAnimationEvent; type TargetedClipboardEvent = JSXInternal.TargetedClipboardEvent; type TargetedCommandEvent = JSXInternal.TargetedCommandEvent; type TargetedCompositionEvent = JSXInternal.TargetedCompositionEvent; type TargetedDragEvent = JSXInternal.TargetedDragEvent; type TargetedFocusEvent = JSXInternal.TargetedFocusEvent; type TargetedInputEvent = JSXInternal.TargetedInputEvent; type TargetedKeyboardEvent = JSXInternal.TargetedKeyboardEvent; type TargetedMouseEvent = JSXInternal.TargetedMouseEvent; type TargetedPointerEvent = JSXInternal.TargetedPointerEvent; type TargetedSnapEvent = JSXInternal.TargetedSnapEvent; type TargetedSubmitEvent = JSXInternal.TargetedSubmitEvent; type TargetedTouchEvent = JSXInternal.TargetedTouchEvent; type TargetedToggleEvent = JSXInternal.TargetedToggleEvent; type TargetedTransitionEvent = JSXInternal.TargetedTransitionEvent; type TargetedUIEvent = JSXInternal.TargetedUIEvent; type TargetedWheelEvent = JSXInternal.TargetedWheelEvent; type TargetedPictureInPictureEvent = JSXInternal.TargetedPictureInPictureEvent; type EventHandler = JSXInternal.EventHandler; type AnimationEventHandler = JSXInternal.AnimationEventHandler; type ClipboardEventHandler = JSXInternal.ClipboardEventHandler; type CommandEventHandler = JSXInternal.CommandEventHandler; type CompositionEventHandler = JSXInternal.CompositionEventHandler; type DragEventHandler = JSXInternal.DragEventHandler; type ToggleEventHandler = JSXInternal.ToggleEventHandler; type FocusEventHandler = JSXInternal.FocusEventHandler; type GenericEventHandler = JSXInternal.GenericEventHandler; type InputEventHandler = JSXInternal.InputEventHandler; type KeyboardEventHandler = JSXInternal.KeyboardEventHandler; type MouseEventHandler = JSXInternal.MouseEventHandler; type PointerEventHandler = JSXInternal.PointerEventHandler; type SnapEventHandler = JSXInternal.SnapEventHandler; type SubmitEventHandler = JSXInternal.SubmitEventHandler; type TouchEventHandler = JSXInternal.TouchEventHandler; type TransitionEventHandler = JSXInternal.TransitionEventHandler; type UIEventHandler = JSXInternal.UIEventHandler; type WheelEventHandler = JSXInternal.WheelEventHandler; type PictureInPictureEventHandler = JSXInternal.PictureInPictureEventHandler; type DOMAttributes = JSXInternal.DOMAttributes; type AriaAttributes = JSXInternal.AriaAttributes; type WAIAriaRole = JSXInternal.WAIAriaRole; type DPubAriaRole = JSXInternal.DPubAriaRole; type AriaRole = JSXInternal.AriaRole; type AllHTMLAttributes = JSXInternal.AllHTMLAttributes; type HTMLAttributes = JSXInternal.HTMLAttributes; type HTMLAttributeReferrerPolicy = JSXInternal.HTMLAttributeReferrerPolicy; type HTMLAttributeAnchorTarget = JSXInternal.HTMLAttributeAnchorTarget; type AnchorHTMLAttributes = JSXInternal.AnchorHTMLAttributes; type AreaHTMLAttributes = JSXInternal.AreaHTMLAttributes; type AudioHTMLAttributes = JSXInternal.AudioHTMLAttributes; type BaseHTMLAttributes = JSXInternal.BaseHTMLAttributes; type BlockquoteHTMLAttributes = JSXInternal.BlockquoteHTMLAttributes; type ButtonHTMLAttributes = JSXInternal.ButtonHTMLAttributes; type CanvasHTMLAttributes = JSXInternal.CanvasHTMLAttributes; type ColHTMLAttributes = JSXInternal.ColHTMLAttributes; type ColgroupHTMLAttributes = JSXInternal.ColgroupHTMLAttributes; type DataHTMLAttributes = JSXInternal.DataHTMLAttributes; type DelHTMLAttributes = JSXInternal.DelHTMLAttributes; type DetailsHTMLAttributes = JSXInternal.DetailsHTMLAttributes; type DialogHTMLAttributes = JSXInternal.DialogHTMLAttributes; type EmbedHTMLAttributes = JSXInternal.EmbedHTMLAttributes; type FieldsetHTMLAttributes = JSXInternal.FieldsetHTMLAttributes; type FormHTMLAttributes = JSXInternal.FormHTMLAttributes; type IframeHTMLAttributes = JSXInternal.IframeHTMLAttributes; type HTMLAttributeCrossOrigin = JSXInternal.HTMLAttributeCrossOrigin; type ImgHTMLAttributes = JSXInternal.ImgHTMLAttributes; type HTMLInputTypeAttribute = JSXInternal.HTMLInputTypeAttribute; type InputHTMLAttributes = JSXInternal.InputHTMLAttributes; type InsHTMLAttributes = JSXInternal.InsHTMLAttributes; type KeygenHTMLAttributes = JSXInternal.KeygenHTMLAttributes; type LabelHTMLAttributes = JSXInternal.LabelHTMLAttributes; type LiHTMLAttributes = JSXInternal.LiHTMLAttributes; type LinkHTMLAttributes = JSXInternal.LinkHTMLAttributes; type MapHTMLAttributes = JSXInternal.MapHTMLAttributes; type MarqueeHTMLAttributes = JSXInternal.MarqueeHTMLAttributes; type MediaHTMLAttributes = JSXInternal.MediaHTMLAttributes; type MenuHTMLAttributes = JSXInternal.MenuHTMLAttributes; type MetaHTMLAttributes = JSXInternal.MetaHTMLAttributes; type MeterHTMLAttributes = JSXInternal.MeterHTMLAttributes; type ObjectHTMLAttributes = JSXInternal.ObjectHTMLAttributes; type OlHTMLAttributes = JSXInternal.OlHTMLAttributes; type OptgroupHTMLAttributes = JSXInternal.OptgroupHTMLAttributes; type OptionHTMLAttributes = JSXInternal.OptionHTMLAttributes; type OutputHTMLAttributes = JSXInternal.OutputHTMLAttributes; type ParamHTMLAttributes = JSXInternal.ParamHTMLAttributes; type ProgressHTMLAttributes = JSXInternal.ProgressHTMLAttributes; type QuoteHTMLAttributes = JSXInternal.QuoteHTMLAttributes; type ScriptHTMLAttributes = JSXInternal.ScriptHTMLAttributes; type SelectHTMLAttributes = JSXInternal.SelectHTMLAttributes; type SlotHTMLAttributes = JSXInternal.SlotHTMLAttributes; type SourceHTMLAttributes = JSXInternal.SourceHTMLAttributes; type StyleHTMLAttributes = JSXInternal.StyleHTMLAttributes; type TableHTMLAttributes = JSXInternal.TableHTMLAttributes; type TdHTMLAttributes = JSXInternal.TdHTMLAttributes; type TextareaHTMLAttributes = JSXInternal.TextareaHTMLAttributes; type ThHTMLAttributes = JSXInternal.ThHTMLAttributes; type TimeHTMLAttributes = JSXInternal.TimeHTMLAttributes; type TrackHTMLAttributes = JSXInternal.TrackHTMLAttributes; type VideoHTMLAttributes = JSXInternal.VideoHTMLAttributes; type MathMLAttributes = JSXInternal.MathMLAttributes; type AnnotationMathMLAttributes = JSXInternal.AnnotationMathMLAttributes; type AnnotationXmlMathMLAttributes = JSXInternal.AnnotationXmlMathMLAttributes; type MActionMathMLAttributes = JSXInternal.MActionMathMLAttributes; type MathMathMLAttributes = JSXInternal.MathMathMLAttributes; type MEncloseMathMLAttributes = JSXInternal.MEncloseMathMLAttributes; type MErrorMathMLAttributes = JSXInternal.MErrorMathMLAttributes; type MFencedMathMLAttributes = JSXInternal.MFencedMathMLAttributes; type MFracMathMLAttributes = JSXInternal.MFracMathMLAttributes; type MiMathMLAttributes = JSXInternal.MiMathMLAttributes; type MmultiScriptsMathMLAttributes = JSXInternal.MmultiScriptsMathMLAttributes; type MNMathMLAttributes = JSXInternal.MNMathMLAttributes; type MOMathMLAttributes = JSXInternal.MOMathMLAttributes; type MOverMathMLAttributes = JSXInternal.MOverMathMLAttributes; type MPaddedMathMLAttributes = JSXInternal.MPaddedMathMLAttributes; type MPhantomMathMLAttributes = JSXInternal.MPhantomMathMLAttributes; type MPrescriptsMathMLAttributes = JSXInternal.MPrescriptsMathMLAttributes; type MRootMathMLAttributes = JSXInternal.MRootMathMLAttributes; type MRowMathMLAttributes = JSXInternal.MRowMathMLAttributes; type MSMathMLAttributes = JSXInternal.MSMathMLAttributes; type MSpaceMathMLAttributes = JSXInternal.MSpaceMathMLAttributes; type MSqrtMathMLAttributes = JSXInternal.MSqrtMathMLAttributes; type MStyleMathMLAttributes = JSXInternal.MStyleMathMLAttributes; type MSubMathMLAttributes = JSXInternal.MSubMathMLAttributes; type MSubsupMathMLAttributes = JSXInternal.MSubsupMathMLAttributes; type MSupMathMLAttributes = JSXInternal.MSupMathMLAttributes; type MTableMathMLAttributes = JSXInternal.MTableMathMLAttributes; type MTdMathMLAttributes = JSXInternal.MTdMathMLAttributes; type MTextMathMLAttributes = JSXInternal.MTextMathMLAttributes; type MTrMathMLAttributes = JSXInternal.MTrMathMLAttributes; type MUnderMathMLAttributes = JSXInternal.MUnderMathMLAttributes; type MUnderoverMathMLAttributes = JSXInternal.MUnderoverMathMLAttributes; type SemanticsMathMLAttributes = JSXInternal.SemanticsMathMLAttributes; type IntrinsicSVGElements = JSXInternal.IntrinsicSVGElements; type IntrinsicMathMLElements = JSXInternal.IntrinsicMathMLElements; type IntrinsicElements = JSXInternal.IntrinsicElements; /** * Copyright (c) 2026 hangtiancheng * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ /** * JSX automatic runtime for `@lark.js/mvc`. * * Configure TypeScript / your bundler with: * * ```jsonc * // tsconfig.json * { "compilerOptions": { "jsx": "react-jsx", "jsxImportSource": "@lark.js/mvc" } } * ``` * * `
` then compiles to `jsx("div", {})` importing from * `@lark.js/mvc/jsx-runtime`. The produced `VNode` tree is PURE DATA — at * render time it is reconciled directly into the live DOM by the framework's * VNode reconciler (`@lark.js/mvc` main entry): keyed diff, per-node event * listeners, and hostless component instances for function tags. * * This entry is intentionally tiny and framework-free — safe to import from * any module without pulling the framework in. */ declare namespace JSX { /** The type of a rendered JSX expression. */ type Element = VNode; /** Valid element types: tag names, functional components, Fragment. */ type ElementType = string | Component | symbol; interface ElementChildrenAttribute { children: {}; } interface IntrinsicAttributes { key?: string | number; } /** * Per-tag typed intrinsic elements (HTML + SVG + MathML, ported from * Preact v10) — strict: unknown tags are compile errors. The base is * referenced through the QUALIFIED name `JSXInternal.IntrinsicElements` * (dts-flattening safe — see ./jsx/dom-types.ts). Register custom elements * via module augmentation (declaration merging): * * ```ts * import type { HTMLAttributes } from "@lark.js/mvc"; * * declare module "@lark.js/mvc/jsx-runtime" { * namespace JSX { * interface IntrinsicElements { * "my-widget": HTMLAttributes & { variant?: string }; * } * } * } * ``` */ interface IntrinsicElements extends JSXInternal.IntrinsicElements { } type Signalish = JSXInternal.Signalish; type ClassValue = JSXInternal.ClassValue; type RefCallback = JSXInternal.RefCallback; type RefObject = JSXInternal.RefObject; type Ref = JSXInternal.Ref; type ClassAttributes = JSXInternal.ClassAttributes; type ToggleEvent = JSXInternal.ToggleEvent; type CommandEvent = JSXInternal.CommandEvent; type SnapEvent = JSXInternal.SnapEvent; type Booleanish = JSXInternal.Booleanish; type DOMCSSProperties = JSXInternal.DOMCSSProperties; type AllCSSProperties = JSXInternal.AllCSSProperties; type CSSProperties = JSXInternal.CSSProperties; type SVGAttributes = JSXInternal.SVGAttributes; type TargetedEvent = JSXInternal.TargetedEvent; type TargetedAnimationEvent = JSXInternal.TargetedAnimationEvent; type TargetedClipboardEvent = JSXInternal.TargetedClipboardEvent; type TargetedCommandEvent = JSXInternal.TargetedCommandEvent; type TargetedCompositionEvent = JSXInternal.TargetedCompositionEvent; type TargetedDragEvent = JSXInternal.TargetedDragEvent; type TargetedFocusEvent = JSXInternal.TargetedFocusEvent; type TargetedInputEvent = JSXInternal.TargetedInputEvent; type TargetedKeyboardEvent = JSXInternal.TargetedKeyboardEvent; type TargetedMouseEvent = JSXInternal.TargetedMouseEvent; type TargetedPointerEvent = JSXInternal.TargetedPointerEvent; type TargetedSnapEvent = JSXInternal.TargetedSnapEvent; type TargetedSubmitEvent = JSXInternal.TargetedSubmitEvent; type TargetedTouchEvent = JSXInternal.TargetedTouchEvent; type TargetedToggleEvent = JSXInternal.TargetedToggleEvent; type TargetedTransitionEvent = JSXInternal.TargetedTransitionEvent; type TargetedUIEvent = JSXInternal.TargetedUIEvent; type TargetedWheelEvent = JSXInternal.TargetedWheelEvent; type TargetedPictureInPictureEvent = JSXInternal.TargetedPictureInPictureEvent; type EventHandler = JSXInternal.EventHandler; type AnimationEventHandler = JSXInternal.AnimationEventHandler; type ClipboardEventHandler = JSXInternal.ClipboardEventHandler; type CommandEventHandler = JSXInternal.CommandEventHandler; type CompositionEventHandler = JSXInternal.CompositionEventHandler; type DragEventHandler = JSXInternal.DragEventHandler; type ToggleEventHandler = JSXInternal.ToggleEventHandler; type FocusEventHandler = JSXInternal.FocusEventHandler; type GenericEventHandler = JSXInternal.GenericEventHandler; type InputEventHandler = JSXInternal.InputEventHandler; type KeyboardEventHandler = JSXInternal.KeyboardEventHandler; type MouseEventHandler = JSXInternal.MouseEventHandler; type PointerEventHandler = JSXInternal.PointerEventHandler; type SnapEventHandler = JSXInternal.SnapEventHandler; type SubmitEventHandler = JSXInternal.SubmitEventHandler; type TouchEventHandler = JSXInternal.TouchEventHandler; type TransitionEventHandler = JSXInternal.TransitionEventHandler; type UIEventHandler = JSXInternal.UIEventHandler; type WheelEventHandler = JSXInternal.WheelEventHandler; type PictureInPictureEventHandler = JSXInternal.PictureInPictureEventHandler; type DOMAttributes = JSXInternal.DOMAttributes; type AriaAttributes = JSXInternal.AriaAttributes; type WAIAriaRole = JSXInternal.WAIAriaRole; type DPubAriaRole = JSXInternal.DPubAriaRole; type AriaRole = JSXInternal.AriaRole; type AllHTMLAttributes = JSXInternal.AllHTMLAttributes; type HTMLAttributes = JSXInternal.HTMLAttributes; type HTMLAttributeReferrerPolicy = JSXInternal.HTMLAttributeReferrerPolicy; type HTMLAttributeAnchorTarget = JSXInternal.HTMLAttributeAnchorTarget; type AnchorHTMLAttributes = JSXInternal.AnchorHTMLAttributes; type AreaHTMLAttributes = JSXInternal.AreaHTMLAttributes; type AudioHTMLAttributes = JSXInternal.AudioHTMLAttributes; type BaseHTMLAttributes = JSXInternal.BaseHTMLAttributes; type BlockquoteHTMLAttributes = JSXInternal.BlockquoteHTMLAttributes; type ButtonHTMLAttributes = JSXInternal.ButtonHTMLAttributes; type CanvasHTMLAttributes = JSXInternal.CanvasHTMLAttributes; type ColHTMLAttributes = JSXInternal.ColHTMLAttributes; type ColgroupHTMLAttributes = JSXInternal.ColgroupHTMLAttributes; type DataHTMLAttributes = JSXInternal.DataHTMLAttributes; type DelHTMLAttributes = JSXInternal.DelHTMLAttributes; type DetailsHTMLAttributes = JSXInternal.DetailsHTMLAttributes; type DialogHTMLAttributes = JSXInternal.DialogHTMLAttributes; type EmbedHTMLAttributes = JSXInternal.EmbedHTMLAttributes; type FieldsetHTMLAttributes = JSXInternal.FieldsetHTMLAttributes; type FormHTMLAttributes = JSXInternal.FormHTMLAttributes; type IframeHTMLAttributes = JSXInternal.IframeHTMLAttributes; type HTMLAttributeCrossOrigin = JSXInternal.HTMLAttributeCrossOrigin; type ImgHTMLAttributes = JSXInternal.ImgHTMLAttributes; type HTMLInputTypeAttribute = JSXInternal.HTMLInputTypeAttribute; type InputHTMLAttributes = JSXInternal.InputHTMLAttributes; type InsHTMLAttributes = JSXInternal.InsHTMLAttributes; type KeygenHTMLAttributes = JSXInternal.KeygenHTMLAttributes; type LabelHTMLAttributes = JSXInternal.LabelHTMLAttributes; type LiHTMLAttributes = JSXInternal.LiHTMLAttributes; type LinkHTMLAttributes = JSXInternal.LinkHTMLAttributes; type MapHTMLAttributes = JSXInternal.MapHTMLAttributes; type MarqueeHTMLAttributes = JSXInternal.MarqueeHTMLAttributes; type MediaHTMLAttributes = JSXInternal.MediaHTMLAttributes; type MenuHTMLAttributes = JSXInternal.MenuHTMLAttributes; type MetaHTMLAttributes = JSXInternal.MetaHTMLAttributes; type MeterHTMLAttributes = JSXInternal.MeterHTMLAttributes; type ObjectHTMLAttributes = JSXInternal.ObjectHTMLAttributes; type OlHTMLAttributes = JSXInternal.OlHTMLAttributes; type OptgroupHTMLAttributes = JSXInternal.OptgroupHTMLAttributes; type OptionHTMLAttributes = JSXInternal.OptionHTMLAttributes; type OutputHTMLAttributes = JSXInternal.OutputHTMLAttributes; type ParamHTMLAttributes = JSXInternal.ParamHTMLAttributes; type ProgressHTMLAttributes = JSXInternal.ProgressHTMLAttributes; type QuoteHTMLAttributes = JSXInternal.QuoteHTMLAttributes; type ScriptHTMLAttributes = JSXInternal.ScriptHTMLAttributes; type SelectHTMLAttributes = JSXInternal.SelectHTMLAttributes; type SlotHTMLAttributes = JSXInternal.SlotHTMLAttributes; type SourceHTMLAttributes = JSXInternal.SourceHTMLAttributes; type StyleHTMLAttributes = JSXInternal.StyleHTMLAttributes; type TableHTMLAttributes = JSXInternal.TableHTMLAttributes; type TdHTMLAttributes = JSXInternal.TdHTMLAttributes; type TextareaHTMLAttributes = JSXInternal.TextareaHTMLAttributes; type ThHTMLAttributes = JSXInternal.ThHTMLAttributes; type TimeHTMLAttributes = JSXInternal.TimeHTMLAttributes; type TrackHTMLAttributes = JSXInternal.TrackHTMLAttributes; type VideoHTMLAttributes = JSXInternal.VideoHTMLAttributes; type MathMLAttributes = JSXInternal.MathMLAttributes; type AnnotationMathMLAttributes = JSXInternal.AnnotationMathMLAttributes; type AnnotationXmlMathMLAttributes = JSXInternal.AnnotationXmlMathMLAttributes; type MActionMathMLAttributes = JSXInternal.MActionMathMLAttributes; type MathMathMLAttributes = JSXInternal.MathMathMLAttributes; type MEncloseMathMLAttributes = JSXInternal.MEncloseMathMLAttributes; type MErrorMathMLAttributes = JSXInternal.MErrorMathMLAttributes; type MFencedMathMLAttributes = JSXInternal.MFencedMathMLAttributes; type MFracMathMLAttributes = JSXInternal.MFracMathMLAttributes; type MiMathMLAttributes = JSXInternal.MiMathMLAttributes; type MmultiScriptsMathMLAttributes = JSXInternal.MmultiScriptsMathMLAttributes; type MNMathMLAttributes = JSXInternal.MNMathMLAttributes; type MOMathMLAttributes = JSXInternal.MOMathMLAttributes; type MOverMathMLAttributes = JSXInternal.MOverMathMLAttributes; type MPaddedMathMLAttributes = JSXInternal.MPaddedMathMLAttributes; type MPhantomMathMLAttributes = JSXInternal.MPhantomMathMLAttributes; type MPrescriptsMathMLAttributes = JSXInternal.MPrescriptsMathMLAttributes; type MRootMathMLAttributes = JSXInternal.MRootMathMLAttributes; type MRowMathMLAttributes = JSXInternal.MRowMathMLAttributes; type MSMathMLAttributes = JSXInternal.MSMathMLAttributes; type MSpaceMathMLAttributes = JSXInternal.MSpaceMathMLAttributes; type MSqrtMathMLAttributes = JSXInternal.MSqrtMathMLAttributes; type MStyleMathMLAttributes = JSXInternal.MStyleMathMLAttributes; type MSubMathMLAttributes = JSXInternal.MSubMathMLAttributes; type MSubsupMathMLAttributes = JSXInternal.MSubsupMathMLAttributes; type MSupMathMLAttributes = JSXInternal.MSupMathMLAttributes; type MTableMathMLAttributes = JSXInternal.MTableMathMLAttributes; type MTdMathMLAttributes = JSXInternal.MTdMathMLAttributes; type MTextMathMLAttributes = JSXInternal.MTextMathMLAttributes; type MTrMathMLAttributes = JSXInternal.MTrMathMLAttributes; type MUnderMathMLAttributes = JSXInternal.MUnderMathMLAttributes; type MUnderoverMathMLAttributes = JSXInternal.MUnderoverMathMLAttributes; type SemanticsMathMLAttributes = JSXInternal.SemanticsMathMLAttributes; type IntrinsicSVGElements = JSXInternal.IntrinsicSVGElements; type IntrinsicMathMLElements = JSXInternal.IntrinsicMathMLElements; } /** * Copyright (c) 2026 hangtiancheng * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ /** * Hooks for function components (React rules of hooks, signals-only). * * The component function re-runs on EVERY render pass, so hooks are * call-order-indexed slots on the current instance: call them * unconditionally, in the same order, at the top level of the component body * — never inside conditions, loops, or event handlers. * * Signals are the SINGLE dependency-tracking mechanism — there are NO deps * arrays anywhere: * - derive values with `useComputed` (auto-tracked, lazy) * - run reactive side effects with `useSignalEffect` (auto-tracked) * - run one-time post-commit setup with `useEffect` (mount-only; cleanup on * unmount) * - register teardown with `onCleanup` * - `useSignal(initial)` returns a stable `Signal` — write `sig.value` from * handlers, read it in JSX. Only readers of that signal re-render. */ /** * Declare instance-local reactive state. * * Returns the SAME `Signal` on every render (created from `initial` on the * first). Reading `sig.value` in JSX subscribes the component; writing it * from a handler re-renders synchronously. State survives HMR swaps. * * @example * function Counter() { * const count = useSignal(0); * return ; * } */ declare function useSignal(initial: T): Signal; /** * Create a stable mutable `{ current }` cell. Pass it to a JSX `ref` prop to * receive the DOM element after commit (`null` after unmount), or use it to * hold any mutable value across renders without triggering re-renders. * * @example * const input = useRef(); * useEffect(() => input.current?.focus()); * return ; */ declare function useRef(initial?: T | null): { current: T | null; }; /** * Create a derived `computed` once per instance. Reading `.value` in JSX * subscribes the component; the computation re-runs lazily when its signal * dependencies change — no deps array, dependencies are tracked * automatically. * * Note: the computation closure is captured on the FIRST render — read * reactive inputs (signals/props/stores) inside it, not captured locals. * * @example * const doubled = useComputed(() => count.value * 2); */ declare function useComputed(fn: () => T): ReadonlySignal; /** * Run a REACTIVE side effect: created once on mount, runs immediately and * re-runs whenever any signal it read changes (`@preact/signals-core` * `effect` semantics — no deps array). A returned function is the * between-runs / final cleanup. Disposed on unmount. * * Do not WRITE signals the callback also reads — that is a cycle. The * callback closure is captured on the first render; read reactive inputs * inside it. * * @example * useSignalEffect(() => { * const path = router.location.value.pathname; // subscribe to navigation * void loadContent(path); * }); */ declare function useSignalEffect(fn: () => void | (() => void)): void; /** * Run a one-time setup AFTER the first DOM commit (refs are filled). A * returned function is the unmount cleanup. * * This is mount-only — there is NO deps parameter. For side effects that * should re-run when data changes, use `useSignalEffect` (signals are the * dependency-tracking mechanism, not deps arrays). * * @example * useEffect(() => { * const timer = setInterval(tick, 1000); * return () => clearInterval(timer); * }); */ declare function useEffect(fn: () => void | (() => void)): void; /** * Register a cleanup to run when the instance tears down. Registered once * per slot (safe under per-render re-runs — the first render's `fn` wins). * The callback runs when its slot is disposed: on unmount, and on an HMR * swap (the next render registers the new version's callback). */ declare function onCleanup(fn: () => void): void; /** * Copyright (c) 2026 hangtiancheng * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ /** * Lark framework type definitions. * * This module is the **single source of truth** for all shared types across * the framework. Defining them here (rather than inline in each module) * enforces a consistent interface contract and prevents circular type imports. * * ## Framework architecture * * Lark is a lightweight frontend framework for single-page applications * and micro-frontend scenarios: * * - **Component** — plain function components `(props) => JSXNode` (`FC

`), * mounted hostless by the VNode reconciler; state via hooks * - **Router** — `createRouter(routes)` factory (no module singleton): * history-only, aligned with react-router's data model — a `location` * signal, ranked `:param`/`*` route matching, `navigate`, async blockers, * `` outlet * - **Store** — zustand-aligned state management with `createStore` / * `getState` / `setState` / `subscribe` / `computed` * * ## Design principles * * - Functional API — no `class`, no `this`, no `prototype`, no `mixin` * - Signals-based reactivity (`@preact/signals-core`) — read = subscribe, * write = re-render; shallow (reference) comparison. Signals are the ONLY * notification mechanism — there are no event emitters. * - Direct VNode → DOM reconciliation (hostless component instances, keyed * diff, per-node event listeners) */ /** Generic function type for event handlers and callbacks. * Uses any[] to accept callbacks with specific parameter types * (TypeScript function parameters are contravariant). */ type AnyFunc = (...args: any[]) => unknown; /** * Value for the JSX `ref` prop: a callback receiving the element (and `null` * on unmount), or a mutable `{ current }` cell (see `useRef`). */ type RefValue = ((el: Element | null) => void) | { current: Element | null; }; /** * A function component (React-FC style): receives the reactive props proxy * and returns JSX. The function re-runs per render inside the instance's * render effect; state lives in hooks (`useSignal`, `useEffect`, ...). * * Alias of `Component

` for React muscle memory. */ type FC

> = Component

; /** * The current location (react-router shape). */ interface Location { /** Path portion of the URL, always starting with "/" (e.g. `/users/42`). */ pathname: string; /** Search string including the leading "?" (or "" when absent). */ search: string; /** Hash fragment including the leading "#" (or "" when absent). */ hash: string; /** History state passed via `navigate(to, { state })`. */ state: unknown; /** Unique key of the history entry (`"default"` for external entries). */ key: string; } /** * A navigation target: a href string (`"/users/42?tab=posts#top"`) or a * partial path object. Omitted parts of the object form fall back to the * current location's pathname (search/hash default to ""). */ type To = string | { pathname?: string; search?: string; hash?: string; }; /** Options for `Router.navigate` (react-router `NavigateOptions`). */ interface NavigateOptions { /** Replace the current history entry instead of pushing a new one. */ replace?: boolean; /** Arbitrary value stored on the history entry (read via `location.state`). */ state?: unknown; } /** * A route definition. `path` supports dynamic segments (`/users/:id`) and a * trailing splat (`*`, `/files/*` — captured as `params["*"]`). * * The component comes from `component` (eager reference) or `lazy` (code * splitting / Module Federation — resolved on first match, then cached on * the route). */ interface RouteObject { path: string; component?: Component; lazy?: () => Promise; } /** A successful route match. */ interface RouteMatch { /** The matched route definition. */ route: RouteObject; /** Decoded params captured from `:param` segments (+ `"*"` for splats). */ params: Record; /** The pathname that was matched (basename already stripped). */ pathname: string; } /** * A navigation blocker: receives `(next, current)` locations; returning or * resolving `false` (or throwing) blocks the navigation. */ type Blocker = (next: Location, current: Location) => boolean | Promise; /** * History router instance (signals-first, react-router data model), * created by `createRouter(routes, { basename })`. * * All four signals are tracked reads: reading `.value` inside a component * body / `computed` / `useSignalEffect` subscribes the reader to navigation. */ interface RouterApi { /** The current location (pathname is basename-stripped). */ readonly location: ReadonlySignal; /** The current route match (or `null` when no route matches). */ readonly match: ReadonlySignal; /** Params of the current match (`{}` when unmatched). */ readonly params: ReadonlySignal>; /** Search params parsed from `location.search`. */ readonly searchParams: ReadonlySignal; /** * Navigate to a new location (react-router `navigate` semantics). * * - `navigate("/users/42?tab=posts")` — href string * - `navigate({ pathname: "/users/42", search: "?tab=posts" })` — partial path * - `navigate(-1)` — history traversal (delta) * * Navigating to the current href converts the push into a replace. * Resolves `false` when a blocker rejected the navigation. */ navigate(to: To | number, options?: NavigateOptions): Promise; /** * Register a navigation blocker; returns an unregister function. Blockers * run in registration order for pushes, replaces, AND history traversals * (blocked pops are reverted). */ block(blocker: Blocker): () => void; /** Detach the popstate listener and clear blockers. */ dispose(): void; } /** * Copyright (c) 2026 hangtiancheng * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ /** * Match a single route pattern against a pathname. * * Supports `:param` dynamic segments and a trailing `*` splat (captured as * `params["*"]`). Static segments compare case-insensitively (react-router * default). Returns the captured params, or `null` when the pattern does * not match. */ declare function matchPath(pattern: string, pathname: string): Record | null; /** * Match a pathname against a flat route table, react-router style: all * candidates are ranked (static segments outrank dynamic ones, splats rank * last) and the best-scoring match wins; ties resolve in registration order. */ declare function matchRoutes(routes: RouteObject[], pathname: string): RouteMatch | null; interface RouterOptions { /** Base path prepended to all hrefs and stripped before matching. */ basename?: string; } /** * Create a history router over a route table. All state lives in the * returned instance; the instance is also recorded as the ACTIVE router * for `useRouter()` / ``. */ declare function createRouter(routes: RouteObject[], options?: RouterOptions): RouterApi; /** * The active router (the last `createRouter` result). Throws when no router * has been created — create one during app boot. */ declare function useRouter(): RouterApi; /** * Register a navigation blocker for this component's lifetime (react-router * `useBlocker`): registered on mount, unregistered on unmount. The blocker * closure is captured on the first render. */ declare function useBlocker(blocker: Blocker): void; /** * Route outlet component: renders the active router's matched component * (hostless — the matched component's DOM splices directly into the * parent). Pass `router` explicitly, or omit it to use the active router. * * - Route change → the component swaps (old instance unmounted by the diff). * - Param-only change → SAME instance; the component re-renders only if it * read `router.params` / `router.location` (tracked reads). * - `lazy` routes resolve once (in-flight dedup, cached on the route); * nothing renders until the load lands. Load failures propagate as * unhandled rejections — there is no swallowing. * * @example * const router = createRouter(routes); * render(, document.getElementById("root")!); */ declare function RouterView(props: { router?: RouterApi; }): JSXNode; /** * Copyright (c) 2026 hangtiancheng * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ /** * @lark.js/mvc Store * * Zustand-aligned state management, backed by per-key signals. * * Core API (zustand semantics — stores are anonymous, no global registry): * - createStore(creator): define a store with (set, get) => initialState * - store.getState(): stable tracked proxy — reading a key inside a tracked * region (component body / computed / useSignalEffect) subscribes the * reader to THAT key only * - store.setState(partial | updater, replace?): batch-write keys and notify * listeners; `replace: true` resets plain state keys missing from the * partial to `undefined` (actions and computed slots are untouched) * - store.subscribe(listener) / store.subscribe(selector, listener): manual * subscriptions; the selector form only fires when the selected slice * changes (`Object.is`) * - store.destroy(): clear listeners; further `setState` calls are no-ops * - `computed(fn)` (from the reactive core) declares derived state — its * dependencies are tracked automatically, no deps array * * ## Reactivity (shallow) * * Key values are compared by reference (`Object.is`). Mutating a nested field * or pushing into an array does NOT notify — replace the reference: * `set({ list: [...get().list, item] })`. */ type Listener = (state: T, prevState: T) => void; interface StoreApi { getState(): T; setState(partial: Partial | ((prev: T) => Partial), replace?: boolean): void; subscribe(listener: Listener): () => void; subscribe(selector: (state: T) => S, listener: (slice: S, prevSlice: S) => void): () => void; destroy(): void; } /** * Creator return shape: each key holds either its plain initial value, an * action function, or a `computed(fn)` (ReadonlySignal) derived slot. */ type StateInit = { [K in keyof T]: T[K] | ReadonlySignal; }; type StateCreator = (set: (partial: Partial | ((prev: T) => Partial), replace?: boolean) => void, get: () => T) => StateInit; /** * Create a zustand-aligned store. * * The `creator` function receives `(set, get)` and executes **once** during * store creation. Lark iterates the return value: * - **Functions** become actions (attached to state, unaffected by `setState`) * - **`computed(fn)` signals** occupy derived slots — dependencies are * tracked automatically (reads of `get().x` inside the computed subscribe * it to that key), and `getState().derivedKey` unwraps the current value * - **All other fields** become signal-backed state keys * * `getState()` returns a stable proxy: property reads go through the key * signals, so reads inside a component body subscribe that component to * exactly the keys it uses. Writes to computed/action keys via `setState` * are silently ignored. * * @param creator - Factory function `(set, get) => initialState` * @returns A `StoreApi` with `getState` / `setState` / `subscribe` / `destroy` * * @example * ```ts * const store = createStore((set, get) => ({ * count: 0, * doubled: computed(() => get().count * 2), * increment: () => set({ count: get().count + 1 }), * })); * ``` */ declare function createStore(creator: StateCreator): StoreApi; /** * Copyright (c) 2026 hangtiancheng * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ type SetUrlState> = (patch: Partial | ((prev: S) => Partial), options?: NavigateOptions) => void; /** * Sync component state with URL search params (active router). * * @param defaults - Default values for each URL param key. Keys not present * in the URL use these defaults; keys present in the URL override. Omit to * read every current search param. Captured on the FIRST render. * @returns `[value, setValue]`: * - `value`: current params merged over defaults (a tracked read — fresh * every render) * - `setValue(patch | updater, { replace? })`: STABLE across renders; * navigates with the patched params. Only the specified keys change; * `undefined`/`null` deletes a key; other search params, pathname, and * hash are preserved. * * @example * ```tsx * export default function Pager() { * const [params, setParams] = useUrlState({ page: "1", size: "20" }); * return ( * * ); * } * ``` */ declare function useUrlState>(defaults?: S): [Readonly, SetUrlState]; export { type AllCSSProperties, type AllHTMLAttributes, type AnchorHTMLAttributes, type AnimationEventHandler, type AnnotationMathMLAttributes, type AnnotationXmlMathMLAttributes, type AnyFunc, type AreaHTMLAttributes, type AriaAttributes, type AriaRole, type AudioHTMLAttributes, type BaseHTMLAttributes, type Blocker, type BlockquoteHTMLAttributes, type Booleanish, type ButtonHTMLAttributes, type CSSProperties, type CanvasHTMLAttributes, type ClassAttributes, type ClassValue, type ClipboardEventHandler, type ColHTMLAttributes, type ColgroupHTMLAttributes, type CommandEvent, type CommandEventHandler, type Component, type CompositionEventHandler, type DOMAttributes, type DOMCSSProperties, type DPubAriaRole, type DataHTMLAttributes, type DelHTMLAttributes, type DetailsHTMLAttributes, type DialogHTMLAttributes, type DragEventHandler, type EmbedHTMLAttributes, type EventHandler, type FC, type FieldsetHTMLAttributes, type FocusEventHandler, type FormHTMLAttributes, Fragment, type GenericEventHandler, type HTMLAttributeAnchorTarget, type HTMLAttributeCrossOrigin, type HTMLAttributeReferrerPolicy, type HTMLAttributes, type HTMLInputTypeAttribute, type IframeHTMLAttributes, type ImgHTMLAttributes, type InputEventHandler, type InputHTMLAttributes, type InsHTMLAttributes, type IntrinsicElements, type IntrinsicMathMLElements, type IntrinsicSVGElements, JSX, JSXInternal, type JSXNode, type KeyboardEventHandler, type KeygenHTMLAttributes, type LabelHTMLAttributes, type LiHTMLAttributes, type LinkHTMLAttributes, type Location, type MActionMathMLAttributes, type MEncloseMathMLAttributes, type MErrorMathMLAttributes, type MFencedMathMLAttributes, type MFracMathMLAttributes, type MNMathMLAttributes, type MOMathMLAttributes, type MOverMathMLAttributes, type MPaddedMathMLAttributes, type MPhantomMathMLAttributes, type MPrescriptsMathMLAttributes, type MRootMathMLAttributes, type MRowMathMLAttributes, type MSMathMLAttributes, type MSpaceMathMLAttributes, type MSqrtMathMLAttributes, type MStyleMathMLAttributes, type MSubMathMLAttributes, type MSubsupMathMLAttributes, type MSupMathMLAttributes, type MTableMathMLAttributes, type MTdMathMLAttributes, type MTextMathMLAttributes, type MTrMathMLAttributes, type MUnderMathMLAttributes, type MUnderoverMathMLAttributes, type MapHTMLAttributes, type MarqueeHTMLAttributes, type MathMLAttributes, type MathMathMLAttributes, type MediaHTMLAttributes, type MenuHTMLAttributes, type MetaHTMLAttributes, type MeterHTMLAttributes, type MiMathMLAttributes, type MmultiScriptsMathMLAttributes, type MouseEventHandler, type NavigateOptions, type ObjectHTMLAttributes, type OlHTMLAttributes, type OptgroupHTMLAttributes, type OptionHTMLAttributes, type OutputHTMLAttributes, type ParamHTMLAttributes, type PictureInPictureEventHandler, type PointerEventHandler, type ProgressHTMLAttributes, type QuoteHTMLAttributes, type RawHTML, type Ref, type RefCallback, type RefObject, type RefValue, type RouteMatch, type RouteObject, type RouterApi, type RouterOptions, RouterView, type SVGAttributes, type ScriptHTMLAttributes, type SelectHTMLAttributes, type SemanticsMathMLAttributes, type Signalish, type SlotHTMLAttributes, type SnapEvent, type SnapEventHandler, type SourceHTMLAttributes, type StoreApi, type StyleHTMLAttributes, type SubmitEventHandler, type TableHTMLAttributes, type TargetedAnimationEvent, type TargetedClipboardEvent, type TargetedCommandEvent, type TargetedCompositionEvent, type TargetedDragEvent, type TargetedEvent, type TargetedFocusEvent, type TargetedInputEvent, type TargetedKeyboardEvent, type TargetedMouseEvent, type TargetedPictureInPictureEvent, type TargetedPointerEvent, type TargetedSnapEvent, type TargetedSubmitEvent, type TargetedToggleEvent, type TargetedTouchEvent, type TargetedTransitionEvent, type TargetedUIEvent, type TargetedWheelEvent, type TdHTMLAttributes, type TextareaHTMLAttributes, type ThHTMLAttributes, type TimeHTMLAttributes, type To, type ToggleEvent, type ToggleEventHandler, type TouchEventHandler, type TrackHTMLAttributes, type TransitionEventHandler, type UIEventHandler, type VNode, type VideoHTMLAttributes, type WAIAriaRole, type WheelEventHandler, createRouter, createStore, hotSwapByComponent, matchPath, matchRoutes, onCleanup, raw, render, unmount, useBlocker, useComputed, useEffect, useRef, useRouter, useSignal, useSignalEffect, useUrlState };