//#endregion //#region node_modules/preact/src/jsx.d.ts type Defaultize = // Distribute over unions Props extends any // Make any properties included in Default optional ? Partial>> // Include the remaining properties from Props & Pick> : never; declare namespace JSXInternal { export type LibraryManagedAttributes = Component$1 extends { defaultProps: infer Defaults; } ? Defaultize : Props; export interface IntrinsicAttributes { key?: any; } export type ElementType

= { [K in keyof IntrinsicElements]: P extends IntrinsicElements[K] ? K : never; }[keyof IntrinsicElements] | ComponentType

; export interface Element extends VNode {} export type ElementClass = Component | FunctionComponent; export interface ElementAttributesProperty { props: any; } export interface ElementChildrenAttribute { children: any; } export 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; } export 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: MUnderMathMLAttributes; semantics: SemanticsMathMLAttributes; } export interface IntrinsicHTMLElements { a: AccessibleAnchorHTMLAttributes; abbr: HTMLAttributes; address: HTMLAttributes; area: AccessibleAreaHTMLAttributes; article: ArticleHTMLAttributes; aside: AsideHTMLAttributes; audio: AudioHTMLAttributes; b: HTMLAttributes; base: BaseHTMLAttributes; bdi: HTMLAttributes; bdo: HTMLAttributes; big: HTMLAttributes; blockquote: BlockquoteHTMLAttributes; body: HTMLAttributes; br: BrHTMLAttributes; button: ButtonHTMLAttributes; canvas: CanvasHTMLAttributes; caption: CaptionHTMLAttributes; cite: HTMLAttributes; code: HTMLAttributes; col: ColHTMLAttributes; colgroup: ColgroupHTMLAttributes; data: DataHTMLAttributes; datalist: DataListHTMLAttributes; dd: DdHTMLAttributes; del: DelHTMLAttributes; details: DetailsHTMLAttributes; dfn: HTMLAttributes; dialog: DialogHTMLAttributes; div: HTMLAttributes; dl: DlHTMLAttributes; dt: DtHTMLAttributes; em: HTMLAttributes; embed: EmbedHTMLAttributes; fieldset: FieldsetHTMLAttributes; figcaption: FigcaptionHTMLAttributes; figure: HTMLAttributes; footer: FooterHTMLAttributes; form: FormHTMLAttributes; h1: HeadingHTMLAttributes; h2: HeadingHTMLAttributes; h3: HeadingHTMLAttributes; h4: HeadingHTMLAttributes; h5: HeadingHTMLAttributes; h6: HeadingHTMLAttributes; head: HeadHTMLAttributes; header: HeaderHTMLAttributes; hgroup: HTMLAttributes; hr: HrHTMLAttributes; html: HtmlHTMLAttributes; i: HTMLAttributes; iframe: IframeHTMLAttributes; img: AccessibleImgHTMLAttributes; input: AccessibleInputHTMLAttributes; ins: InsHTMLAttributes; kbd: HTMLAttributes; keygen: KeygenHTMLAttributes; label: LabelHTMLAttributes; legend: LegendHTMLAttributes; li: LiHTMLAttributes; link: LinkHTMLAttributes; main: MainHTMLAttributes; map: MapHTMLAttributes; mark: HTMLAttributes; marquee: MarqueeHTMLAttributes; menu: MenuHTMLAttributes; menuitem: HTMLAttributes; meta: MetaHTMLAttributes; meter: MeterHTMLAttributes; nav: NavHTMLAttributes; noscript: NoScriptHTMLAttributes; object: ObjectHTMLAttributes; ol: OlHTMLAttributes; optgroup: OptgroupHTMLAttributes; option: OptionHTMLAttributes; output: OutputHTMLAttributes; p: HTMLAttributes; param: ParamHTMLAttributes; picture: PictureHTMLAttributes; pre: HTMLAttributes; progress: ProgressHTMLAttributes; q: QuoteHTMLAttributes; rp: HTMLAttributes; rt: HTMLAttributes; ruby: HTMLAttributes; s: HTMLAttributes; samp: HTMLAttributes; script: ScriptHTMLAttributes; search: SearchHTMLAttributes; section: HTMLAttributes; select: AccessibleSelectHTMLAttributes; selectedcontent: HTMLAttributes; 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: TemplateHTMLAttributes; textarea: TextareaHTMLAttributes; tfoot: HTMLAttributes; th: ThHTMLAttributes; thead: HTMLAttributes; time: TimeHTMLAttributes; title: TitleHTMLAttributes; tr: HTMLAttributes; track: TrackHTMLAttributes; u: UlHTMLAttributes; ul: HTMLAttributes; var: HTMLAttributes; video: VideoHTMLAttributes; wbr: WbrHTMLAttributes; } export interface IntrinsicElements extends IntrinsicSVGElements, IntrinsicMathMLElements, IntrinsicHTMLElements {} } //#endregion //#region node_modules/preact/src/dom.d.ts // Implementations of some DOM events that are not available in TS 5.1 interface ToggleEvent extends Event { readonly newState: string; readonly oldState: string; } declare var ToggleEvent: { prototype: ToggleEvent; new (type: string, eventInitDict?: ToggleEventInit): ToggleEvent; }; interface ToggleEventInit extends EventInit { newState?: string; oldState?: string; } interface CommandEvent extends Event { readonly source: Element | null; readonly command: string; } declare var CommandEvent: { prototype: CommandEvent; new (type: string, eventInitDict?: CommandEventInit): CommandEvent; }; interface CommandEventInit extends EventInit { source: Element | null; 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; } declare var SnapEvent: { prototype: SnapEvent; new (type: string, eventInitDict?: SnapEventInit): SnapEvent; }; interface SnapEventInit extends EventInit { snapTargetBlock?: Element | null; snapTargetInline?: Element | null; } type Booleanish = boolean | 'true' | 'false'; interface SignalLike { value: T; peek(): T; subscribe(fn: (value: T) => void): () => void; } type Signalish = T | SignalLike; type UnpackSignal = T extends SignalLike ? V : T; 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 { 'accent-height'?: Signalish; accentHeight?: Signalish; accumulate?: Signalish<'none' | 'sum' | undefined>; additive?: Signalish<'replace' | 'sum' | undefined>; 'alignment-baseline'?: Signalish<'auto' | 'baseline' | 'before-edge' | 'text-before-edge' | 'middle' | 'central' | 'after-edge' | 'text-after-edge' | 'ideographic' | 'alphabetic' | 'hanging' | 'mathematical' | 'inherit' | undefined>; alignmentBaseline?: Signalish<'auto' | 'baseline' | 'before-edge' | 'text-before-edge' | 'middle' | 'central' | 'after-edge' | 'text-after-edge' | 'ideographic' | 'alphabetic' | 'hanging' | 'mathematical' | 'inherit' | undefined>; 'allow-reorder'?: Signalish<'no' | 'yes' | undefined>; allowReorder?: Signalish<'no' | 'yes' | undefined>; alphabetic?: Signalish; amplitude?: Signalish; /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/arabic-form */ 'arabic-form'?: Signalish<'initial' | 'medial' | 'terminal' | 'isolated' | undefined>; /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/arabic-form */ arabicForm?: Signalish<'initial' | 'medial' | 'terminal' | 'isolated' | undefined>; ascent?: Signalish; attributeName?: Signalish; attributeType?: Signalish; azimuth?: Signalish; baseFrequency?: Signalish; 'baseline-shift'?: Signalish; baselineShift?: Signalish; baseProfile?: Signalish; bbox?: Signalish; begin?: Signalish; bias?: Signalish; by?: Signalish; calcMode?: Signalish; 'cap-height'?: Signalish; capHeight?: Signalish; clip?: Signalish; 'clip-path'?: Signalish; clipPath?: Signalish; clipPathUnits?: Signalish; 'clip-rule'?: Signalish; clipRule?: Signalish; 'color-interpolation'?: Signalish; colorInterpolation?: Signalish; 'color-interpolation-filters'?: Signalish<'auto' | 'sRGB' | 'linearRGB' | 'inherit' | undefined>; colorInterpolationFilters?: Signalish<'auto' | 'sRGB' | 'linearRGB' | 'inherit' | undefined>; 'color-profile'?: Signalish; colorProfile?: Signalish; 'color-rendering'?: Signalish; colorRendering?: Signalish; 'content-script-type'?: Signalish; contentScriptType?: Signalish; 'content-style-type'?: Signalish; contentStyleType?: Signalish; cursor?: Signalish; cx?: Signalish; cy?: Signalish; d?: Signalish; decelerate?: Signalish; descent?: Signalish; diffuseConstant?: Signalish; direction?: Signalish; display?: Signalish; divisor?: Signalish; 'dominant-baseline'?: Signalish; dominantBaseline?: Signalish; dur?: Signalish; dx?: Signalish; dy?: Signalish; edgeMode?: Signalish; elevation?: Signalish; 'enable-background'?: Signalish; enableBackground?: Signalish; end?: Signalish; exponent?: Signalish; externalResourcesRequired?: Signalish; fill?: Signalish; 'fill-opacity'?: Signalish; fillOpacity?: Signalish; 'fill-rule'?: Signalish<'nonzero' | 'evenodd' | 'inherit' | undefined>; fillRule?: Signalish<'nonzero' | 'evenodd' | 'inherit' | undefined>; filter?: Signalish; filterRes?: Signalish; filterUnits?: Signalish; 'flood-color'?: Signalish; floodColor?: Signalish; 'flood-opacity'?: Signalish; floodOpacity?: Signalish; focusable?: Signalish; 'font-family'?: Signalish; fontFamily?: Signalish; 'font-size'?: Signalish; fontSize?: Signalish; 'font-size-adjust'?: Signalish; fontSizeAdjust?: Signalish; 'font-stretch'?: Signalish; fontStretch?: Signalish; 'font-style'?: Signalish; fontStyle?: Signalish; 'font-variant'?: Signalish; fontVariant?: Signalish; 'font-weight'?: Signalish; fontWeight?: Signalish; format?: Signalish; from?: Signalish; fx?: Signalish; fy?: Signalish; g1?: Signalish; g2?: Signalish; 'glyph-name'?: Signalish; glyphName?: Signalish; 'glyph-orientation-horizontal'?: Signalish; glyphOrientationHorizontal?: Signalish; 'glyph-orientation-vertical'?: Signalish; glyphOrientationVertical?: Signalish; glyphRef?: Signalish; gradientTransform?: Signalish; gradientUnits?: Signalish; hanging?: Signalish; height?: Signalish; 'horiz-adv-x'?: Signalish; horizAdvX?: Signalish; 'horiz-origin-x'?: Signalish; horizOriginX?: Signalish; href?: Signalish; hreflang?: Signalish; hrefLang?: Signalish; ideographic?: Signalish; 'image-rendering'?: Signalish; imageRendering?: 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; 'letter-spacing'?: Signalish; letterSpacing?: Signalish; 'lighting-color'?: Signalish; lightingColor?: Signalish; limitingConeAngle?: Signalish; local?: Signalish; 'marker-end'?: Signalish; markerEnd?: Signalish; markerHeight?: Signalish; 'marker-mid'?: Signalish; markerMid?: Signalish; 'marker-start'?: Signalish; markerStart?: 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; 'overline-position'?: Signalish; overlinePosition?: Signalish; 'overline-thickness'?: Signalish; overlineThickness?: Signalish; 'paint-order'?: Signalish; paintOrder?: Signalish; 'panose-1'?: Signalish; panose1?: Signalish; pathLength?: Signalish; patternContentUnits?: Signalish; patternTransform?: Signalish; patternUnits?: Signalish; 'pointer-events'?: Signalish; pointerEvents?: Signalish; points?: Signalish; pointsAtX?: Signalish; pointsAtY?: Signalish; pointsAtZ?: Signalish; preserveAlpha?: Signalish; preserveAspectRatio?: Signalish; primitiveUnits?: Signalish; r?: Signalish; radius?: Signalish; refX?: Signalish; refY?: Signalish; 'rendering-intent'?: Signalish; renderingIntent?: Signalish; repeatCount?: Signalish; repeatDur?: Signalish; requiredExtensions?: Signalish; requiredFeatures?: Signalish; restart?: Signalish; result?: Signalish; rotate?: Signalish; rx?: Signalish; ry?: Signalish; scale?: Signalish; seed?: Signalish; 'shape-rendering'?: Signalish; shapeRendering?: Signalish; slope?: Signalish; spacing?: Signalish; specularConstant?: Signalish; specularExponent?: Signalish; speed?: Signalish; spreadMethod?: Signalish; startOffset?: Signalish; stdDeviation?: Signalish; stemh?: Signalish; stemv?: Signalish; stitchTiles?: Signalish; 'stop-color'?: Signalish; stopColor?: Signalish; 'stop-opacity'?: Signalish; stopOpacity?: Signalish; 'strikethrough-position'?: Signalish; strikethroughPosition?: Signalish; 'strikethrough-thickness'?: Signalish; strikethroughThickness?: Signalish; string?: Signalish; stroke?: Signalish; 'stroke-dasharray'?: Signalish; strokeDasharray?: Signalish; 'stroke-dashoffset'?: Signalish; strokeDashoffset?: Signalish; 'stroke-linecap'?: Signalish<'butt' | 'round' | 'square' | 'inherit' | undefined>; strokeLinecap?: Signalish<'butt' | 'round' | 'square' | 'inherit' | undefined>; 'stroke-linejoin'?: Signalish<'miter' | 'round' | 'bevel' | 'inherit' | undefined>; strokeLinejoin?: Signalish<'miter' | 'round' | 'bevel' | 'inherit' | undefined>; 'stroke-miterlimit'?: Signalish; strokeMiterlimit?: Signalish; 'stroke-opacity'?: Signalish; strokeOpacity?: Signalish; 'stroke-width'?: Signalish; strokeWidth?: Signalish; surfaceScale?: Signalish; systemLanguage?: Signalish; tableValues?: Signalish; targetX?: Signalish; targetY?: Signalish; 'text-anchor'?: Signalish; textAnchor?: Signalish; 'text-decoration'?: Signalish; textDecoration?: Signalish; textLength?: Signalish; 'text-rendering'?: Signalish; textRendering?: Signalish; to?: Signalish; transform?: Signalish; 'transform-origin'?: Signalish; transformOrigin?: Signalish; type?: Signalish; u1?: Signalish; u2?: Signalish; 'underline-position'?: Signalish; underlinePosition?: Signalish; 'underline-thickness'?: Signalish; underlineThickness?: Signalish; unicode?: Signalish; 'unicode-bidi'?: Signalish; unicodeBidi?: Signalish; 'unicode-range'?: Signalish; unicodeRange?: Signalish; 'units-per-em'?: Signalish; unitsPerEm?: Signalish; 'v-alphabetic'?: Signalish; vAlphabetic?: Signalish; values?: Signalish; 'vector-effect'?: Signalish; vectorEffect?: Signalish; version?: Signalish; 'vert-adv-y'?: Signalish; vertAdvY?: Signalish; 'vert-origin-x'?: Signalish; vertOriginX?: Signalish; 'vert-origin-y'?: Signalish; vertOriginY?: Signalish; 'v-hanging'?: Signalish; vHanging?: Signalish; 'v-ideographic'?: Signalish; vIdeographic?: Signalish; viewBox?: Signalish; viewTarget?: Signalish; visibility?: Signalish; 'v-mathematical'?: Signalish; vMathematical?: Signalish; width?: Signalish; 'word-spacing'?: Signalish; wordSpacing?: Signalish; 'writing-mode'?: Signalish; writingMode?: Signalish; x1?: Signalish; x2?: Signalish; x?: Signalish; xChannelSelector?: Signalish; 'x-height'?: Signalish; xHeight?: Signalish; 'xlink:actuate'?: Signalish; xlinkActuate?: Signalish; 'xlink:arcrole'?: Signalish; xlinkArcrole?: Signalish; 'xlink:href'?: Signalish; xlinkHref?: Signalish; 'xlink:role'?: Signalish; xlinkRole?: Signalish; 'xlink:show'?: Signalish; xlinkShow?: Signalish; 'xlink:title'?: Signalish; xlinkTitle?: Signalish; 'xlink:type'?: Signalish; xlinkType?: Signalish; 'xml:base'?: Signalish; xmlBase?: Signalish; 'xml:lang'?: Signalish; xmlLang?: Signalish; xmlns?: Signalish; xmlnsXlink?: Signalish; 'xml:space'?: Signalish; xmlSpace?: Signalish; y1?: Signalish; y2?: Signalish; y?: Signalish; yChannelSelector?: Signalish; z?: Signalish; zoomAndPan?: Signalish; } interface PathAttributes { d: string; } 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 extends PreactDOMAttributes { // Image Events onLoad?: GenericEventHandler | undefined; onLoadCapture?: GenericEventHandler | undefined; onError?: GenericEventHandler | undefined; onErrorCapture?: GenericEventHandler | undefined; // Clipboard Events onCopy?: ClipboardEventHandler | undefined; onCopyCapture?: ClipboardEventHandler | undefined; onCut?: ClipboardEventHandler | undefined; onCutCapture?: ClipboardEventHandler | undefined; onPaste?: ClipboardEventHandler | undefined; onPasteCapture?: ClipboardEventHandler | undefined; // Composition Events onCompositionEnd?: CompositionEventHandler | undefined; onCompositionEndCapture?: CompositionEventHandler | undefined; onCompositionStart?: CompositionEventHandler | undefined; onCompositionStartCapture?: CompositionEventHandler | undefined; onCompositionUpdate?: CompositionEventHandler | undefined; onCompositionUpdateCapture?: CompositionEventHandler | undefined; // Popover Events onBeforeToggle?: ToggleEventHandler | undefined; onToggle?: ToggleEventHandler | undefined; // Dialog Events onClose?: GenericEventHandler | undefined; onCancel?: GenericEventHandler | undefined; // Focus Events onFocus?: FocusEventHandler | undefined; onFocusCapture?: FocusEventHandler | undefined; onFocusIn?: FocusEventHandler | undefined; onFocusInCapture?: FocusEventHandler | undefined; onFocusOut?: FocusEventHandler | undefined; onFocusOutCapture?: FocusEventHandler | undefined; onBlur?: FocusEventHandler | undefined; onBlurCapture?: FocusEventHandler | undefined; // Form Events onChange?: GenericEventHandler | undefined; onChangeCapture?: GenericEventHandler | undefined; onInput?: InputEventHandler | undefined; onInputCapture?: InputEventHandler | undefined; onBeforeInput?: InputEventHandler | undefined; onBeforeInputCapture?: InputEventHandler | undefined; onSearch?: GenericEventHandler | undefined; onSearchCapture?: GenericEventHandler | undefined; onSubmit?: SubmitEventHandler | undefined; onSubmitCapture?: SubmitEventHandler | undefined; onInvalid?: GenericEventHandler | undefined; onInvalidCapture?: GenericEventHandler | undefined; onReset?: GenericEventHandler | undefined; onResetCapture?: GenericEventHandler | undefined; onFormData?: GenericEventHandler | undefined; onFormDataCapture?: GenericEventHandler | undefined; // Keyboard Events onKeyDown?: KeyboardEventHandler | undefined; onKeyDownCapture?: KeyboardEventHandler | undefined; onKeyPress?: KeyboardEventHandler | undefined; onKeyPressCapture?: KeyboardEventHandler | undefined; onKeyUp?: KeyboardEventHandler | undefined; onKeyUpCapture?: KeyboardEventHandler | undefined; // Media Events onAbort?: GenericEventHandler | undefined; onAbortCapture?: GenericEventHandler | undefined; onCanPlay?: GenericEventHandler | undefined; onCanPlayCapture?: GenericEventHandler | undefined; onCanPlayThrough?: GenericEventHandler | undefined; onCanPlayThroughCapture?: GenericEventHandler | undefined; onDurationChange?: GenericEventHandler | undefined; onDurationChangeCapture?: GenericEventHandler | undefined; onEmptied?: GenericEventHandler | undefined; onEmptiedCapture?: GenericEventHandler | undefined; onEncrypted?: GenericEventHandler | undefined; onEncryptedCapture?: GenericEventHandler | undefined; onEnded?: GenericEventHandler | undefined; onEndedCapture?: GenericEventHandler | undefined; onLoadedData?: GenericEventHandler | undefined; onLoadedDataCapture?: GenericEventHandler | undefined; onLoadedMetadata?: GenericEventHandler | undefined; onLoadedMetadataCapture?: GenericEventHandler | undefined; onLoadStart?: GenericEventHandler | undefined; onLoadStartCapture?: GenericEventHandler | undefined; onPause?: GenericEventHandler | undefined; onPauseCapture?: GenericEventHandler | undefined; onPlay?: GenericEventHandler | undefined; onPlayCapture?: GenericEventHandler | undefined; onPlaying?: GenericEventHandler | undefined; onPlayingCapture?: GenericEventHandler | undefined; onProgress?: GenericEventHandler | undefined; onProgressCapture?: GenericEventHandler | undefined; onRateChange?: GenericEventHandler | undefined; onRateChangeCapture?: GenericEventHandler | undefined; onSeeked?: GenericEventHandler | undefined; onSeekedCapture?: GenericEventHandler | undefined; onSeeking?: GenericEventHandler | undefined; onSeekingCapture?: GenericEventHandler | undefined; onStalled?: GenericEventHandler | undefined; onStalledCapture?: GenericEventHandler | undefined; onSuspend?: GenericEventHandler | undefined; onSuspendCapture?: GenericEventHandler | undefined; onTimeUpdate?: GenericEventHandler | undefined; onTimeUpdateCapture?: GenericEventHandler | undefined; onVolumeChange?: GenericEventHandler | undefined; onVolumeChangeCapture?: GenericEventHandler | undefined; onWaiting?: GenericEventHandler | undefined; onWaitingCapture?: GenericEventHandler | undefined; // MouseEvents onClick?: MouseEventHandler | undefined; onClickCapture?: MouseEventHandler | undefined; onContextMenu?: MouseEventHandler | undefined; onContextMenuCapture?: MouseEventHandler | undefined; onDblClick?: MouseEventHandler | undefined; onDblClickCapture?: MouseEventHandler | undefined; onDrag?: DragEventHandler | undefined; onDragCapture?: DragEventHandler | undefined; onDragEnd?: DragEventHandler | undefined; onDragEndCapture?: DragEventHandler | undefined; onDragEnter?: DragEventHandler | undefined; onDragEnterCapture?: DragEventHandler | undefined; onDragExit?: DragEventHandler | undefined; onDragExitCapture?: DragEventHandler | undefined; onDragLeave?: DragEventHandler | undefined; onDragLeaveCapture?: DragEventHandler | undefined; onDragOver?: DragEventHandler | undefined; onDragOverCapture?: DragEventHandler | undefined; onDragStart?: DragEventHandler | undefined; onDragStartCapture?: DragEventHandler | undefined; onDrop?: DragEventHandler | undefined; onDropCapture?: DragEventHandler | undefined; onMouseDown?: MouseEventHandler | undefined; onMouseDownCapture?: MouseEventHandler | undefined; onMouseEnter?: MouseEventHandler | undefined; onMouseEnterCapture?: MouseEventHandler | undefined; onMouseLeave?: MouseEventHandler | undefined; onMouseLeaveCapture?: MouseEventHandler | undefined; onMouseMove?: MouseEventHandler | undefined; onMouseMoveCapture?: MouseEventHandler | undefined; onMouseOut?: MouseEventHandler | undefined; onMouseOutCapture?: MouseEventHandler | undefined; onMouseOver?: MouseEventHandler | undefined; onMouseOverCapture?: MouseEventHandler | undefined; onMouseUp?: MouseEventHandler | undefined; onMouseUpCapture?: MouseEventHandler | undefined; // TODO: Spec for `auxclick` events was changed to make it a PointerEvent but only // Chrome has support for it yet. When more browsers align we should change this. // https://developer.mozilla.org/en-US/docs/Web/API/Element/auxclick_event#browser_compatibility onAuxClick?: MouseEventHandler | undefined; onAuxClickCapture?: MouseEventHandler | undefined; // Selection Events onSelect?: GenericEventHandler | undefined; onSelectCapture?: GenericEventHandler | undefined; // Touch Events onTouchCancel?: TouchEventHandler | undefined; onTouchCancelCapture?: TouchEventHandler | undefined; onTouchEnd?: TouchEventHandler | undefined; onTouchEndCapture?: TouchEventHandler | undefined; onTouchMove?: TouchEventHandler | undefined; onTouchMoveCapture?: TouchEventHandler | undefined; onTouchStart?: TouchEventHandler | undefined; onTouchStartCapture?: TouchEventHandler | undefined; // Pointer Events onPointerOver?: PointerEventHandler | undefined; onPointerOverCapture?: PointerEventHandler | undefined; onPointerEnter?: PointerEventHandler | undefined; onPointerEnterCapture?: PointerEventHandler | undefined; onPointerDown?: PointerEventHandler | undefined; onPointerDownCapture?: PointerEventHandler | undefined; onPointerMove?: PointerEventHandler | undefined; onPointerMoveCapture?: PointerEventHandler | undefined; onPointerUp?: PointerEventHandler | undefined; onPointerUpCapture?: PointerEventHandler | undefined; onPointerCancel?: PointerEventHandler | undefined; onPointerCancelCapture?: PointerEventHandler | undefined; onPointerOut?: PointerEventHandler | undefined; onPointerOutCapture?: PointerEventHandler | undefined; onPointerLeave?: PointerEventHandler | undefined; onPointerLeaveCapture?: PointerEventHandler | undefined; onGotPointerCapture?: PointerEventHandler | undefined; onGotPointerCaptureCapture?: PointerEventHandler | undefined; onLostPointerCapture?: PointerEventHandler | undefined; onLostPointerCaptureCapture?: PointerEventHandler | undefined; // Scroll Events onScroll?: GenericEventHandler | undefined; onScrollCapture?: GenericEventHandler | undefined; onScrollEnd?: GenericEventHandler | undefined; onScrollEndCapture?: GenericEventHandler | undefined; onScrollSnapChange?: SnapEventHandler | undefined; onScrollSnapChangeCapture?: SnapEventHandler | undefined; onScrollSnapChanging?: SnapEventHandler | undefined; onScrollSnapChangingCapture?: SnapEventHandler | undefined; // Wheel Events onWheel?: WheelEventHandler | undefined; onWheelCapture?: WheelEventHandler | undefined; // Animation Events onAnimationStart?: AnimationEventHandler | undefined; onAnimationStartCapture?: AnimationEventHandler | undefined; onAnimationEnd?: AnimationEventHandler | undefined; onAnimationEndCapture?: AnimationEventHandler | undefined; onAnimationIteration?: AnimationEventHandler | undefined; onAnimationIterationCapture?: AnimationEventHandler | undefined; // Transition Events onTransitionCancel?: TransitionEventHandler; onTransitionCancelCapture?: TransitionEventHandler; onTransitionEnd?: TransitionEventHandler; onTransitionEndCapture?: TransitionEventHandler; onTransitionRun?: TransitionEventHandler; onTransitionRunCapture?: TransitionEventHandler; onTransitionStart?: TransitionEventHandler; onTransitionStartCapture?: TransitionEventHandler; // PictureInPicture Events onEnterPictureInPicture?: PictureInPictureEventHandler; onEnterPictureInPictureCapture?: PictureInPictureEventHandler; onLeavePictureInPicture?: PictureInPictureEventHandler; onLeavePictureInPictureCapture?: PictureInPictureEventHandler; onResize?: PictureInPictureEventHandler; onResizeCapture?: PictureInPictureEventHandler; onCommand?: CommandEventHandler; } // All the WAI-ARIA 1.1 attributes from https://www.w3.org/TR/wai-aria-1.1/ 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; } // All the WAI-ARIA 1.2 role attribute values from https://www.w3.org/TR/wai-aria-1.2/#role_definitions 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'; // All the Digital Publishing WAI-ARIA 1.0 role attribute values from https://www.w3.org/TR/dpub-aria-1.0/#role_definitions 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 { // Standard HTML Attributes accept?: Signalish; 'accept-charset'?: Signalish; acceptCharset?: Signalish; accesskey?: Signalish; accessKey?: Signalish; action?: Signalish; allow?: Signalish; allowfullscreen?: Signalish; allowFullScreen?: Signalish; allowtransparency?: 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; cellPadding?: Signalish; cellspacing?: Signalish; cellSpacing?: Signalish; charset?: Signalish; charSet?: Signalish; challenge?: Signalish; checked?: Signalish; cite?: Signalish; class?: Signalish; className?: Signalish; cols?: Signalish; colspan?: Signalish; colSpan?: Signalish; command?: Signalish; commandfor?: Signalish; commandFor?: 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; currentTime?: Signalish; data?: Signalish; datetime?: Signalish; dateTime?: Signalish; default?: Signalish; defaultChecked?: Signalish; defaultMuted?: Signalish; defaultPlaybackRate?: Signalish; defaultValue?: 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; 'http-equiv'?: Signalish; httpEquiv?: Signalish; icon?: Signalish; id?: Signalish; indeterminate?: Signalish; inert?: Signalish; inputmode?: Signalish; inputMode?: Signalish; integrity?: Signalish; is?: Signalish; keyparams?: Signalish; keyParams?: Signalish; keytype?: Signalish; keyType?: Signalish; kind?: Signalish; label?: Signalish; lang?: Signalish; list?: Signalish; loading?: Signalish<'eager' | 'lazy' | undefined>; loop?: Signalish; low?: Signalish; manifest?: Signalish; marginheight?: Signalish; marginHeight?: Signalish; marginwidth?: 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; playbackRate?: 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>; preservesPitch?: Signalish; 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; srcObject?: Signalish; start?: Signalish; step?: Signalish; style?: Signalish; summary?: Signalish; tabindex?: Signalish; tabIndex?: Signalish; target?: Signalish; title?: Signalish; type?: Signalish; usemap?: Signalish; useMap?: Signalish; value?: Signalish; volume?: Signalish; width?: Signalish; wmode?: Signalish; wrap?: Signalish; // Non-standard Attributes autocapitalize?: Signalish<'off' | 'none' | 'on' | 'sentences' | 'words' | 'characters' | undefined>; autoCapitalize?: Signalish<'off' | 'none' | 'on' | 'sentences' | 'words' | 'characters' | undefined>; disablePictureInPicture?: Signalish; results?: Signalish; translate?: Signalish; // RDFa Attributes about?: Signalish; datatype?: Signalish; inlist?: Signalish; prefix?: Signalish; property?: Signalish; resource?: Signalish; typeof?: Signalish; vocab?: Signalish; // Microdata Attributes 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 { // Standard HTML Attributes 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?: Signalish; 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; style?: Signalish; tabindex?: Signalish; tabIndex?: Signalish; title?: Signalish; translate?: Signalish; // WAI-ARIA Attributes // Most elements only allow a subset of roles and so this // is overwritten in many of the per-element interfaces below role?: Signalish; // Non-standard Attributes disablepictureinpicture?: Signalish; disablePictureInPicture?: Signalish; elementtiming?: Signalish; elementTiming?: Signalish; results?: Signalish; // RDFa Attributes about?: Signalish; datatype?: Signalish; inlist?: Signalish; prefix?: Signalish; property?: Signalish; resource?: Signalish; typeof?: Signalish; vocab?: Signalish; // Microdata Attributes 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 PartialAnchorHTMLAttributes extends HTMLAttributes { download?: Signalish; hreflang?: Signalish; hrefLang?: Signalish; media?: Signalish; ping?: Signalish; rel?: Signalish; target?: Signalish; type?: Signalish; referrerpolicy?: Signalish; referrerPolicy?: Signalish; } type AnchorAriaRoles = { href: Signalish; role?: Signalish<'link' | 'button' | 'checkbox' | 'menuitem' | 'menuitemcheckbox' | 'menuitemradio' | 'option' | 'radio' | 'switch' | 'tab' | 'treeitem' | 'doc-backlink' | 'doc-biblioref' | 'doc-glossref' | 'doc-noteref' | undefined>; } | { href?: never; role?: Signalish; }; type AccessibleAnchorHTMLAttributes = Omit, 'role'> & AnchorAriaRoles; interface AnchorHTMLAttributes extends PartialAnchorHTMLAttributes { href?: Signalish; role?: Signalish; } interface PartialAreaHTMLAttributes extends HTMLAttributes { alt?: Signalish; coords?: Signalish; download?: Signalish; hreflang?: Signalish; hrefLang?: Signalish; media?: Signalish; referrerpolicy?: Signalish; referrerPolicy?: Signalish; rel?: Signalish; shape?: Signalish; target?: Signalish; } type AreaAriaRoles = { href: Signalish; role?: Signalish<'link' | undefined>; } | { href?: never; role?: Signalish<'button' | 'link' | undefined>; }; type AccessibleAreaHTMLAttributes = Omit, 'role'> & AreaAriaRoles; interface AreaHTMLAttributes extends PartialAreaHTMLAttributes { href?: Signalish; role?: Signalish<'button' | 'link' | undefined>; } interface ArticleHTMLAttributes extends HTMLAttributes { role?: Signalish<'article' | 'application' | 'document' | 'feed' | 'main' | 'none' | 'presentation' | 'region' | undefined>; } interface AsideHTMLAttributes extends HTMLAttributes { role?: Signalish<'complementary' | 'feed' | 'none' | 'note' | 'presentation' | 'region' | 'search' | 'doc-dedication' | 'doc-example' | 'doc-footnote' | 'doc-glossary' | 'doc-pullquote' | 'doc-tip' | undefined>; } interface AudioHTMLAttributes extends MediaHTMLAttributes { role?: Signalish<'application' | undefined>; } interface BaseHTMLAttributes extends HTMLAttributes { href?: Signalish; role?: never; target?: Signalish; } interface BlockquoteHTMLAttributes extends HTMLAttributes { cite?: Signalish; } interface BrHTMLAttributes extends HTMLAttributes { role?: Signalish<'none' | 'presentation' | undefined>; } 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>; role?: Signalish<'button' | 'checkbox' | 'combobox' | 'gridcell' | 'link' | 'menuitem' | 'menuitemcheckbox' | 'menuitemradio' | 'option' | 'radio' | 'separator' | 'slider' | 'switch' | 'tab' | 'treeitem' | undefined>; type?: Signalish<'submit' | 'reset' | 'button' | undefined>; value?: Signalish; } interface CanvasHTMLAttributes extends HTMLAttributes { height?: Signalish; width?: Signalish; } interface CaptionHTMLAttributes extends HTMLAttributes { role?: 'caption'; } interface ColHTMLAttributes extends HTMLAttributes { role?: never; span?: Signalish; width?: Signalish; } interface ColgroupHTMLAttributes extends HTMLAttributes { role?: never; span?: Signalish; } interface DataHTMLAttributes extends HTMLAttributes { value?: Signalish; } interface DataListHTMLAttributes extends HTMLAttributes { role?: Signalish<'listbox' | undefined>; } interface DdHTMLAttributes extends HTMLAttributes { role?: never; } interface DelHTMLAttributes extends HTMLAttributes { cite?: Signalish; datetime?: Signalish; dateTime?: Signalish; } interface DetailsHTMLAttributes extends HTMLAttributes { name?: Signalish; open?: Signalish; role?: Signalish<'group' | undefined>; } interface DialogHTMLAttributes extends HTMLAttributes { onCancel?: GenericEventHandler | undefined; onClose?: GenericEventHandler | undefined; open?: Signalish; closedby?: Signalish<'none' | 'closerequest' | 'any' | undefined>; closedBy?: Signalish<'none' | 'closerequest' | 'any' | undefined>; role?: Signalish<'dialog' | 'alertdialog' | undefined>; } interface DlHTMLAttributes extends HTMLAttributes { role?: Signalish<'group' | 'list' | 'none' | 'presentation' | undefined>; } interface DtHTMLAttributes extends HTMLAttributes { role?: Signalish<'listitem' | undefined>; } interface EmbedHTMLAttributes extends HTMLAttributes { height?: Signalish; role?: Signalish<'application' | 'document' | 'img' | 'none' | 'presentation' | undefined>; src?: Signalish; type?: Signalish; width?: Signalish; } interface FieldsetHTMLAttributes extends HTMLAttributes { disabled?: Signalish; form?: Signalish; name?: Signalish; role?: Signalish<'group' | 'none' | 'presentation' | 'radiogroup' | undefined>; } interface FigcaptionHTMLAttributes extends HTMLAttributes { role?: Signalish<'group' | 'none' | 'presentation' | undefined>; } interface FooterHTMLAttributes extends HTMLAttributes { role?: Signalish<'contentinfo' | 'group' | 'none' | 'presentation' | 'doc-footnote' | undefined>; } 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; role?: Signalish<'form' | 'none' | 'presentation' | 'search' | undefined>; target?: Signalish; } interface HeadingHTMLAttributes extends HTMLAttributes { role?: Signalish<'heading' | 'none' | 'presentation' | 'tab' | 'doc-subtitle' | undefined>; } interface HeadHTMLAttributes extends HTMLAttributes { role?: never; } interface HeaderHTMLAttributes extends HTMLAttributes { role?: Signalish<'banner' | 'group' | 'none' | 'presentation' | undefined>; } interface HrHTMLAttributes extends HTMLAttributes { role?: Signalish<'separator' | 'none' | 'presentation' | 'doc-pagebreak' | undefined>; } interface HtmlHTMLAttributes extends HTMLAttributes { role?: Signalish<'document' | undefined>; } interface IframeHTMLAttributes extends HTMLAttributes { allow?: Signalish; allowfullscreen?: Signalish; allowFullScreen?: Signalish; allowtransparency?: Signalish; allowTransparency?: Signalish; /** @deprecated */ frameborder?: Signalish; /** @deprecated */ frameBorder?: Signalish; height?: Signalish; loading?: Signalish<'eager' | 'lazy' | undefined>; /** @deprecated */ marginheight?: Signalish; /** @deprecated */ marginHeight?: Signalish; /** @deprecated */ marginwidth?: Signalish; /** @deprecated */ marginWidth?: Signalish; name?: Signalish; referrerpolicy?: Signalish; referrerPolicy?: Signalish; role?: Signalish<'application' | 'document' | 'img' | 'none' | 'presentation' | undefined>; sandbox?: Signalish; /** @deprecated */ scrolling?: Signalish; seamless?: Signalish; src?: Signalish; srcdoc?: Signalish; srcDoc?: Signalish; width?: Signalish; } type HTMLAttributeCrossOrigin = 'anonymous' | 'use-credentials'; interface PartialImgHTMLAttributes extends HTMLAttributes { 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 ImgAriaRolesAccessibleName = Signalish<'img' | 'button' | 'checkbox' | 'link' | 'menuitem' | 'menuitemcheckbox' | 'menuitemradio' | 'meter' | 'option' | 'progressbar' | 'radio' | 'scrollbar' | 'separator' | 'slider' | 'switch' | 'tab' | 'treeitem' | 'doc-cover' | undefined>; type ImgAriaRoles = { 'aria-label': Signalish; role?: ImgAriaRolesAccessibleName; } | { 'aria-labelledby': Signalish; role?: ImgAriaRolesAccessibleName; } | { alt: Signalish; role?: ImgAriaRolesAccessibleName; } | { title: Signalish; role?: ImgAriaRolesAccessibleName; } | { 'aria-label'?: never; 'aria-labelledby'?: never; alt?: never; title?: never; role?: Signalish<'img' | 'none' | 'presentation' | undefined>; }; type AccessibleImgHTMLAttributes = Omit, 'role' | 'aria-label' | 'aria-labelledby' | 'title'> & ImgAriaRoles; interface ImgHTMLAttributes extends PartialImgHTMLAttributes { alt?: Signalish; 'aria-label'?: Signalish; 'aria-labelledby'?: Signalish; href?: Signalish; role?: ImgAriaRolesAccessibleName | Signalish<'img' | 'none' | 'presentation' | undefined>; title?: 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'; interface PartialInputHTMLAttributes extends HTMLAttributes { accept?: Signalish; alt?: Signalish; autocomplete?: Signalish; autoComplete?: Signalish; capture?: Signalish<'user' | 'environment' | undefined>; // https://www.w3.org/TR/html-media-capture/#the-capture-attribute checked?: Signalish; defaultChecked?: Signalish; defaultValue?: 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; indeterminate?: 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; } type InputAriaRoles = { type: Signalish<'button'>; role?: Signalish<'button' | 'checkbox' | 'combobox' | 'gridcell' | 'link' | 'menuitem' | 'menuitemcheckbox' | 'menuitemradio' | 'option' | 'radio' | 'separator' | 'slider' | 'switch' | 'tab' | 'treeitem' | undefined>; } | { type: Signalish<'checkbox'>; role?: Signalish<'checkbox' | 'button' | 'menuitemcheckbox' | 'option' | 'switch' | undefined>; } | { type: Signalish<'email'>; list?: never; role?: Signalish<'textbox' | undefined>; } | { type: Signalish<'image'>; role?: Signalish<'button' | 'checkbox' | 'gridcell' | 'link' | 'menuitem' | 'menuitemcheckbox' | 'menuitemradio' | 'option' | 'separator' | 'slider' | 'switch' | 'tab' | 'treeitem' | undefined>; } | { type: Signalish<'number'>; role?: Signalish<'spinbutton' | undefined>; } | { type: Signalish<'radio'>; role?: Signalish<'radio' | 'menuitemradio' | undefined>; } | { type: Signalish<'range'>; role?: Signalish<'slider' | undefined>; } | { type: Signalish<'reset'>; role?: Signalish<'button' | 'checkbox' | 'combobox' | 'gridcell' | 'link' | 'menuitem' | 'menuitemcheckbox' | 'menuitemradio' | 'option' | 'radio' | 'separator' | 'slider' | 'switch' | 'tab' | 'treeitem' | undefined>; } | { type: Signalish<'search'>; list?: never; role?: Signalish<'searchbox' | undefined>; } | { type: Signalish<'submit'>; role?: Signalish<'button' | 'checkbox' | 'combobox' | 'gridcell' | 'link' | 'menuitem' | 'menuitemcheckbox' | 'menuitemradio' | 'option' | 'radio' | 'separator' | 'slider' | 'switch' | 'tab' | 'treeitem' | undefined>; } | { type: Signalish<'tel'>; list?: never; role?: Signalish<'textbox' | undefined>; } | { type?: Signalish<'text'>; list?: never; role?: Signalish<'textbox' | 'combobox' | 'searchbox' | 'spinbutton' | undefined>; } | { type?: Signalish<'text' | 'search' | 'tel' | 'url' | 'email'>; list: Signalish; role?: Signalish<'combobox' | undefined>; } | { type: Signalish<'url'>; list?: never; role?: Signalish<'textbox' | undefined>; } | { type: Signalish<'color' | 'date' | 'datetime-local' | 'file' | 'hidden' | 'month' | 'password' | 'time' | 'week'>; role?: never; }; type AccessibleInputHTMLAttributes = Omit, 'role'> & InputAriaRoles; interface InputHTMLAttributes extends PartialInputHTMLAttributes { type?: Signalish; role?: Signalish<'button' | 'checkbox' | 'combobox' | 'gridcell' | 'link' | 'menuitem' | 'menuitemcheckbox' | 'menuitemradio' | 'option' | 'radio' | 'searchbox' | 'separator' | 'slider' | 'spinbutton' | 'switch' | 'tab' | 'textbox' | 'treeitem' | undefined>; } interface InsHTMLAttributes extends HTMLAttributes { cite?: Signalish; datetime?: Signalish; dateTime?: Signalish; } interface KeygenHTMLAttributes extends HTMLAttributes { challenge?: Signalish; disabled?: Signalish; form?: Signalish; keytype?: Signalish; keyType?: Signalish; keyparams?: Signalish; keyParams?: Signalish; name?: Signalish; } interface LabelHTMLAttributes extends HTMLAttributes { for?: Signalish; form?: Signalish; htmlFor?: Signalish; role?: never; } interface LegendHTMLAttributes extends HTMLAttributes { role?: never; } 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; role?: never; sizes?: Signalish; type?: Signalish; charset?: Signalish; charSet?: Signalish; } interface MainHTMLAttributes extends HTMLAttributes { role?: Signalish<'main' | undefined>; } interface MapHTMLAttributes extends HTMLAttributes { name?: Signalish; role?: never; } interface MarqueeHTMLAttributes extends HTMLAttributes { behavior?: Signalish<'scroll' | 'slide' | 'alternate' | undefined>; bgcolor?: Signalish; bgColor?: Signalish; direction?: Signalish<'left' | 'right' | 'up' | 'down' | undefined>; height?: Signalish; hspace?: Signalish; loop?: Signalish; scrollamount?: Signalish; scrollAmount?: Signalish; scrolldelay?: Signalish; scrollDelay?: Signalish; truespeed?: 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; currentTime?: Signalish; defaultMuted?: Signalish; defaultPlaybackRate?: Signalish; disableremoteplayback?: Signalish; disableRemotePlayback?: Signalish; loop?: Signalish; mediaGroup?: Signalish; muted?: Signalish; playbackRate?: Signalish; preload?: Signalish<'auto' | 'metadata' | 'none' | undefined>; preservesPitch?: Signalish; src?: Signalish; srcObject?: Signalish; volume?: Signalish; } interface MenuHTMLAttributes extends HTMLAttributes { role: 'list' | 'group' | 'listbox' | 'menu' | 'menubar' | 'none' | 'presentation' | 'radiogroup' | 'tablist' | 'toolbar' | 'tree'; type?: Signalish; } interface MetaHTMLAttributes extends HTMLAttributes { charset?: Signalish; charSet?: Signalish; content?: Signalish; 'http-equiv'?: Signalish; httpEquiv?: Signalish; name?: Signalish; media?: Signalish; role?: never; } interface MeterHTMLAttributes extends HTMLAttributes { form?: Signalish; high?: Signalish; low?: Signalish; max?: Signalish; min?: Signalish; optimum?: Signalish; role?: Signalish<'meter' | undefined>; value?: Signalish; } interface NavHTMLAttributes extends HTMLAttributes { role?: Signalish<'navigation' | 'menu' | 'menubar' | 'none' | 'presentation' | 'tablist' | undefined>; } interface NoScriptHTMLAttributes extends HTMLAttributes { role?: never; } interface ObjectHTMLAttributes extends HTMLAttributes { classid?: Signalish; classID?: Signalish; data?: Signalish; form?: Signalish; height?: Signalish; name?: Signalish; role?: Signalish<'application' | 'document' | 'img' | undefined>; type?: Signalish; usemap?: Signalish; useMap?: Signalish; width?: Signalish; wmode?: Signalish; } interface OlHTMLAttributes extends HTMLAttributes { reversed?: Signalish; role?: Signalish<'list' | 'group' | 'listbox' | 'menu' | 'menubar' | 'none' | 'presentation' | 'radiogroup' | 'tablist' | 'toolbar' | 'tree' | undefined>; start?: Signalish; type?: Signalish<'1' | 'a' | 'A' | 'i' | 'I' | undefined>; } interface OptgroupHTMLAttributes extends HTMLAttributes { disabled?: Signalish; label?: Signalish; role?: Signalish<'group' | undefined>; } interface OptionHTMLAttributes extends HTMLAttributes { disabled?: Signalish; label?: Signalish; role?: Signalish<'option' | undefined>; selected?: Signalish; value?: Signalish; } interface OutputHTMLAttributes extends HTMLAttributes { for?: Signalish; form?: Signalish; htmlFor?: Signalish; name?: Signalish; } interface ParamHTMLAttributes extends HTMLAttributes { name?: Signalish; role?: never; value?: Signalish; } interface PictureHTMLAttributes extends HTMLAttributes { role?: never; } interface ProgressHTMLAttributes extends HTMLAttributes { max?: Signalish; role?: Signalish<'progressbar' | undefined>; 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; role?: never; src?: Signalish; type?: Signalish; } interface SearchHTMLAttributes extends HTMLAttributes { role?: Signalish<'search' | 'form' | 'group' | 'none' | 'presentation' | 'region' | undefined>; } interface PartialSelectHTMLAttributes extends HTMLAttributes { autocomplete?: Signalish; autoComplete?: Signalish; defaultValue?: Signalish; disabled?: Signalish; form?: Signalish; name?: Signalish; required?: Signalish; size?: Signalish; value?: Signalish; onChange?: GenericEventHandler | undefined; } type SelectAriaRoles = { multiple?: never; // Spec states this branch is limited to "no `multiple` attribute AND no `size` attribute greater than 1". // `1` as a default, however, caused some web compat issues and forced Firefox to default to `0` instead. size?: 0 | 1 | never; role?: Signalish<'combobox' | 'menu' | undefined>; } | { multiple?: Signalish; size?: Signalish; role?: Signalish<'listbox' | undefined>; }; type AccessibleSelectHTMLAttributes = Omit, 'role'> & SelectAriaRoles; interface SelectHTMLAttributes extends PartialSelectHTMLAttributes { multiple?: Signalish; size?: Signalish; role?: Signalish<'combobox' | 'listbox' | 'menu' | undefined>; } interface SlotHTMLAttributes extends HTMLAttributes { name?: Signalish; role?: never; } interface SourceHTMLAttributes extends HTMLAttributes { height?: Signalish; media?: Signalish; role?: never; sizes?: Signalish; src?: Signalish; srcset?: Signalish; srcSet?: Signalish; type?: Signalish; width?: Signalish; } interface StyleHTMLAttributes extends HTMLAttributes { media?: Signalish; role?: never; scoped?: Signalish; type?: Signalish; } interface TableHTMLAttributes extends HTMLAttributes { cellpadding?: Signalish; cellPadding?: Signalish; cellspacing?: 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 TemplateHTMLAttributes extends HTMLAttributes { role?: never; } interface TextareaHTMLAttributes extends HTMLAttributes { autocomplete?: Signalish; autoComplete?: Signalish; cols?: Signalish; defaultValue?: Signalish; dirname?: Signalish; dirName?: Signalish; disabled?: Signalish; form?: Signalish; maxlength?: Signalish; maxLength?: Signalish; minlength?: Signalish; minLength?: Signalish; name?: Signalish; placeholder?: Signalish; readonly?: Signalish; readOnly?: Signalish; required?: Signalish; role?: Signalish<'textbox' | undefined>; 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 TitleHTMLAttributes extends HTMLAttributes { role?: never; } interface TrackHTMLAttributes extends MediaHTMLAttributes { default?: Signalish; kind?: Signalish; label?: Signalish; role?: never; srclang?: Signalish; srcLang?: Signalish; } interface UlHTMLAttributes extends HTMLAttributes { role?: Signalish<'list' | 'group' | 'listbox' | 'menu' | 'menubar' | 'none' | 'presentation' | 'radiogroup' | 'tablist' | 'toolbar' | 'tree' | undefined>; } interface VideoHTMLAttributes extends MediaHTMLAttributes { disablepictureinpicture?: Signalish; disablePictureInPicture?: Signalish; height?: Signalish; playsinline?: Signalish; playsInline?: Signalish; poster?: Signalish; width?: Signalish; role?: Signalish<'application' | undefined>; } interface WbrHTMLAttributes extends HTMLAttributes { role?: Signalish<'none' | 'presentation' | undefined>; } type DetailedHTMLProps, RefType extends EventTarget = EventTarget> = HA; 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 {} declare namespace index_d_exports$2 { export { AccessibleAnchorHTMLAttributes, AccessibleAreaHTMLAttributes, AccessibleImgHTMLAttributes, AccessibleInputHTMLAttributes, AccessibleSelectHTMLAttributes, AllCSSProperties, AllHTMLAttributes, AnchorAriaRoles, AnchorHTMLAttributes, AnimationEventHandler, AnnotationMathMLAttributes, AnnotationXmlMathMLAttributes, AnyComponent, AreaAriaRoles, AreaHTMLAttributes, AriaAttributes, AriaRole, ArticleHTMLAttributes, AsideHTMLAttributes, Attributes, AudioHTMLAttributes, BaseHTMLAttributes, BlockquoteHTMLAttributes, BrHTMLAttributes, ButtonHTMLAttributes, CSSProperties, CanvasHTMLAttributes, CaptionHTMLAttributes, ClassAttributes, ClipboardEventHandler, ColHTMLAttributes, ColgroupHTMLAttributes, CommandEventHandler, Component, ComponentChild, ComponentChildren, ComponentClass, ComponentConstructor, ComponentFactory, ComponentProps, ComponentType, CompositionEventHandler, Consumer, ContainerNode, Context, ContextType, DOMAttributes, DOMCSSProperties, DPubAriaRole, DataHTMLAttributes, DataListHTMLAttributes, DdHTMLAttributes, DelHTMLAttributes, DetailedHTMLProps, DetailsHTMLAttributes, DialogHTMLAttributes, DlHTMLAttributes, DragEventHandler, DtHTMLAttributes, EmbedHTMLAttributes, ErrorInfo, EventHandler, FieldsetHTMLAttributes, FigcaptionHTMLAttributes, FocusEventHandler, FooterHTMLAttributes, FormHTMLAttributes, Fragment, FunctionComponent, FunctionalComponent, GenericEventHandler, HTMLAttributeAnchorTarget, HTMLAttributeCrossOrigin, HTMLAttributeReferrerPolicy, HTMLAttributes, HTMLInputTypeAttribute, HeadHTMLAttributes, HeaderHTMLAttributes, HeadingHTMLAttributes, HrHTMLAttributes, HtmlHTMLAttributes, IframeHTMLAttributes, ImgAriaRoles, ImgAriaRolesAccessibleName, ImgHTMLAttributes, InputAriaRoles, InputEventHandler, InputHTMLAttributes, InsHTMLAttributes, JSX, Key, KeyboardEventHandler, KeygenHTMLAttributes, LabelHTMLAttributes, LegendHTMLAttributes, LiHTMLAttributes, LinkHTMLAttributes, MActionMathMLAttributes, MEncloseMathMLAttributes, MErrorMathMLAttributes, MFencedMathMLAttributes, MFracMathMLAttributes, MNMathMLAttributes, MOMathMLAttributes, MOverMathMLAttributes, MPaddedMathMLAttributes, MPhantomMathMLAttributes, MPrescriptsMathMLAttributes, MRootMathMLAttributes, MRowMathMLAttributes, MSMathMLAttributes, MSpaceMathMLAttributes, MSqrtMathMLAttributes, MStyleMathMLAttributes, MSubMathMLAttributes, MSubsupMathMLAttributes, MSupMathMLAttributes, MTableMathMLAttributes, MTdMathMLAttributes, MTextMathMLAttributes, MTrMathMLAttributes, MUnderMathMLAttributes, MUnderoverMathMLAttributes, MainHTMLAttributes, MapHTMLAttributes, MarqueeHTMLAttributes, MathMLAttributes, MathMathMLAttributes, MediaHTMLAttributes, MenuHTMLAttributes, MetaHTMLAttributes, MeterHTMLAttributes, MiMathMLAttributes, MmultiScriptsMathMLAttributes, MouseEventHandler, NavHTMLAttributes, NoScriptHTMLAttributes, ObjectHTMLAttributes, OlHTMLAttributes, OptgroupHTMLAttributes, OptionHTMLAttributes, Options, OutputHTMLAttributes, ParamHTMLAttributes, PartialAnchorHTMLAttributes, PartialAreaHTMLAttributes, PartialImgHTMLAttributes, PartialInputHTMLAttributes, PartialSelectHTMLAttributes, PathAttributes, PictureHTMLAttributes, PictureInPictureEventHandler, PointerEventHandler, PreactConsumer, PreactContext, PreactDOMAttributes, PreactProvider, ProgressHTMLAttributes, Provider, QuoteHTMLAttributes, Ref, RefCallback, RefObject, RenderableProps, SVGAttributes, ScriptHTMLAttributes, SearchHTMLAttributes, SelectAriaRoles, SelectHTMLAttributes, SemanticsMathMLAttributes, SignalLike, Signalish, SlotHTMLAttributes, SnapEventHandler, SourceHTMLAttributes, StyleHTMLAttributes, SubmitEventHandler, TableHTMLAttributes, TargetedAnimationEvent, TargetedClipboardEvent, TargetedCommandEvent, TargetedCompositionEvent, TargetedDragEvent, TargetedEvent, TargetedFocusEvent, TargetedInputEvent, TargetedKeyboardEvent, TargetedMouseEvent, TargetedPictureInPictureEvent, TargetedPointerEvent, TargetedSnapEvent, TargetedSubmitEvent, TargetedToggleEvent, TargetedTouchEvent, TargetedTransitionEvent, TargetedUIEvent, TargetedWheelEvent, TdHTMLAttributes, TemplateHTMLAttributes, TextareaHTMLAttributes, ThHTMLAttributes, TimeHTMLAttributes, TitleHTMLAttributes, ToggleEventHandler, TouchEventHandler, TrackHTMLAttributes, TransitionEventHandler, UIEventHandler, UlHTMLAttributes, UnpackSignal, VNode, VideoHTMLAttributes, WAIAriaRole, WbrHTMLAttributes, WheelEventHandler, cloneElement, createContext, createElement, createPortal, createRef, h, hydrate, isValidElement, options, render, toChildArray }; } import JSX = JSXInternal; // // Preact Virtual DOM // ----------------------------------- interface VNode

