/** * This file gets copied to all distributions of stencil component collections. * - no imports */ export interface ComponentWillLoad { /** * The component is about to load and it has not * rendered yet. * * This is the best place to make any data updates * before the first render. * * componentWillLoad will only be called once. */ componentWillLoad: () => Promise | void; } export interface ComponentDidLoad { /** * The component has loaded and has already rendered. * * Updating data in this method will cause the * component to re-render. * * componentDidLoad will only be called once. */ componentDidLoad: () => void; } export interface ComponentWillUpdate { /** * The component is about to update and re-render. * * Called multiple times throughout the life of * the component as it updates. * * componentWillUpdate is not called on the first render. */ componentWillUpdate: () => Promise | void; } export interface ComponentDidUpdate { /** * The component has just re-rendered. * * Called multiple times throughout the life of * the component as it updates. * * componentWillUpdate is not called on the * first render. */ componentDidUpdate: () => void; } export interface ComponentDidUnload { /** * The component did unload and the element * will be destroyed. */ componentDidUnload: () => void; } export interface ComponentInterface { connectedCallback?: () => void; disconnectedCallback?: () => void; componentWillRender?: () => Promise | void; componentDidRender?: () => void; /** * The component is about to load and it has not * rendered yet. * * This is the best place to make any data updates * before the first render. * * componentWillLoad will only be called once. */ componentWillLoad?: () => Promise | void; /** * The component has loaded and has already rendered. * * Updating data in this method will cause the * component to re-render. * * componentDidLoad will only be called once. */ componentDidLoad?: () => void; /** * The component is about to update and re-render. * * Called multiple times throughout the life of * the component as it updates. * * componentWillUpdate is not called on the first render. */ componentWillUpdate?: () => Promise | void; /** * The component has just re-rendered. * * Called multiple times throughout the life of * the component as it updates. * * componentWillUpdate is not called on the * first render. */ componentDidUpdate?: () => void; render?: () => any; [memberName: string]: any; } /** * General types important to applications using stencil built components */ export interface EventEmitter { emit: (data?: T) => CustomEvent; } export interface QueueApi { tick: (cb: RafCallback) => void; read: (cb: RafCallback) => void; write: (cb: RafCallback) => void; clear?: () => void; flush?: (cb?: () => void) => void; } export interface RafCallback { (timeStamp: number): void; } export interface HTMLStencilElement extends HTMLElement { componentOnReady(): Promise; forceUpdate(): void; } declare namespace LocalJSX { export interface Element {} export interface IntrinsicElements {} } export { LocalJSX as JSX }; export namespace JSXBase { export interface IntrinsicElements { // Stencil elements slot: JSXBase.SlotAttributes; // HTML a: JSXBase.AnchorHTMLAttributes; abbr: JSXBase.HTMLAttributes; address: JSXBase.HTMLAttributes; area: JSXBase.AreaHTMLAttributes; article: JSXBase.HTMLAttributes; aside: JSXBase.HTMLAttributes; audio: JSXBase.AudioHTMLAttributes; b: JSXBase.HTMLAttributes; base: JSXBase.BaseHTMLAttributes; bdi: JSXBase.HTMLAttributes; bdo: JSXBase.HTMLAttributes; big: JSXBase.HTMLAttributes; blockquote: JSXBase.BlockquoteHTMLAttributes; body: JSXBase.HTMLAttributes; br: JSXBase.HTMLAttributes; button: JSXBase.ButtonHTMLAttributes; canvas: JSXBase.CanvasHTMLAttributes; caption: JSXBase.HTMLAttributes; cite: JSXBase.HTMLAttributes; code: JSXBase.HTMLAttributes; col: JSXBase.ColHTMLAttributes; colgroup: JSXBase.ColgroupHTMLAttributes; data: JSXBase.HTMLAttributes; datalist: JSXBase.HTMLAttributes; dd: JSXBase.HTMLAttributes; del: JSXBase.DelHTMLAttributes; details: JSXBase.DetailsHTMLAttributes; dfn: JSXBase.HTMLAttributes; dialog: JSXBase.DialogHTMLAttributes; div: JSXBase.HTMLAttributes; dl: JSXBase.HTMLAttributes; dt: JSXBase.HTMLAttributes; em: JSXBase.HTMLAttributes; embed: JSXBase.EmbedHTMLAttributes; fieldset: JSXBase.FieldsetHTMLAttributes; figcaption: JSXBase.HTMLAttributes; figure: JSXBase.HTMLAttributes; footer: JSXBase.HTMLAttributes; form: JSXBase.FormHTMLAttributes; h1: JSXBase.HTMLAttributes; h2: JSXBase.HTMLAttributes; h3: JSXBase.HTMLAttributes; h4: JSXBase.HTMLAttributes; h5: JSXBase.HTMLAttributes; h6: JSXBase.HTMLAttributes; head: JSXBase.HTMLAttributes; header: JSXBase.HTMLAttributes; hgroup: JSXBase.HTMLAttributes; hr: JSXBase.HTMLAttributes; html: JSXBase.HTMLAttributes; i: JSXBase.HTMLAttributes; iframe: JSXBase.IframeHTMLAttributes; img: JSXBase.ImgHTMLAttributes; input: JSXBase.InputHTMLAttributes; ins: JSXBase.InsHTMLAttributes; kbd: JSXBase.HTMLAttributes; keygen: JSXBase.KeygenHTMLAttributes; label: JSXBase.LabelHTMLAttributes; legend: JSXBase.HTMLAttributes; li: JSXBase.LiHTMLAttributes; link: JSXBase.LinkHTMLAttributes; main: JSXBase.HTMLAttributes; map: JSXBase.MapHTMLAttributes; mark: JSXBase.HTMLAttributes; menu: JSXBase.MenuHTMLAttributes; menuitem: JSXBase.HTMLAttributes; meta: JSXBase.MetaHTMLAttributes; meter: JSXBase.MeterHTMLAttributes; nav: JSXBase.HTMLAttributes; noscript: JSXBase.HTMLAttributes; object: JSXBase.ObjectHTMLAttributes; ol: JSXBase.OlHTMLAttributes; optgroup: JSXBase.OptgroupHTMLAttributes; option: JSXBase.OptionHTMLAttributes; output: JSXBase.OutputHTMLAttributes; p: JSXBase.HTMLAttributes; param: JSXBase.ParamHTMLAttributes; picture: JSXBase.HTMLAttributes; pre: JSXBase.HTMLAttributes; progress: JSXBase.ProgressHTMLAttributes; q: JSXBase.QuoteHTMLAttributes; rp: JSXBase.HTMLAttributes; rt: JSXBase.HTMLAttributes; ruby: JSXBase.HTMLAttributes; s: JSXBase.HTMLAttributes; samp: JSXBase.HTMLAttributes; script: JSXBase.ScriptHTMLAttributes; section: JSXBase.HTMLAttributes; select: JSXBase.SelectHTMLAttributes; small: JSXBase.HTMLAttributes; source: JSXBase.SourceHTMLAttributes; span: JSXBase.HTMLAttributes; strong: JSXBase.HTMLAttributes; style: JSXBase.StyleHTMLAttributes; sub: JSXBase.HTMLAttributes; summary: JSXBase.HTMLAttributes; sup: JSXBase.HTMLAttributes; table: JSXBase.TableHTMLAttributes; tbody: JSXBase.HTMLAttributes; td: JSXBase.TdHTMLAttributes; textarea: JSXBase.TextareaHTMLAttributes; tfoot: JSXBase.HTMLAttributes; th: JSXBase.ThHTMLAttributes; thead: JSXBase.HTMLAttributes; time: JSXBase.TimeHTMLAttributes; title: JSXBase.HTMLAttributes; tr: JSXBase.HTMLAttributes; track: JSXBase.TrackHTMLAttributes; u: JSXBase.HTMLAttributes; ul: JSXBase.HTMLAttributes; 'var': JSXBase.HTMLAttributes; video: JSXBase.VideoHTMLAttributes; wbr: JSXBase.HTMLAttributes; // SVG animate: JSXBase.SVGAttributes; circle: JSXBase.SVGAttributes; clipPath: JSXBase.SVGAttributes; defs: JSXBase.SVGAttributes; desc: JSXBase.SVGAttributes; ellipse: JSXBase.SVGAttributes; feBlend: JSXBase.SVGAttributes; feColorMatrix: JSXBase.SVGAttributes; feComponentTransfer: JSXBase.SVGAttributes; feComposite: JSXBase.SVGAttributes; feConvolveMatrix: JSXBase.SVGAttributes; feDiffuseLighting: JSXBase.SVGAttributes; feDisplacementMap: JSXBase.SVGAttributes; feDistantLight: JSXBase.SVGAttributes; feDropShadow: JSXBase.SVGAttributes; feFlood: JSXBase.SVGAttributes; feFuncA: JSXBase.SVGAttributes; feFuncB: JSXBase.SVGAttributes; feFuncG: JSXBase.SVGAttributes; feFuncR: JSXBase.SVGAttributes; feGaussianBlur: JSXBase.SVGAttributes; feImage: JSXBase.SVGAttributes; feMerge: JSXBase.SVGAttributes; feMergeNode: JSXBase.SVGAttributes; feMorphology: JSXBase.SVGAttributes; feOffset: JSXBase.SVGAttributes; fePointLight: JSXBase.SVGAttributes; feSpecularLighting: JSXBase.SVGAttributes; feSpotLight: JSXBase.SVGAttributes; feTile: JSXBase.SVGAttributes; feTurbulence: JSXBase.SVGAttributes; filter: JSXBase.SVGAttributes; foreignObject: JSXBase.SVGAttributes; g: JSXBase.SVGAttributes; image: JSXBase.SVGAttributes; line: JSXBase.SVGAttributes; linearGradient: JSXBase.SVGAttributes; marker: JSXBase.SVGAttributes; mask: JSXBase.SVGAttributes; metadata: JSXBase.SVGAttributes; path: JSXBase.SVGAttributes; pattern: JSXBase.SVGAttributes; polygon: JSXBase.SVGAttributes; polyline: JSXBase.SVGAttributes; radialGradient: JSXBase.SVGAttributes; rect: JSXBase.SVGAttributes; stop: JSXBase.SVGAttributes; svg: JSXBase.SVGAttributes; switch: JSXBase.SVGAttributes; symbol: JSXBase.SVGAttributes; text: JSXBase.SVGAttributes; textPath: JSXBase.SVGAttributes; tspan: JSXBase.SVGAttributes; use: JSXBase.SVGAttributes; view: JSXBase.SVGAttributes; } export interface SlotAttributes { name?: string; slot?: string; } export interface AnchorHTMLAttributes extends HTMLAttributes { download?: any; href?: string; hrefLang?: string; hreflang?: string; media?: string; rel?: string; target?: string; } export interface AudioHTMLAttributes extends MediaHTMLAttributes {} export interface AreaHTMLAttributes extends HTMLAttributes { alt?: string; coords?: string; download?: any; href?: string; hrefLang?: string; hreflang?: string; media?: string; rel?: string; shape?: string; target?: string; } export interface BaseHTMLAttributes extends HTMLAttributes { href?: string; target?: string; } export interface BlockquoteHTMLAttributes extends HTMLAttributes { cite?: string; } export interface ButtonHTMLAttributes extends HTMLAttributes { autoFocus?: boolean; disabled?: boolean; form?: string; formAction?: string; formaction?: string; formEncType?: string; formenctype?: string; formMethod?: string; formmethod?: string; formNoValidate?: boolean; formnovalidate?: boolean; formTarget?: string; formtarget?: string; name?: string; type?: string; value?: string | string[] | number; } export interface CanvasHTMLAttributes extends HTMLAttributes { height?: number | string; width?: number | string; } export interface ColHTMLAttributes extends HTMLAttributes { span?: number; } export interface ColgroupHTMLAttributes extends HTMLAttributes { span?: number; } export interface DetailsHTMLAttributes extends HTMLAttributes { open?: boolean; } export interface DelHTMLAttributes extends HTMLAttributes { cite?: string; dateTime?: string; datetime?: string; } export interface DialogHTMLAttributes extends HTMLAttributes { onClose?: (event: Event) => void; open?: boolean; returnValue?: string; } export interface EmbedHTMLAttributes extends HTMLAttributes { height?: number | string; src?: string; type?: string; width?: number | string; } export interface FieldsetHTMLAttributes extends HTMLAttributes { disabled?: boolean; form?: string; name?: string; } export interface FormHTMLAttributes extends HTMLAttributes { acceptCharset?: string; acceptcharset?: string; action?: string; autoComplete?: string; autocomplete?: string; encType?: string; enctype?: string; method?: string; name?: string; noValidate?: boolean; novalidate?: boolean | string; target?: string; } export interface HtmlHTMLAttributes extends HTMLAttributes { manifest?: string; } export interface IframeHTMLAttributes extends HTMLAttributes { allowFullScreen?: boolean; allowfullScreen?: string | boolean; allowTransparency?: boolean; allowtransparency?: string | boolean; frameBorder?: number | string; frameborder?: number | string; importance?: 'low' | 'auto' | 'high'; height?: number | string; loading?: 'lazy' | 'auto' | 'eager'; marginHeight?: number; marginheight?: string | number; marginWidth?: number; marginwidth?: string | number; name?: string; referrerPolicy?: ReferrerPolicy; sandbox?: string; scrolling?: string; seamless?: boolean; src?: string; srcDoc?: string; srcdoc?: string; width?: number | string; } export interface ImgHTMLAttributes extends HTMLAttributes { alt?: string; decoding?: 'async' | 'auto' | 'sync'; importance?: 'low' | 'auto' | 'high'; height?: number | string; loading?: 'lazy' | 'auto' | 'eager'; sizes?: string; src?: string; srcSet?: string; srcset?: string; useMap?: string; usemap?: string; width?: number | string; } export interface InsHTMLAttributes extends HTMLAttributes { cite?: string; dateTime?: string; datetime?: string; } export interface InputHTMLAttributes extends HTMLAttributes { accept?: string; alt?: string; autoComplete?: string; autocomplete?: string; autoFocus?: boolean; autofocus?: boolean | string; capture?: string; // https://www.w3.org/TR/html-media-capture/#the-capture-attribute checked?: boolean; crossOrigin?: string; crossorigin?: string; disabled?: boolean; form?: string; formAction?: string; formaction?: string; formEncType?: string; formenctype?: string; formMethod?: string; formmethod?: string; formNoValidate?: boolean; formnovalidate?: boolean; formTarget?: string; formtarget?: string; height?: number | string; list?: string; max?: number | string; maxLength?: number; maxlength?: number | string; min?: number | string; minLength?: number; minlength?: number | string; multiple?: boolean; name?: string; pattern?: string; placeholder?: string; readOnly?: boolean; readonly?: boolean | string; required?: boolean; size?: number; src?: string; step?: number | string; type?: string; value?: string | string[] | number; width?: number | string; } export interface KeygenHTMLAttributes extends HTMLAttributes { autoFocus?: boolean; autofocus?: boolean | string; challenge?: string; disabled?: boolean; form?: string; keyType?: string; keytype?: string; keyParams?: string; keyparams?: string; name?: string; } export interface LabelHTMLAttributes extends HTMLAttributes { form?: string; htmlFor?: string; htmlfor?: string; } export interface LiHTMLAttributes extends HTMLAttributes { value?: string | string[] | number; } export interface LinkHTMLAttributes extends HTMLAttributes { href?: string; hrefLang?: string; hreflang?: string; importance?: 'low' | 'auto' | 'high'; integrity?: string; media?: string; rel?: string; sizes?: string; type?: string; } export interface MapHTMLAttributes extends HTMLAttributes { name?: string; } export interface MenuHTMLAttributes extends HTMLAttributes { type?: string; } export interface MediaHTMLAttributes extends HTMLAttributes { autoPlay?: boolean; autoplay?: boolean | string; controls?: boolean; crossOrigin?: string; crossorigin?: string; loop?: boolean; mediaGroup?: string; mediagroup?: string; muted?: boolean; preload?: string; src?: string; // https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Media_events onAbort?: (event: Event) => void; onCanPlay?: (event: Event) => void; onCanPlayThrough?: (event: Event) => void; onDurationChange?: (event: Event) => void; onEmptied?: (event: Event) => void; onEnded?: (event: Event) => void; onError?: (event: Event) => void; onInterruptBegin?: (event: Event) => void; onInterruptEnd?: (event: Event) => void; onLoadedData?: (event: Event) => void; onLoadedMetaData?: (event: Event) => void; onLoadStart?: (event: Event) => void; onMozAudioAvailable?: (event: Event) => void; onPause?: (event: Event) => void; onPlay?: (event: Event) => void; onPlaying?: (event: Event) => void; onProgress?: (event: Event) => void; onRateChange?: (event: Event) => void; onSeeked?: (event: Event) => void; onSeeking?: (event: Event) => void; onStalled?: (event: Event) => void; onSuspend?: (event: Event) => void; onTimeUpdate?: (event: Event) => void; onVolumeChange?: (event: Event) => void; onWaiting?: (event: Event) => void; } export interface MetaHTMLAttributes extends HTMLAttributes { charSet?: string; charset?: string; content?: string; httpEquiv?: string; httpequiv?: string; name?: string; } export interface MeterHTMLAttributes extends HTMLAttributes { form?: string; high?: number; low?: number; max?: number | string; min?: number | string; optimum?: number; value?: string | string[] | number; } export interface QuoteHTMLAttributes extends HTMLAttributes { cite?: string; } export interface ObjectHTMLAttributes extends HTMLAttributes { classID?: string; classid?: string; data?: string; form?: string; height?: number | string; name?: string; type?: string; useMap?: string; usemap?: string; width?: number | string; wmode?: string; } export interface OlHTMLAttributes extends HTMLAttributes { reversed?: boolean; start?: number; } export interface OptgroupHTMLAttributes extends HTMLAttributes { disabled?: boolean; label?: string; } export interface OptionHTMLAttributes extends HTMLAttributes { disabled?: boolean; label?: string; selected?: boolean; value?: string | string[] | number; } export interface OutputHTMLAttributes extends HTMLAttributes { form?: string; htmlFor?: string; htmlfor?: string; name?: string; } export interface ParamHTMLAttributes extends HTMLAttributes { name?: string; value?: string | string[] | number; } export interface ProgressHTMLAttributes extends HTMLAttributes { max?: number | string; value?: string | string[] | number; } export interface ScriptHTMLAttributes extends HTMLAttributes { async?: boolean; charSet?: string; charset?: string; crossOrigin?: string; crossorigin?: string; defer?: boolean; importance?: 'low' | 'auto' | 'high'; integrity?: string; nonce?: string; src?: string; type?: string; } export interface SelectHTMLAttributes extends HTMLAttributes { autoFocus?: boolean; disabled?: boolean; form?: string; multiple?: boolean; name?: string; required?: boolean; size?: number; } export interface SourceHTMLAttributes extends HTMLAttributes { media?: string; sizes?: string; src?: string; srcSet?: string; type?: string; } export interface StyleHTMLAttributes extends HTMLAttributes { media?: string; nonce?: string; scoped?: boolean; type?: string; } export interface TableHTMLAttributes extends HTMLAttributes { cellPadding?: number | string; cellpadding?: number | string; cellSpacing?: number | string; cellspacing?: number | string; summary?: string; } export interface TextareaHTMLAttributes extends HTMLAttributes { autoFocus?: boolean; autofocus?: boolean | string; cols?: number; disabled?: boolean; form?: string; maxLength?: number; maxlength?: number | string; minLength?: number; minlength?: number | string; name?: string; placeholder?: string; readOnly?: boolean; readonly?: boolean | string; required?: boolean; rows?: number; value?: string | string[] | number; wrap?: string; } export interface TdHTMLAttributes extends HTMLAttributes { colSpan?: number; headers?: string; rowSpan?: number; } export interface ThHTMLAttributes extends HTMLAttributes { colSpan?: number; headers?: string; rowSpan?: number; rowspan?: number | string; scope?: string; } export interface TimeHTMLAttributes extends HTMLAttributes { dateTime?: string; } export interface TrackHTMLAttributes extends HTMLAttributes { default?: boolean; kind?: string; label?: string; src?: string; srcLang?: string; srclang?: string; } export interface VideoHTMLAttributes extends MediaHTMLAttributes { height?: number | string; playsInline?: boolean; playsinline?: boolean | string; poster?: string; width?: number | string; } export interface HTMLAttributes extends DOMAttributes { // vdom specific innerHTML?: string; key?: string | number; // Standard HTML Attributes accessKey?: string; class?: string | { [className: string]: boolean }; contentEditable?: boolean | string; contenteditable?: boolean | string; contextMenu?: string; contextmenu?: string; dir?: string; draggable?: boolean; hidden?: boolean; id?: string; lang?: string; spellCheck?: boolean; spellcheck?: boolean | string; style?: { [key: string]: string | undefined }; tabIndex?: number; tabindex?: number | string; title?: string; // Unknown inputMode?: string; inputmode?: string; is?: string; radioGroup?: string; // , radiogroup?: string; part?: string; // WAI-ARIA role?: string; // RDFa Attributes about?: string; datatype?: string; inlist?: any; prefix?: string; property?: string; resource?: string; typeof?: string; vocab?: string; // Non-standard Attributes autoCapitalize?: string; autocapitalize?: string; autoCorrect?: string; autocorrect?: string; autoSave?: string; autosave?: string; color?: string; itemProp?: string; itemprop?: string; itemScope?: boolean; itemscope?: boolean; itemType?: string; itemtype?: string; itemID?: string; itemid?: string; itemRef?: string; itemref?: string; results?: number; security?: string; unselectable?: boolean; } export interface SVGAttributes extends DOMAttributes { // Attributes which also defined in HTMLAttributes // See comment in SVGDOMPropertyConfig.js class?: string | { [className: string]: boolean }; color?: string; height?: number | string; id?: string; lang?: string; max?: number | string; media?: string; method?: string; min?: number | string; name?: string; style?: { [key: string]: string | undefined }; target?: string; type?: string; width?: number | string; // Other HTML properties supported by SVG elements in browsers role?: string; tabIndex?: number; // SVG Specific attributes accentHeight?: number | string; accumulate?: 'none' | 'sum'; additive?: 'replace' | 'sum'; alignmentBaseline?: 'auto' | 'baseline' | 'before-edge' | 'text-before-edge' | 'middle' | 'central' | 'after-edge' | 'text-after-edge' | 'ideographic' | 'alphabetic' | 'hanging' | 'mathematical' | 'inherit'; allowReorder?: 'no' | 'yes'; alphabetic?: number | string; amplitude?: number | string; arabicForm?: 'initial' | 'medial' | 'terminal' | 'isolated'; ascent?: number | string; attributeName?: string; attributeType?: string; autoReverse?: number | string; azimuth?: number | string; baseFrequency?: number | string; baselineShift?: number | string; baseProfile?: number | string; bbox?: number | string; begin?: number | string; bias?: number | string; by?: number | string; calcMode?: number | string; capHeight?: number | string; clip?: number | string; clipPath?: string; clipPathUnits?: number | string; clipRule?: number | string; colorInterpolation?: number | string; colorInterpolationFilters?: 'auto' | 'sRGB' | 'linearRGB' | 'inherit'; colorProfile?: number | string; colorRendering?: number | string; contentScriptType?: number | string; contentStyleType?: number | string; cursor?: number | string; cx?: number | string; cy?: number | string; d?: string; decelerate?: number | string; descent?: number | string; diffuseConstant?: number | string; direction?: number | string; display?: number | string; divisor?: number | string; dominantBaseline?: number | string; dur?: number | string; dx?: number | string; dy?: number | string; edgeMode?: number | string; elevation?: number | string; enableBackground?: number | string; end?: number | string; exponent?: number | string; externalResourcesRequired?: number | string; fill?: string; fillOpacity?: number | string; fillRule?: 'nonzero' | 'evenodd' | 'inherit'; filter?: string; filterRes?: number | string; filterUnits?: number | string; floodColor?: number | string; floodOpacity?: number | string; focusable?: number | string; fontFamily?: string; fontSize?: number | string; fontSizeAdjust?: number | string; fontStretch?: number | string; fontStyle?: number | string; fontVariant?: number | string; fontWeight?: number | string; format?: number | string; from?: number | string; fx?: number | string; fy?: number | string; g1?: number | string; g2?: number | string; glyphName?: number | string; glyphOrientationHorizontal?: number | string; glyphOrientationVertical?: number | string; glyphRef?: number | string; gradientTransform?: string; gradientUnits?: string; hanging?: number | string; horizAdvX?: number | string; horizOriginX?: number | string; ideographic?: number | string; imageRendering?: number | string; in2?: number | string; in?: string; intercept?: number | string; k1?: number | string; k2?: number | string; k3?: number | string; k4?: number | string; k?: number | string; kernelMatrix?: number | string; kernelUnitLength?: number | string; kerning?: number | string; keyPoints?: number | string; keySplines?: number | string; keyTimes?: number | string; lengthAdjust?: number | string; letterSpacing?: number | string; lightingColor?: number | string; limitingConeAngle?: number | string; local?: number | string; markerEnd?: string; markerHeight?: number | string; markerMid?: string; markerStart?: string; markerUnits?: number | string; markerWidth?: number | string; mask?: string; maskContentUnits?: number | string; maskUnits?: number | string; mathematical?: number | string; mode?: number | string; numOctaves?: number | string; offset?: number | string; opacity?: number | string; operator?: number | string; order?: number | string; orient?: number | string; orientation?: number | string; origin?: number | string; overflow?: number | string; overlinePosition?: number | string; overlineThickness?: number | string; paintOrder?: number | string; panose1?: number | string; pathLength?: number | string; patternContentUnits?: string; patternTransform?: number | string; patternUnits?: string; pointerEvents?: number | string; points?: string; pointsAtX?: number | string; pointsAtY?: number | string; pointsAtZ?: number | string; preserveAlpha?: number | string; preserveAspectRatio?: string; primitiveUnits?: number | string; r?: number | string; radius?: number | string; refX?: number | string; refY?: number | string; renderingIntent?: number | string; repeatCount?: number | string; repeatDur?: number | string; requiredExtensions?: number | string; requiredFeatures?: number | string; restart?: number | string; result?: string; rotate?: number | string; rx?: number | string; ry?: number | string; scale?: number | string; seed?: number | string; shapeRendering?: number | string; slope?: number | string; spacing?: number | string; specularConstant?: number | string; specularExponent?: number | string; speed?: number | string; spreadMethod?: string; startOffset?: number | string; stdDeviation?: number | string; stemh?: number | string; stemv?: number | string; stitchTiles?: number | string; stopColor?: string; stopOpacity?: number | string; strikethroughPosition?: number | string; strikethroughThickness?: number | string; string?: number | string; stroke?: string; strokeDasharray?: string | number; strokeDashoffset?: string | number; strokeLinecap?: 'butt' | 'round' | 'square' | 'inherit'; strokeLinejoin?: 'miter' | 'round' | 'bevel' | 'inherit'; strokeMiterlimit?: string; strokeOpacity?: number | string; strokeWidth?: number | string; surfaceScale?: number | string; systemLanguage?: number | string; tableValues?: number | string; targetX?: number | string; targetY?: number | string; textAnchor?: string; textDecoration?: number | string; textLength?: number | string; textRendering?: number | string; to?: number | string; transform?: string; u1?: number | string; u2?: number | string; underlinePosition?: number | string; underlineThickness?: number | string; unicode?: number | string; unicodeBidi?: number | string; unicodeRange?: number | string; unitsPerEm?: number | string; vAlphabetic?: number | string; values?: string; vectorEffect?: number | string; version?: string; vertAdvY?: number | string; vertOriginX?: number | string; vertOriginY?: number | string; vHanging?: number | string; vIdeographic?: number | string; viewBox?: string; viewTarget?: number | string; visibility?: number | string; vMathematical?: number | string; widths?: number | string; wordSpacing?: number | string; writingMode?: number | string; x1?: number | string; x2?: number | string; x?: number | string; xChannelSelector?: string; xHeight?: number | string; xlinkActuate?: string; xlinkArcrole?: string; xlinkHref?: string; xlinkRole?: string; xlinkShow?: string; xlinkTitle?: string; xlinkType?: string; xmlBase?: string; xmlLang?: string; xmlns?: string; xmlnsXlink?: string; xmlSpace?: string; y1?: number | string; y2?: number | string; y?: number | string; yChannelSelector?: string; z?: number | string; zoomAndPan?: string; } export interface DOMAttributes { ref?: (elm?: T) => void; slot?: string; // Clipboard Events onCopy?: (event: ClipboardEvent) => void; onCopyCapture?: (event: ClipboardEvent) => void; onCut?: (event: ClipboardEvent) => void; onCutCapture?: (event: ClipboardEvent) => void; onPaste?: (event: ClipboardEvent) => void; onPasteCapture?: (event: ClipboardEvent) => void; // Composition Events onCompositionEnd?: (event: CompositionEvent) => void; onCompositionEndCapture?: (event: CompositionEvent) => void; onCompositionStart?: (event: CompositionEvent) => void; onCompositionStartCapture?: (event: CompositionEvent) => void; onCompositionUpdate?: (event: CompositionEvent) => void; onCompositionUpdateCapture?: (event: CompositionEvent) => void; // Focus Events onFocus?: (event: FocusEvent) => void; onFocusCapture?: (event: FocusEvent) => void; onBlur?: (event: FocusEvent) => void; onBlurCapture?: (event: FocusEvent) => void; // Form Events onChange?: (event: Event) => void; onChangeCapture?: (event: Event) => void; onInput?: (event: Event) => void; onInputCapture?: (event: Event) => void; onReset?: (event: Event) => void; onResetCapture?: (event: Event) => void; onSubmit?: (event: Event) => void; onSubmitCapture?: (event: Event) => void; onInvalid?: (event: Event) => void; onInvalidCapture?: (event: Event) => void; // Image Events onLoad?: (event: Event) => void; onLoadCapture?: (event: Event) => void; onError?: (event: Event) => void; // also a Media Event onErrorCapture?: (event: Event) => void; // also a Media Event // Keyboard Events onKeyDown?: (event: KeyboardEvent) => void; onKeyDownCapture?: (event: KeyboardEvent) => void; onKeyPress?: (event: KeyboardEvent) => void; onKeyPressCapture?: (event: KeyboardEvent) => void; onKeyUp?: (event: KeyboardEvent) => void; onKeyUpCapture?: (event: KeyboardEvent) => void; // MouseEvents onAuxClick?: (event: MouseEvent) => void; onClick?: (event: MouseEvent) => void; onClickCapture?: (event: MouseEvent) => void; onContextMenu?: (event: MouseEvent) => void; onContextMenuCapture?: (event: MouseEvent) => void; onDblClick?: (event: MouseEvent) => void; onDblClickCapture?: (event: MouseEvent) => void; onDrag?: (event: DragEvent) => void; onDragCapture?: (event: DragEvent) => void; onDragEnd?: (event: DragEvent) => void; onDragEndCapture?: (event: DragEvent) => void; onDragEnter?: (event: DragEvent) => void; onDragEnterCapture?: (event: DragEvent) => void; onDragExit?: (event: DragEvent) => void; onDragExitCapture?: (event: DragEvent) => void; onDragLeave?: (event: DragEvent) => void; onDragLeaveCapture?: (event: DragEvent) => void; onDragOver?: (event: DragEvent) => void; onDragOverCapture?: (event: DragEvent) => void; onDragStart?: (event: DragEvent) => void; onDragStartCapture?: (event: DragEvent) => void; onDrop?: (event: DragEvent) => void; onDropCapture?: (event: DragEvent) => void; onMouseDown?: (event: MouseEvent) => void; onMouseDownCapture?: (event: MouseEvent) => void; onMouseEnter?: (event: MouseEvent) => void; onMouseLeave?: (event: MouseEvent) => void; onMouseMove?: (event: MouseEvent) => void; onMouseMoveCapture?: (event: MouseEvent) => void; onMouseOut?: (event: MouseEvent) => void; onMouseOutCapture?: (event: MouseEvent) => void; onMouseOver?: (event: MouseEvent) => void; onMouseOverCapture?: (event: MouseEvent) => void; onMouseUp?: (event: MouseEvent) => void; onMouseUpCapture?: (event: MouseEvent) => void; // Touch Events onTouchCancel?: (event: TouchEvent) => void; onTouchCancelCapture?: (event: TouchEvent) => void; onTouchEnd?: (event: TouchEvent) => void; onTouchEndCapture?: (event: TouchEvent) => void; onTouchMove?: (event: TouchEvent) => void; onTouchMoveCapture?: (event: TouchEvent) => void; onTouchStart?: (event: TouchEvent) => void; onTouchStartCapture?: (event: TouchEvent) => void; // Pointer Events onPointerDown?: (event: PointerEvent) => void; onPointerDownCapture?: (event: PointerEvent) => void; onPointerMove?: (event: PointerEvent) => void; onPointerMoveCapture?: (event: PointerEvent) => void; onPointerUp?: (event: PointerEvent) => void; onPointerUpCapture?: (event: PointerEvent) => void; onPointerCancel?: (event: PointerEvent) => void; onPointerCancelCapture?: (event: PointerEvent) => void; onPointerEnter?: (event: PointerEvent) => void; onPointerEnterCapture?: (event: PointerEvent) => void; onPointerLeave?: (event: PointerEvent) => void; onPointerLeaveCapture?: (event: PointerEvent) => void; onPointerOver?: (event: PointerEvent) => void; onPointerOverCapture?: (event: PointerEvent) => void; onPointerOut?: (event: PointerEvent) => void; onPointerOutCapture?: (event: PointerEvent) => void; onGotPointerCapture?: (event: PointerEvent) => void; onGotPointerCaptureCapture?: (event: PointerEvent) => void; onLostPointerCapture?: (event: PointerEvent) => void; onLostPointerCaptureCapture?: (event: PointerEvent) => void; // UI Events onScroll?: (event: UIEvent) => void; onScrollCapture?: (event: UIEvent) => void; // Wheel Events onWheel?: (event: WheelEvent) => void; onWheelCapture?: (event: WheelEvent) => void; // Animation Events onAnimationStart?: (event: AnimationEvent) => void; onAnimationStartCapture?: (event: AnimationEvent) => void; onAnimationEnd?: (event: AnimationEvent) => void; onAnimationEndCapture?: (event: AnimationEvent) => void; onAnimationIteration?: (event: AnimationEvent) => void; onAnimationIterationCapture?: (event: AnimationEvent) => void; // Transition Events onTransitionEnd?: (event: TransitionEvent) => void; onTransitionEndCapture?: (event: TransitionEvent) => void; } } export interface Hyperscript { (sel: any): VNode; (sel: Node, data: VNodeData): VNode; (sel: any, data: VNodeData): VNode; (sel: any, text: string): VNode; (sel: any, children: Array): VNode; (sel: any, data: VNodeData, text: string): VNode; (sel: any, data: VNodeData, children: Array): VNode; (sel: any, data: VNodeData, children: VNode): VNode; } export interface VNodeData { class?: {[className: string]: boolean}; style?: any; [attrName: string]: any; } export type ChildType = VNode | number | string; export type PropsType = VNodeProdData | number | string | null; export interface VNodeProdData { key?: string | number; class?: {[className: string]: boolean} | string; className?: {[className: string]: boolean} | string; style?: any; [key: string]: any; } export interface FunctionalUtilities { forEach: (children: VNode[], cb: (vnode: ChildNode, index: number, array: ChildNode[]) => void) => void; map: (children: VNode[], cb: (vnode: ChildNode, index: number, array: ChildNode[]) => ChildNode) => VNode[]; } export interface FunctionalComponent { (props: T, children: VNode[], utils: FunctionalUtilities): VNode | VNode[]; } export interface VNode { $flags$: number; $tag$: string | number | Function; $elm$: any; $text$: string; $children$: VNode[]; $attrs$?: any; $name$?: string; $key$?: string | number; } export interface ChildNode { vtag?: string | number | Function; vkey?: string | number; vtext?: string; vchildren?: VNode[]; vattrs?: any; vname?: string; }