{ type: ComponentType

| string; props: P & { children: ComponentChildren; }; key: Key; /** * ref is not guaranteed by React.ReactElement, for compatibility reasons * with popular react libs we define it as optional too */ ref?: Ref | null; /** * The time this `vnode` started rendering. Will only be set when * the devtools are attached. * Default value: `0` */ startTime?: number; /** * The time that the rendering of this `vnode` was completed. Will only be * set when the devtools are attached. * Default value: `-1` */ endTime?: number; } // // Preact Component interface // ----------------------------------- type Key = string | number | any; type RefObject = { current: T; }; type RefCallback = (instance: T | null) => void | (() => void); type Ref = RefCallback | RefObject | null; type ComponentChild = VNode | object | string | number | bigint | boolean | null | undefined; type ComponentChildren = ComponentChild[] | ComponentChild; interface Attributes { key?: Key | undefined; jsx?: boolean | undefined; } interface ClassAttributes extends Attributes { ref?: Ref; } interface PreactDOMAttributes { children?: ComponentChildren; dangerouslySetInnerHTML?: { __html: Parameters[0]; }; } interface ErrorInfo { componentStack?: string; } type RenderableProps = P & Readonly; }>; type ComponentType

= ComponentClass

| FunctionComponent

; type ComponentFactory

= ComponentType

; type ComponentProps | keyof JSXInternal.IntrinsicElements> = C extends ComponentType ? P : C extends keyof JSXInternal.IntrinsicElements ? JSXInternal.IntrinsicElements[C] : {}; interface FunctionComponent

{ (props: RenderableProps

, context?: any): ComponentChildren; displayName?: string; } interface FunctionalComponent

extends FunctionComponent

{} interface ComponentClass

{ new (props: P, context?: any): Component; displayName?: string; contextType?: Context; getDerivedStateFromProps?(props: Readonly

, state: Readonly): Partial | null; getDerivedStateFromError?(error: any): Partial | null; } interface ComponentConstructor

extends ComponentClass {} // Type alias for a component instance considered generally, whether stateless or stateful. type AnyComponent

= FunctionComponent

| ComponentConstructor; // eslint-disable-next-line @typescript-eslint/no-unsafe-declaration-merging interface Component

{ componentWillMount?(): void; componentDidMount?(): void; componentWillUnmount?(): void; getChildContext?(): object; componentWillReceiveProps?(nextProps: Readonly

, nextContext: any): void; shouldComponentUpdate?(nextProps: Readonly

, nextState: Readonly, nextContext: any): boolean; componentWillUpdate?(nextProps: Readonly

, nextState: Readonly, nextContext: any): void; getSnapshotBeforeUpdate?(oldProps: Readonly

, oldState: Readonly): any; componentDidUpdate?(previousProps: Readonly

, previousState: Readonly, snapshot: any): void; componentDidCatch?(error: any, errorInfo: ErrorInfo): void; } declare abstract class Component { constructor(props?: P, context?: any); static displayName?: string; static contextType?: Context; // Static members cannot reference class type parameters. This is not // supported in TypeScript. Reusing the same type arguments from `Component` // will lead to an impossible state where one cannot satisfy the type // constraint under no circumstances, see #1356.In general type arguments // seem to be a bit buggy and not supported well at the time of this // writing with TS 3.3.3333. static getDerivedStateFromProps?(props: Readonly, state: Readonly): object | null; static getDerivedStateFromError?(error: any): object | null; state: Readonly; props: RenderableProps

; context: any; // From https://github.com/DefinitelyTyped/DefinitelyTyped/blob/e836acc75a78cf0655b5dfdbe81d69fdd4d8a252/types/react/index.d.ts#L402 // // We MUST keep setState() as a unified signature because it allows proper checking of the method return type. // // See: https://github.com/DefinitelyTyped/DefinitelyTyped/issues/18365#issuecomment-351013257 setState(state: ((prevState: Readonly, props: Readonly

) => Pick | Partial | null) | (Pick | Partial | null), callback?: () => void): void; forceUpdate(callback?: () => void): void; abstract render(props?: RenderableProps

, state?: Readonly, context?: any): ComponentChildren; } // // Preact createElement // ----------------------------------- declare function createElement(type: 'input', props: (DOMAttributes & ClassAttributes) | null, ...children: ComponentChildren[]): VNode & ClassAttributes>; declare function createElement

, T extends HTMLElement>(type: keyof JSXInternal.IntrinsicElements, props: (ClassAttributes & P) | null, ...children: ComponentChildren[]): VNode & P>; declare function createElement

, T extends HTMLElement>(type: keyof JSXInternal.IntrinsicSVGElements, props: (ClassAttributes & P) | null, ...children: ComponentChildren[]): VNode & P>; declare function createElement(type: string, props: (ClassAttributes & HTMLAttributes & SVGAttributes) | null, ...children: ComponentChildren[]): VNode & HTMLAttributes & SVGAttributes>; declare function createElement

(type: ComponentType

| string, props: (Attributes & P) | null, ...children: ComponentChildren[]): VNode

; declare namespace createElement { export import JSX = JSXInternal; } declare function h(type: 'input', props: (DOMAttributes & ClassAttributes) | null, ...children: ComponentChildren[]): VNode & ClassAttributes>; declare function h

, T extends HTMLElement>(type: keyof JSXInternal.IntrinsicElements, props: (ClassAttributes & P) | null, ...children: ComponentChildren[]): VNode & P>; declare function h

, T extends HTMLElement>(type: keyof JSXInternal.IntrinsicSVGElements, props: (ClassAttributes & P) | null, ...children: ComponentChildren[]): VNode & P>; declare function h(type: string, props: (ClassAttributes & HTMLAttributes & SVGAttributes) | null, ...children: ComponentChildren[]): VNode<(ClassAttributes & HTMLAttributes & SVGAttributes) | null>; declare function h

(type: ComponentType

| string, props: (Attributes & P) | null, ...children: ComponentChildren[]): VNode; declare namespace h { export import JSX = JSXInternal; } // // Preact render // ----------------------------------- interface ContainerNode { readonly nodeType: number; readonly parentNode: ContainerNode | null; readonly firstChild: ContainerNode | null; readonly childNodes: ArrayLike; insertBefore(node: ContainerNode, child: ContainerNode | null): ContainerNode; appendChild(node: ContainerNode): ContainerNode; removeChild(child: ContainerNode): ContainerNode; } declare function render(vnode: ComponentChild, parent: ContainerNode): void; declare function hydrate(vnode: ComponentChild, parent: ContainerNode): void; declare function createPortal(vnode: ComponentChildren, container: ContainerNode): VNode; declare function cloneElement(vnode: VNode, props?: any, ...children: ComponentChildren[]): VNode; declare function cloneElement

(vnode: VNode

, props?: any, ...children: ComponentChildren[]): VNode

; // // Preact Built-in Components // ----------------------------------- // TODO: Revisit what the public type of this is... declare const Fragment: FunctionComponent<{}>; // // Preact options // ----------------------------------- /** * Global options for preact */ interface Options { /** Attach a hook that is invoked whenever a VNode is created. */ vnode?(vnode: VNode): void; /** Attach a hook that is invoked immediately before a vnode is unmounted. */ unmount?(vnode: VNode): void; /** Attach a hook that is invoked after a vnode has rendered. */ diffed?(vnode: VNode): void; event?(e: Event): any; requestAnimationFrame?(callback: () => void): void; debounceRendering?(cb: () => void): void; useDebugValue?(value: string | number): void; _addHookName?(name: string | number): void; __suspenseDidResolve?(vnode: VNode, cb: () => void): void; // __canSuspenseResolve?(vnode: VNode, cb: () => void): void; /** * Customize attribute serialization when a precompiled JSX transform * is used. */ attr?(name: string, value: any): string | void; } declare const options: Options; // // Preact helpers // ----------------------------------- declare function createRef(): RefObject; declare function toChildArray(children: ComponentChildren): Array; declare function isValidElement(vnode: any): vnode is VNode; // // Context // ----------------------------------- interface Consumer extends FunctionComponent<{ children: (value: T) => ComponentChildren; }> {} interface PreactConsumer extends Consumer {} interface Provider extends FunctionComponent<{ value: T; children?: ComponentChildren; }> {} interface PreactProvider extends Provider {} type ContextType> = C extends Context ? T : never; interface Context extends preact.Provider { Consumer: preact.Consumer; Provider: preact.Provider; displayName?: string; } interface PreactContext extends Context {} declare function createContext(defaultValue: T): Context; declare namespace index_d_exports$1 { export { Fragment, JSXInternal as JSX, jsx, jsxAttr, jsxDEV, jsxEscape, jsxTemplate, jsxs }; } declare function jsx(type: string, props: HTMLAttributes & SVGAttributes & Record & { children?: ComponentChild; }, key?: string): VNode; declare function jsx

(type: ComponentType

, props: Attributes & P & { children?: ComponentChild; }, key?: string): VNode; declare function jsxs(type: string, props: HTMLAttributes & SVGAttributes & Record & { children?: ComponentChild[]; }, key?: string): VNode; declare function jsxs

(type: ComponentType

, props: Attributes & P & { children?: ComponentChild[]; }, key?: string): VNode; declare function jsxDEV(type: string, props: HTMLAttributes & SVGAttributes & Record & { children?: ComponentChildren; }, key?: string): VNode; declare function jsxDEV

(type: ComponentType

, props: Attributes & P & { children?: ComponentChildren; }, key?: string): VNode; // These are not expected to be used manually, but by a JSX transform declare function jsxTemplate(template: string[], ...expressions: any[]): VNode; declare function jsxAttr(name: string, value: any): string | null; declare function jsxEscape(value: T): string | null | VNode | Array; declare namespace index_d_exports { export { Dispatch, Reducer, StateUpdater, useCallback, useContext, useDebugValue, useEffect, useErrorBoundary, useId, useImperativeHandle, useLayoutEffect, useMemo, useReducer, useRef, useState }; } type Inputs = ReadonlyArray; type Dispatch = (value: A) => void; type StateUpdater = S | ((prevState: S) => S); /** * Returns a stateful value, and a function to update it. * @param initialState The initial value (or a function that returns the initial value) */ declare function useState(initialState: S | (() => S)): [S, Dispatch>]; declare function useState(): [S | undefined, Dispatch>]; type Reducer = (prevState: S, action: A) => S; /** * An alternative to `useState`. * * `useReducer` is usually preferable to `useState` when you have complex state logic that involves * multiple sub-values. It also lets you optimize performance for components that trigger deep * updates because you can pass `dispatch` down instead of callbacks. * @param reducer Given the current state and an action, returns the new state * @param initialState The initial value to store as state */ declare function useReducer(reducer: Reducer, initialState: S): [S, Dispatch]; /** * An alternative to `useState`. * * `useReducer` is usually preferable to `useState` when you have complex state logic that involves * multiple sub-values. It also lets you optimize performance for components that trigger deep * updates because you can pass `dispatch` down instead of callbacks. * @param reducer Given the current state and an action, returns the new state * @param initialArg The initial argument to pass to the `init` function * @param init A function that, given the `initialArg`, returns the initial value to store as state */ declare function useReducer(reducer: Reducer, initialArg: I, init: (arg: I) => S): [S, Dispatch]; /** * `useRef` returns a mutable ref object whose `.current` property is initialized to the passed argument * (`initialValue`). The returned object will persist for the full lifetime of the component. * * Note that `useRef()` is useful for more than the `ref` attribute. It’s handy for keeping any mutable * value around similar to how you’d use instance fields in classes. * * @param initialValue the initial value to store in the ref object */ declare function useRef(initialValue: T): RefObject; declare function useRef(initialValue: T | null): RefObject; declare function useRef(initialValue: T | undefined): RefObject; type EffectCallback = () => void | (() => void); /** * Accepts a function that contains imperative, possibly effectful code. * The effects run after browser paint, without blocking it. * * @param effect Imperative function that can return a cleanup function * @param inputs If present, effect will only activate if the values in the list change (using ===). */ declare function useEffect(effect: EffectCallback, inputs?: Inputs): void; /** * @param ref The ref that will be mutated * @param create The function that will be executed to get the value that will be attached to * ref.current * @param inputs If present, effect will only activate if the values in the list change (using ===). */ declare function useImperativeHandle(ref: Ref, create: () => R, inputs?: Inputs): void; /** * Accepts a function that contains imperative, possibly effectful code. * Use this to read layout from the DOM and synchronously re-render. * Updates scheduled inside `useLayoutEffect` will be flushed synchronously, after all DOM mutations but before the browser has a chance to paint. * Prefer the standard `useEffect` hook when possible to avoid blocking visual updates. * * @param effect Imperative function that can return a cleanup function * @param inputs If present, effect will only activate if the values in the list change (using ===). */ declare function useLayoutEffect(effect: EffectCallback, inputs?: Inputs): void; /** * Returns a memoized version of the callback that only changes if one of the `inputs` * has changed (using ===). */ declare function useCallback(callback: T, inputs: Inputs): T; /** * Pass a factory function and an array of inputs. * useMemo will only recompute the memoized value when one of the inputs has changed. * This optimization helps to avoid expensive calculations on every render. * If no array is provided, a new value will be computed whenever a new function instance is passed as the first argument. */ // for `inputs`, allow undefined, but don't make it optional as that is very likely a mistake declare function useMemo(factory: () => T, inputs: Inputs | undefined): T; /** * Returns the current context value, as given by the nearest context provider for the given context. * When the provider updates, this Hook will trigger a rerender with the latest context value. * * @param context The context you want to use */ declare function useContext(context: PreactContext): T; /** * Customize the displayed value in the devtools panel. * * @param value Custom hook name or object that is passed to formatter * @param formatter Formatter to modify value before sending it to the devtools */ declare function useDebugValue(value: T, formatter?: (value: T) => any): void; declare function useErrorBoundary(callback?: (error: any, errorInfo: ErrorInfo) => Promise | void): [any, () => void]; declare function useId(): string; //#endregion //#region src/preact.d.ts declare const _default: { createElement(type: "input", props: (DOMAttributes & ClassAttributes) | null, ...children: ComponentChildren[]): VNode & ClassAttributes>; createElement

, T extends HTMLElement>(type: keyof JSXInternal.IntrinsicElements, props: (ClassAttributes & P) | null, ...children: ComponentChildren[]): VNode & P>; createElement

, T extends HTMLElement>(type: keyof JSXInternal.IntrinsicSVGElements, props: (ClassAttributes & P) | null, ...children: ComponentChildren[]): VNode & P>; createElement(type: string, props: (ClassAttributes & HTMLAttributes & SVGAttributes) | null, ...children: ComponentChildren[]): VNode & HTMLAttributes & SVGAttributes>; createElement

(type: ComponentType

| string, props: (Attributes & P) | null, ...children: ComponentChildren[]): VNode

; h(type: "input", props: (DOMAttributes & ClassAttributes) | null, ...children: ComponentChildren[]): VNode & ClassAttributes>; h

, T extends HTMLElement>(type: keyof JSXInternal.IntrinsicElements, props: (ClassAttributes & P) | null, ...children: ComponentChildren[]): VNode & P>; h

, T extends HTMLElement>(type: keyof JSXInternal.IntrinsicSVGElements, props: (ClassAttributes & P) | null, ...children: ComponentChildren[]): VNode & P>; h(type: string, props: (ClassAttributes & HTMLAttributes & SVGAttributes) | null, ...children: ComponentChildren[]): VNode<(ClassAttributes & HTMLAttributes & SVGAttributes) | null>; h

(type: ComponentType

| string, props: (Attributes & P) | null, ...children: ComponentChildren[]): VNode; render(vnode: ComponentChild, parent: ContainerNode): void; hydrate(vnode: ComponentChild, parent: ContainerNode): void; createPortal(vnode: ComponentChildren, container: ContainerNode): VNode; cloneElement(vnode: VNode, props?: any, ...children: ComponentChildren[]): VNode; cloneElement

(vnode: VNode

, props?: any, ...children: ComponentChildren[]): VNode

; createRef(): RefObject; toChildArray(children: ComponentChildren): Array; isValidElement(vnode: any): vnode is VNode; createContext(defaultValue: T): Context; Component: typeof Component; Fragment: FunctionComponent<{}>; options: Options; ToggleEvent: { prototype: undefined; new (type: string, eventInitDict?: undefined): undefined; }; CommandEvent: { prototype: undefined; new (type: string, eventInitDict?: undefined): undefined; }; SnapEvent: { prototype: undefined; new (type: string, eventInitDict?: undefined): undefined; }; useState(initialState: S | (() => S)): [S, Dispatch>]; useState(): [S | undefined, Dispatch>]; useReducer(reducer: Reducer, initialState: S): [S, Dispatch]; useReducer(reducer: Reducer, initialArg: I, init: (arg: I) => S): [S, Dispatch]; useRef(initialValue: T): RefObject; useRef(initialValue: T | null): RefObject; useRef(initialValue: T | undefined): RefObject; useEffect(effect: undefined, inputs?: undefined): void; useImperativeHandle(ref: Ref, create: () => R, inputs?: undefined): void; useLayoutEffect(effect: undefined, inputs?: undefined): void; useCallback(callback: T, inputs: undefined): T; useMemo(factory: () => T, inputs: undefined | undefined): T; useContext(context: PreactContext): T; useDebugValue(value: T, formatter?: (value: T) => any): void; useErrorBoundary(callback?: (error: any, errorInfo: ErrorInfo) => Promise | void): [any, () => void]; useId(): string; jsx(type: string, props: HTMLAttributes & SVGAttributes & Record & { children?: ComponentChild; }, key?: string): VNode; jsx

(type: ComponentType

, props: Attributes & P & { children?: ComponentChild; }, key?: string): VNode; jsxs(type: string, props: HTMLAttributes & SVGAttributes & Record & { children?: ComponentChild[]; }, key?: string): VNode; jsxs

(type: ComponentType

, props: Attributes & P & { children?: ComponentChild[]; }, key?: string): VNode; jsxDEV(type: string, props: HTMLAttributes & SVGAttributes & Record & { children?: ComponentChildren; }, key?: string): VNode; jsxDEV

(type: ComponentType

, props: Attributes & P & { children?: ComponentChildren; }, key?: string): VNode; jsxTemplate(template: string[], ...expressions: any[]): VNode; jsxAttr(name: string, value: any): string | null; jsxEscape(value: T): string | null | VNode | Array; }; //#endregion export { _default as default };