import type { CSSProperties, InputTypeHTMLAttribute } from 'vue'; import type { Visible } from './directives'; type CrossOrigin = 'anonymous' | 'use-credentials' | '' | undefined; type PointerEvents = 'bounding-box' | 'visiblePainted' | 'visibleFill' | 'visibleStroke' | 'visible' | 'painted' | 'fill' | 'stroke' | 'all' | 'none'; type Align = 'none' | 'xMinYMin' | 'xMidYMin' | 'xMaxYMin' | 'xMinYMid' | 'xMidYMid' | 'xMaxYMid' | 'xMinYMax' | 'xMidYMax' | 'xMaxYMax'; type AlignBaseLine = 'auto' | 'baseline' | 'before-edge' | 'text-before-edge' | 'middle' | 'central' | 'after-edge' | 'text-after-edge' | 'ideographic' | 'alphabetic' | 'hanging' | 'mathematical' | 'inherit'; type Cursor = 'auto' | 'crosshair' | 'default' | 'pointer' | 'move' | 'e-resize' | 'ne-resize' | 'nw-resize' | 'n-resize' | 'se-resize' | 'sw-resize' | 's-resize' | 'w-resize' | 'text' | 'wait' | 'help' | 'inherit' | string; type DominantBaseline = 'auto' | 'text-bottom' | 'alphabetic' | 'ideographic' | 'middle' | 'central' | 'mathematical' | 'hanging' | 'text-top'; 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 PreserveAspectRatio = Align | `${Align} meet` | `${Align} slice`; export interface SyntheticEvent { currentTarget: EventTarget & T; target: EventTarget; preventDefault(): void; stopPropagation(): void; } export interface FormEvent extends SyntheticEvent { } export interface MouseEvent extends SyntheticEvent { } export interface KeyboardEvent extends SyntheticEvent { altKey: boolean; charCode: number; ctrlKey: boolean; /** * See [DOM Level 3 Events spec](https://www.w3.org/TR/uievents-key/#keys-modifier). * for a list of valid (case-sensitive) arguments to this method. */ getModifierState(key: string): boolean; /** * See the [DOM Level 3 Events spec](https://www.w3.org/TR/uievents-key/#named-key-attribute-values). * for possible values */ key: string; keyCode: number; locale: string; location: number; metaKey: boolean; repeat: boolean; shiftKey: boolean; which: number; } export type EventHandler> = (event: E) => void; export type FormEventHandler = EventHandler>; export type MouseEventHandler = EventHandler>; export type VueAttributeClass = string | { [key: string]: boolean; } | Array; export type VueAttributeStyle = false | null | undefined | string | CSSProperties | Array; export interface VueRenderOnAttribute { [key: string]: (...args: any[]) => void; } export interface VueRenderAttributes { class?: VueAttributeClass; style?: VueAttributeStyle; id?: string; on?: VueRenderOnAttribute; key?: number | string; ref?: string; slot?: string; 'v-visible'?: Visible; } export interface DOMAttributes { onClick?: MouseEventHandler; onChange?: FormEventHandler; onInput?: FormEventHandler; } export interface AriaAttributes { /** Identifies the currently active element when DOM focus is on a * composite widget, textbox, group, or application. */ 'aria-activedescendant'?: string; /** 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'?: boolean | 'false' | 'true'; /** * 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'?: 'none' | 'inline' | 'list' | 'both'; /** 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'?: boolean | 'false' | 'true'; /** * Indicates the current "checked" state of checkboxes, radio buttons, and * other widgets. * @see aria-pressed @see aria-selected. */ 'aria-checked'?: boolean | 'false' | 'mixed' | 'true'; /** * Defines the total number of columns in a table, grid, or treegrid. * @see aria-colindex. */ 'aria-colcount'?: number; /** * 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'?: number; /** * 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'?: number; /** * Identifies the element (or elements) whose contents or presence are controlled by the current element. * @see aria-owns. */ 'aria-controls'?: string; /** Indicates the element that represents the current item within a container or set of related elements. */ 'aria-current'?: boolean | 'false' | 'true' | 'page' | 'step' | 'location' | 'date' | 'time'; /** * Identifies the element (or elements) that describes the object. * @see aria-labelledby */ 'aria-describedby'?: string; /** * Identifies the element that provides a detailed, extended description for the object. * @see aria-describedby. */ 'aria-details'?: string; /** * Indicates that the element is perceivable but disabled, so it is not editable or otherwise operable. * @see aria-hidden @see aria-readonly. */ 'aria-disabled'?: boolean | 'false' | 'true'; /** * Indicates what functions can be performed when a dragged object is released on the drop target. * @deprecated in ARIA 1.1 */ 'aria-dropeffect'?: 'none' | 'copy' | 'execute' | 'link' | 'move' | 'popup'; /** * Identifies the element that provides an error message for the object. * @see aria-invalid @see aria-describedby. */ 'aria-errormessage'?: string; /** Indicates whether the element, or another grouping element it controls, is currently expanded or collapsed. */ 'aria-expanded'?: boolean | 'false' | 'true'; /** * 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'?: string; /** * Indicates an element's "grabbed" state in a drag-and-drop operation. * @deprecated in ARIA 1.1 */ 'aria-grabbed'?: boolean | 'false' | 'true'; /** Indicates the availability and type of interactive popup element, such * as menu or dialog, that can be triggered by an element. */ 'aria-haspopup'?: boolean | 'false' | 'true' | 'menu' | 'listbox' | 'tree' | 'grid' | 'dialog'; /** * Indicates whether the element is exposed to an accessibility API. * @see aria-disabled. */ 'aria-hidden'?: boolean | 'false' | 'true'; /** * Indicates the entered value does not conform to the format expected by * the application. * @see aria-errormessage. */ 'aria-invalid'?: boolean | 'false' | 'true' | 'grammar' | 'spelling'; /** Indicates keyboard shortcuts that an author has implemented to activate * or give focus to an element. */ 'aria-keyshortcuts'?: string; /** * Defines a string value that labels the current element. * @see aria-labelledby. */ 'aria-label'?: string; /** * Identifies the element (or elements) that labels the current element. * @see aria-describedby. */ 'aria-labelledby'?: string; /** Defines the hierarchical level of an element within a structure. */ 'aria-level'?: number; /** 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'?: 'off' | 'assertive' | 'polite'; /** Indicates whether an element is modal when displayed. */ 'aria-modal'?: boolean | 'false' | 'true'; /** Indicates whether a text box accepts multiple lines of input or only a single line. */ 'aria-multiline'?: boolean | 'false' | 'true'; /** Indicates that the user may select more than one item from the current selectable descendants. */ 'aria-multiselectable'?: boolean | 'false' | 'true'; /** Indicates whether the element's orientation is horizontal, vertical, or unknown/ambiguous. */ 'aria-orientation'?: 'horizontal' | 'vertical'; /** * 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'?: string; /** * 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'?: string; /** * 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'?: number; /** * Indicates the current "pressed" state of toggle buttons. * @see aria-checked @see aria-selected. */ 'aria-pressed'?: boolean | 'false' | 'mixed' | 'true'; /** * Indicates that the element is not editable, but is otherwise operable. * @see aria-disabled. */ 'aria-readonly'?: boolean | 'false' | 'true'; /** * Indicates what notifications the user agent will trigger when the * accessibility tree within a live region is modified. * @see aria-atomic. */ 'aria-relevant'?: 'additions' | 'additions removals' | 'additions text' | 'all' | 'removals' | 'removals additions' | 'removals text' | 'text' | 'text additions' | 'text removals'; /** Indicates that user input is required on the element before a form may be submitted. */ 'aria-required'?: boolean | 'false' | 'true'; /** Defines a human-readable, author-localized description for the role of an element. */ 'aria-roledescription'?: string; /** * Defines the total number of rows in a table, grid, or treegrid. * @see aria-rowindex. */ 'aria-rowcount'?: number; /** * 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'?: number; /** * 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'?: number; /** * Indicates the current "selected" state of various widgets. * @see aria-checked @see aria-pressed. */ 'aria-selected'?: boolean | 'false' | 'true'; /** * 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'?: number; /** Indicates if items in a table or grid are sorted in ascending or * descending order. */ 'aria-sort'?: 'none' | 'ascending' | 'descending' | 'other'; /** Defines the maximum allowed value for a range widget. */ 'aria-valuemax'?: number; /** Defines the minimum allowed value for a range widget. */ 'aria-valuemin'?: number; /** * Defines the current value for a range widget. * @see aria-valuetext. */ 'aria-valuenow'?: number; /** Defines the human readable text alternative of aria-valuenow for a * range widget. */ 'aria-valuetext'?: string; /** * Provides semantic meaning to content, allowing screen readers and other * tools to present and support interaction in a way that is consistent * with user expectations. */ role?: string; } export interface HTMLAttributes extends AriaAttributes, DOMAttributes, VueRenderAttributes { about?: string; accessKey?: string; autocapitalize?: string; autoCorrect?: string; autofocus?: boolean; contentEditable?: boolean | 'inherit' | 'plaintext-only'; contextMenu?: string; datatype?: string; dir?: string; draggable?: boolean; hidden?: boolean | '' | 'hidden' | 'until-found'; id?: string; inlist?: any; /** * Hints at the type of data that might be entered by the user while editing the element or its contents * @see https://html.spec.whatwg.org/multipage/interaction.html#input-modalities:-the-inputmode-attribute */ inputMode?: 'none' | 'text' | 'tel' | 'url' | 'email' | 'numeric' | 'decimal' | 'search'; /** * Specify that a standard HTML element should behave like a defined custom built-in element * @see https://html.spec.whatwg.org/multipage/custom-elements.html#attr-is */ is?: string; itemID?: string; itemProp?: string; itemRef?: string; itemScope?: boolean; itemType?: string; lang?: string; prefix?: string; property?: string; radioGroup?: string; resource?: string; results?: number; security?: string; slot?: string; spellCheck?: boolean; style?: VueAttributeStyle; tabIndex?: number; title?: string; translate?: '' | 'yes' | 'no'; typeof?: string; unselectable?: boolean; vocab?: string; } export interface AnchorHTMLAttributes extends HTMLAttributes { download?: any; href?: string; hrefLang?: string; media?: string; ping?: string; referrerPolicy?: HTMLAttributeReferrerPolicy; rel?: string; target?: string; type?: string; } export interface AreaHTMLAttributes extends HTMLAttributes { alt?: string; coords?: string; download?: any; href?: string; hrefLang?: string; media?: string; referrerPolicy?: HTMLAttributeReferrerPolicy; rel?: string; shape?: string; target?: string; } export interface AudioHTMLAttributes extends MediaHTMLAttributes { } 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; formEncType?: string; formMethod?: string; formNoValidate?: boolean; formTarget?: string; name?: string; type?: 'submit' | 'reset' | 'button'; value?: string | string[] | number; } export interface CanvasHTMLAttributes extends HTMLAttributes { height?: number | string; width?: number | string; } export interface ColHTMLAttributes extends HTMLAttributes { span?: number; width?: number | string; } export interface ColgroupHTMLAttributes extends HTMLAttributes { span?: number; } export interface DetailsHTMLAttributes extends HTMLAttributes { name?: string; open?: boolean; onToggle?: (payload: ToggleEvent) => void; } export interface DelHTMLAttributes extends HTMLAttributes { cite?: string; dateTime?: string; } export interface DialogHTMLAttributes extends HTMLAttributes { open?: boolean; onClose?: (payload: Event) => void; } 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; action?: string; autocomplete?: string; encType?: string; method?: string; name?: string; noValidate?: boolean; target?: string; } export interface HtmlHTMLAttributes extends HTMLAttributes { manifest?: string; } export interface IframeHTMLAttributes extends HTMLAttributes { allow?: string; allowFullScreen?: boolean; allowTransparency?: boolean; /** @deprecated use the CSS property border */ frameBorder?: number | string; height?: number | string; loading?: 'eager' | 'lazy'; /** @deprecated use the CSS property margin */ marginHeight?: number; /** @deprecated use the CSS property margin */ marginWidth?: number; name?: string; referrerPolicy?: HTMLAttributeReferrerPolicy; sandbox?: string; /** @deprecated use the CSS property overflow */ scrolling?: string; seamless?: boolean; src?: string; srcDoc?: string; width?: number | string; } export interface ImgHTMLAttributes extends HTMLAttributes { alt?: string; crossorigin?: 'anonymous' | 'use-credentials' | ''; decoding?: 'async' | 'auto' | 'sync'; height?: number | string; loading?: 'eager' | 'lazy'; referrerPolicy?: HTMLAttributeReferrerPolicy; sizes?: string; src?: string; srcSet?: string; useMap?: string; width?: number | string; } export interface InsHTMLAttributes extends HTMLAttributes { cite?: string; dateTime?: string; } export interface InputHTMLAttributes extends HTMLAttributes { accept?: string; alt?: string; autocomplete?: string; autofocus?: boolean; capture?: boolean | 'user' | 'environment'; checked?: boolean; crossOrigin?: CrossOrigin; disabled?: boolean; enterKeyHint?: 'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send'; form?: string; formAction?: string; formEncType?: string; formMethod?: string; formNoValidate?: boolean; formTarget?: string; height?: number | string; indeterminate?: boolean; list?: string; max?: number | string; maxLength?: number; min?: number | string; minLength?: number; multiple?: boolean; name?: string; pattern?: string; placeholder?: string; readOnly?: boolean; required?: boolean; size?: number; src?: string; step?: number | string; type?: InputTypeHTMLAttribute; value?: string | string[] | number; width?: number | string; } export interface KeygenHTMLAttributes extends HTMLAttributes { autofocus?: boolean; challenge?: string; disabled?: boolean; form?: string; keyType?: string; keyParams?: string; name?: string; } export interface LabelHTMLAttributes extends HTMLAttributes { 'for'?: string; form?: string; } export interface LiHTMLAttributes extends HTMLAttributes { value?: string | string[] | number; } export interface LinkHTMLAttributes extends HTMLAttributes { as?: string; charset?: string; crossOrigin?: CrossOrigin; href?: string; hrefLang?: string; integrity?: string; media?: string; referrerPolicy?: HTMLAttributeReferrerPolicy; 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; controls?: boolean; controlsList?: string; crossOrigin?: CrossOrigin; loop?: boolean; mediaGroup?: string; muted?: boolean; playsinline?: boolean; preload?: string; src?: string; } export interface MetaHTMLAttributes extends HTMLAttributes { charSet?: string; content?: 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; data?: string; form?: string; height?: number | string; name?: string; type?: string; useMap?: string; width?: number | string; wmode?: string; } export interface OlHTMLAttributes extends HTMLAttributes { reversed?: boolean; start?: number; type?: '1' | 'a' | 'A' | 'i' | 'I'; } 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 { 'for'?: string; form?: 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; /** @deprecated the script element inherits its character encoding from the document */ charSet?: string; crossOrigin?: CrossOrigin; defer?: boolean; integrity?: string; nomodule?: boolean; nonce?: string; referrerPolicy?: HTMLAttributeReferrerPolicy; src?: string; type?: string; } export interface SelectHTMLAttributes extends HTMLAttributes { autocomplete?: boolean; autofocus?: boolean; disabled?: boolean; form?: string; multiple?: boolean; name?: string; required?: boolean; size?: number; value?: string | string[] | 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; cellSpacing?: number | string; summary?: string; width?: number | string; } export interface TextareaHTMLAttributes extends HTMLAttributes { autocomplete?: string; autofocus?: boolean; cols?: number; dirName?: string; disabled?: boolean; form?: string; maxLength?: number; minLength?: number; name?: string; placeholder?: string; readOnly?: boolean; required?: boolean; rows?: number; value?: string | string[] | number; wrap?: string; } export interface TdHTMLAttributes extends HTMLAttributes { colSpan?: number; headers?: string; rowSpan?: number; /** @deprecated it should be used only for element */ scope?: string; } export interface ThHTMLAttributes extends HTMLAttributes { colSpan?: number; headers?: string; rowSpan?: number; scope?: string; } export interface TimeHTMLAttributes extends HTMLAttributes { dateTime?: string; } export interface TrackHTMLAttributes extends HTMLAttributes { default?: boolean; kind?: string; label?: string; src?: string; srcLang?: string; } export interface VideoHTMLAttributes extends MediaHTMLAttributes { disablePictureInPicture?: boolean; disableRemotePlayback?: boolean; height?: number | string; playsInline?: boolean; poster?: string; width?: number | string; } export interface HTMLElements { a: AnchorHTMLAttributes; abbr: HTMLAttributes; address: HTMLAttributes; area: AreaHTMLAttributes; article: HTMLAttributes; aside: HTMLAttributes; audio: AudioHTMLAttributes; b: HTMLAttributes; base: BaseHTMLAttributes; bdi: HTMLAttributes; bdo: HTMLAttributes; big: HTMLAttributes; blockquote: BlockquoteHTMLAttributes; body: HTMLAttributes; br: HTMLAttributes; button: ButtonHTMLAttributes; canvas: CanvasHTMLAttributes; caption: HTMLAttributes; cite: HTMLAttributes; code: HTMLAttributes; col: ColHTMLAttributes; colgroup: ColgroupHTMLAttributes; data: HTMLAttributes; datalist: HTMLAttributes; dd: HTMLAttributes; del: DelHTMLAttributes; details: DetailsHTMLAttributes; dfn: HTMLAttributes; dialog: DialogHTMLAttributes; div: HTMLAttributes; dl: HTMLAttributes; dt: HTMLAttributes; em: HTMLAttributes; embed: EmbedHTMLAttributes; fieldset: FieldsetHTMLAttributes; figcaption: HTMLAttributes; figure: HTMLAttributes; footer: HTMLAttributes; form: FormHTMLAttributes; h1: HTMLAttributes; h2: HTMLAttributes; h3: HTMLAttributes; h4: HTMLAttributes; h5: HTMLAttributes; h6: HTMLAttributes; head: HTMLAttributes; header: HTMLAttributes; hgroup: HTMLAttributes; hr: HTMLAttributes; html: HtmlHTMLAttributes; i: HTMLAttributes; iframe: IframeHTMLAttributes; img: ImgHTMLAttributes; input: InputHTMLAttributes; ins: InsHTMLAttributes; kbd: HTMLAttributes; keygen: KeygenHTMLAttributes; label: LabelHTMLAttributes; legend: HTMLAttributes; li: LiHTMLAttributes; link: LinkHTMLAttributes; main: HTMLAttributes; map: MapHTMLAttributes; mark: HTMLAttributes; menu: MenuHTMLAttributes; menuitem: HTMLAttributes; meta: MetaHTMLAttributes; meter: MeterHTMLAttributes; nav: HTMLAttributes; noindex: HTMLAttributes; noscript: HTMLAttributes; object: ObjectHTMLAttributes; ol: OlHTMLAttributes; optgroup: OptgroupHTMLAttributes; option: OptionHTMLAttributes; output: OutputHTMLAttributes; p: HTMLAttributes; param: ParamHTMLAttributes; picture: HTMLAttributes; pre: HTMLAttributes; progress: ProgressHTMLAttributes; q: QuoteHTMLAttributes; rp: HTMLAttributes; rt: HTMLAttributes; ruby: HTMLAttributes; s: HTMLAttributes; samp: HTMLAttributes; script: ScriptHTMLAttributes; section: HTMLAttributes; select: SelectHTMLAttributes; small: HTMLAttributes; source: SourceHTMLAttributes; span: HTMLAttributes; strong: HTMLAttributes; style: StyleHTMLAttributes; sub: HTMLAttributes; summary: HTMLAttributes; sup: HTMLAttributes; table: TableHTMLAttributes; tbody: HTMLAttributes; td: TdHTMLAttributes; textarea: TextareaHTMLAttributes; tfoot: HTMLAttributes; th: ThHTMLAttributes; thead: HTMLAttributes; time: TimeHTMLAttributes; title: HTMLAttributes; tr: HTMLAttributes; track: TrackHTMLAttributes; u: HTMLAttributes; ul: HTMLAttributes; 'var': HTMLAttributes; video: VideoHTMLAttributes; wbr: HTMLAttributes; } interface SVGAttributes extends AriaAttributes, DOMAttributes, VueRenderAttributes { className?: string; height?: number | string; id?: string; lang?: string; media?: string; method?: string; name?: string; style?: VueAttributeStyle; target?: string; type?: string; width?: number | string; tabIndex?: number; allowReorder?: 'no' | 'yes'; amplitude?: number | string; autoReverse?: boolean; azimuth?: number | string; baseFrequency?: number | string; colorInterpolation?: number | string; colorInterpolationFilters?: 'auto' | 'sRGB' | 'linearRGB' | 'inherit'; /** @deprecated */ colorProfile?: number | string; colorRendering?: number | string; decelerate?: number | string; diffuseConstant?: number | string; display?: string; elevation?: number | string; /** @deprecated */ enableBackground?: number | string; exponent?: number | string; externalResourcesRequired?: boolean; /** @deprecated */ filterRes?: number | string; floodColor?: number | string; floodOpacity?: number | string; focusable?: boolean | 'auto'; format?: number | string; /** @deprecated */ glyphOrientationHorizontal?: number | string; /** @deprecated */ glyphOrientationVertical?: number | string; glyphRef?: number | string; href?: string; in?: string; intercept?: number | string; /** @deprecated */ kernelUnitLength?: number | string; /** @deprecated */ kerning?: number | string; lightingColor?: number | string; limitingConeAngle?: number | string; local?: number | string; numOctaves?: number | string; opacity?: number | string; overflow?: number | string; pointerEvents?: PointerEvents; pointsAtX?: number | string; pointsAtY?: number | string; pointsAtZ?: number | string; renderingIntent?: number | string; requiredExtensions?: number | string; /** @deprecated */ requiredFeatures?: number | string; result?: string; seed?: number | string; specularConstant?: number | string; specularExponent?: number | string; speed?: number | string; stitchTiles?: number | string; surfaceScale?: number | string; systemLanguage?: number | string; tableValues?: number | string; transform?: string; visibility?: 'visible' | 'hidden' | 'collapse'; x?: number | string; xlinkActuate?: string; /** @deprecated */ xlinkArcrole?: string; /** @deprecated use href */ xlinkHref?: string; /** @deprecated */ xlinkRole?: string; /** @deprecated */ xlinkShow?: string; /** @deprecated use title */ xlinkTitle?: string; /** @deprecated */ xlinkType?: string; /** @deprecated */ xmlLang?: string; xmlnsXlink?: string; /** @deprecated */ xmlSpace?: string; y?: number | string; z?: number | string; } interface SVGProps extends SVGAttributes { } interface SVGAnimationTimingAttributes { begin?: number | string; dur?: number | string; end?: number | string; min?: string; max?: string; restart?: 'always' | 'whenNotActive' | 'never'; repeatCount?: number | string | 'indefinite'; repeatDur?: string | 'indefinite'; fill?: 'freeze' | 'remove'; } interface SVGAnimationValueAttributes { accumulate?: 'none' | 'sum'; additive?: 'replace' | 'sum'; attributeName?: string; by?: number | string; calcMode?: 'discrete' | 'linear' | 'paced' | 'spline'; from?: number | string; keySplines?: number | string; keyTimes?: number | string; to?: number | string; values?: string; /** @deprecated use attributeName */ attributeType?: string; } interface SVGPresentationAttributes { /** @deprecated */ clip?: number | string; clipPath?: string; clipRule?: 'nonzero' | 'evenodd' | 'inherit'; color?: string | 'inherit'; colorInterpolation?: number | string; colorRendering?: number | string; cursor?: Cursor; display?: string; fill?: string; fillOpacity?: number | string; fillRule?: 'nonzero' | 'evenodd' | 'inherit'; filter?: string; markerEnd?: string; markerMid?: string; markerStart?: string; mask?: string; opacity?: number | string; paintOrder?: 'normal' | 'fill stroke markers' | 'fill markers stroke' | 'stroke fill markers' | 'stroke markers fill' | 'markers fill stroke' | 'markers stroke fill'; pointerEvents?: PointerEvents; shapeRendering?: 'auto' | 'optimizeSpeed' | 'crispEdges' | 'geometricPrecision'; stroke?: string; strokeDasharray?: string | number; strokeDashoffset?: string | number; strokeLinecap?: 'butt' | 'round' | 'square' | 'inherit'; strokeLinejoin?: 'miter' | 'round' | 'bevel' | 'inherit'; strokeMiterlimit?: number | string; strokeOpacity?: number | string; strokeWidth?: number | string; transform?: string; vectorEffect?: 'none' | 'non-scaling-stroke' | 'non-scaling-size' | 'non-rotation' | 'fixed-position'; visibility?: 'visible' | 'hidden' | 'collapse'; } interface SVGTextAttributes { dominantBaseLine?: DominantBaseline; fontFamily?: string; fontSize?: number | string; fontSizeAdjust?: number | string; fontStretch?: number | string; fontStyle?: 'normal' | 'italic' | 'oblique'; fontVariant?: number | string; fontWeight?: 'normal' | 'bold' | 'bolder' | 'lighter' | number; lengthAdjust?: number | string; letterSpacing?: number | string | 'normal'; textAnchor?: 'start' | 'middle' | 'end'; textDecoration?: string; textLength?: number | string; unicodeBidi?: number | string; wordSpacing?: 'normal' | number | string; writingMode?: 'horizontal-tb' | 'vertical-rl' | 'vertical-lr'; } interface SVGSvgElementAttributes extends SVGProps { /** @deprecated */ baseProfile?: number | string; /** @deprecated */ contentScriptType?: number | string; /** @deprecated */ contentStyleType?: number | string; height?: number | string; preserveAspectRatio?: PreserveAspectRatio; /** @deprecated It is purely advisory and has no influence on rendering or processing. */ version?: string; viewBox?: string; width?: number | string; x?: number | string; y?: number | string; xmlns?: 'http://www.w3.org/2000/svg' | string; /** @deprecated */ zoomAndPan?: string; } interface SVGAnimateElementAttributes extends SVGAnimationValueAttributes, SVGAnimationTimingAttributes, SVGProps { } interface SVGAnimateMotionElementAttributes extends SVGAnimationValueAttributes, SVGAnimationTimingAttributes, SVGProps { keyPoints?: number | string; origin?: number | string; /** @experimental */ path?: string; /** @experimental */ rotate?: 'auto' | 'auto-reverse' | number; } interface SVGAnimateTransformElementAttributes extends SVGAnimationValueAttributes, SVGAnimationTimingAttributes, SVGProps { type?: 'translate' | 'scale' | 'rotate' | 'skewX' | 'skewY'; } interface SVGCircleElementAttributes extends SVGPresentationAttributes, SVGProps { cx?: number | string; cy?: number | string; pathLength?: number | string; r?: number | string; } interface SVGClipPathElementAttributes extends SVGPresentationAttributes, SVGProps { clipPathUnits?: 'userSpaceOnUse' | 'objectBoundingBox'; } interface SVGDefsElementAttributes extends SVGPresentationAttributes, SVGProps { } interface SVGEllipseElementAttributes extends SVGPresentationAttributes, SVGProps { cx?: number | string; cy?: number | string; pathLength?: number | string; rx?: number | string; ry?: number | string; } interface SVGFeBlendElementAttributes extends SVGProps { in?: string; in2?: number | string; mode?: number | string; } interface SVGFeColorMatrixElementAttributes extends SVGProps { in?: string; type?: 'matrix' | 'saturate' | 'hueRotate' | 'luminanceToAlpha'; values?: string; } interface SVGFeCompositeElementAttributes extends SVGProps { in?: string; in2?: number | string; k1?: number | string; k2?: number | string; k3?: number | string; k4?: number | string; operator?: 'over' | 'in' | 'out' | 'atop' | 'xor' | 'lighter' | 'arithmetic'; } interface SVGFeConvolveMatrixElementAttributes extends SVGProps { bias?: number | string; divisor?: number | string; edgeMode?: number | string; in?: string; kernelMatrix?: number | string; order?: number; preserveAlpha?: boolean; targetX?: number | string; targetY?: number | string; } interface SVGFeDisplacementMapElementAttributes extends SVGProps { in?: string; in2?: number | string; scale?: number | string; xChannelSelector?: string; yChannelSelector?: string; } interface SVGFeDropShadowElementAttributes extends SVGProps { dx?: number | string; dy?: number | string; stdDeviation?: number | string; } interface SVGFeGaussianBlurElementAttributes extends SVGProps { edgeMode?: number | string; in?: string; stdDeviation?: number | string; } interface SVGFeImageElementAttributes extends SVGProps { crossOrigin?: CrossOrigin; preserveAspectRatio?: PreserveAspectRatio; } interface SVGFeMorphologyElementAttributes extends SVGProps { in?: string; operator?: 'over' | 'in' | 'out' | 'atop' | 'xor' | 'lighter' | 'arithmetic'; radius?: number | string; } interface SVGFeOffsetElementAttributes extends SVGProps { in?: string; dx?: number | string; dy?: number | string; } interface SVGFilterElementAttributes extends SVGPresentationAttributes, SVGProps { height?: number | string; filterUnits?: 'userSpaceOnUse' | 'objectBoundingBox'; primitiveUnits?: 'userSpaceOnUse' | 'objectBoundingBox'; width?: number | string; x?: number | string; y?: number | string; } interface SVGForeignObjectElementAttributes extends SVGPresentationAttributes, SVGProps { height?: number | string; width?: number | string; x?: number | string; y?: number | string; } interface SVGGElementAttributes extends SVGPresentationAttributes, SVGProps { } interface SVGImageElementAttributes extends SVGPresentationAttributes, SVGProps { crossOrigin?: CrossOrigin; decoding?: 'auto' | 'async' | 'sync'; height?: number | string; href?: string; imageRendering?: 'auto' | 'optimizeSpeed' | 'optimizeQuality'; preserveAspectRatio?: PreserveAspectRatio; width?: number | string; x?: number | string; y?: number | string; } interface SVGLineElementAttributes extends SVGPresentationAttributes, SVGProps { pathLength?: number | string; x1?: number | string; x2?: number | string; y1?: number | string; y2?: number | string; } interface SVGLinearGradientElementAttributes extends SVGProps { gradientTransform?: string; gradientUnits?: string; href?: string; spreadMethod?: string; x1?: number | string; x2?: number | string; y1?: number | string; y2?: number | string; } interface SVGMarkerElementAttributes extends SVGPresentationAttributes, SVGProps { markerHeight?: number | string; markerUnits?: 'userSpaceOnUse' | 'strokeWidth'; markerWidth?: number | string; orient?: 'auto' | 'auto-start-reverse' | number | string; preserveAspectRatio?: PreserveAspectRatio; refX?: number | string | 'left' | 'center' | 'right'; refY?: number | string | 'top' | 'center' | 'bottom'; viewBox?: string; } interface SVGMaskElementAttributes extends SVGPresentationAttributes, SVGProps { height?: number | string; maskContentUnits?: 'userSpaceOnUse' | 'objectBoundingBox'; maskUnits?: 'userSpaceOnUse' | 'objectBoundingBox'; width?: number | string; x?: number | string; y?: number | string; } interface SVGPathElementAttributes extends SVGPresentationAttributes, SVGProps { d?: string; pathLength?: number | string; } interface SVGPatternElementAttributes extends SVGPresentationAttributes, SVGProps { height?: number | string; href?: string; patternContentUnits?: 'userSpaceOnUse' | 'objectBoundingBox'; patternTransform?: string; patternUnits?: 'userSpaceOnUse' | 'objectBoundingBox'; preserveAspectRatio?: PreserveAspectRatio; viewBox?: string; width?: number | string; x?: number | string; /** @deprecated use href */ xlinkHref?: string; y?: number | string; } interface SVGPolygonElementAttributes extends SVGPresentationAttributes, SVGProps { pathLength?: number | string; points?: string; } interface SVGPolylineElementAttributes extends SVGPresentationAttributes, SVGProps { pathLength?: number | string; points?: string; } interface SVGRadialGradientElementAttributes extends SVGProps { cx?: number | string; cy?: number | string; fr?: number | string; fx?: number | string; fy?: number | string; gradientTransform?: string; gradientUnits?: string; href?: string; r?: number | string; spreadMethod?: string; } interface SVGRectElementAttributes extends SVGPresentationAttributes, SVGProps { height?: number | string; pathLength?: number | string; rx?: number | string; ry?: number | string; width?: number | string; x?: number | string; y?: number | string; } interface SVGSetElementAttributes extends SVGAnimationTimingAttributes, SVGProps { keyPoints?: number | string; to?: number | string; } interface SVGStopElementAttributes extends SVGProps { offset?: number | string; stopColor?: string; stopOpacity?: number | string; } interface SVGSymbolElementAttributes extends SVGPresentationAttributes, SVGProps { height?: number | string; preserveAspectRatio?: PreserveAspectRatio; refX?: number | string | 'left' | 'center' | 'right'; refY?: number | string | 'top' | 'center' | 'bottom'; viewBox?: string; width?: number | string; x?: number | string; y?: number | string; } interface SVGTextElementAttributes extends SVGPresentationAttributes, SVGTextAttributes, SVGProps { direction?: 'ltr' | 'rtl'; dx?: number | string; dy?: number | string; rotate?: number | string; textRendering?: 'auto' | 'optimizeSpeed' | 'optimizeLegibility' | 'geometricPrecision'; x?: number | string; y?: number | string; } interface SVGTextPathElementAttributes extends SVGPresentationAttributes, SVGTextAttributes, SVGProps { alignmentBaseline?: AlignBaseLine; baselineShift?: number | string | 'sub' | 'super'; direction?: 'ltr' | 'rtl'; href?: string; /** @experimental */ method?: 'align' | 'stretch'; /** @experimental */ path?: string; /** @experimental */ side?: 'left' | 'right'; spacing?: number | string; startOffset?: number | string; } interface SVGTSpanElementAttributes extends SVGPresentationAttributes, SVGTextAttributes, SVGProps { alignmentBaseline?: AlignBaseLine; baselineShift?: number | string | 'sub' | 'super'; direction?: 'ltr' | 'rtl'; dx?: number | string; dy?: number | string; rotate?: number | string; x?: number | string; y?: number | string; } interface SVGUseElementAttributes extends SVGPresentationAttributes, SVGProps { height?: number | string; href?: string; width?: number | string; x?: number | string; y?: number | string; } interface SVGViewElementAttributes extends SVGPresentationAttributes, SVGProps { preserveAspectRatio?: PreserveAspectRatio; viewBox?: string; /** @deprecated */ viewTarget?: number | string; /** @deprecated */ zoomAndPan?: string; } export interface SVGElements { svg: SVGSvgElementAttributes; animate: SVGAnimateElementAttributes; animateMotion: SVGAnimateMotionElementAttributes; animateTransform: SVGAnimateTransformElementAttributes; circle: SVGCircleElementAttributes; clipPath: SVGClipPathElementAttributes; defs: SVGDefsElementAttributes; desc: SVGProps; ellipse: SVGEllipseElementAttributes; feBlend: SVGFeBlendElementAttributes; feColorMatrix: SVGFeColorMatrixElementAttributes; feComponentTransfer: SVGProps; feComposite: SVGFeCompositeElementAttributes; feConvolveMatrix: SVGFeConvolveMatrixElementAttributes; feDiffuseLighting: SVGProps; feDisplacementMap: SVGFeDisplacementMapElementAttributes; feDistantLight: SVGProps; feDropShadow: SVGFeDropShadowElementAttributes; feFlood: SVGProps; feFuncA: SVGProps; feFuncB: SVGProps; feFuncG: SVGProps; feFuncR: SVGProps; feGaussianBlur: SVGFeGaussianBlurElementAttributes; feImage: SVGFeImageElementAttributes; feMerge: SVGProps; feMergeNode: SVGProps; feMorphology: SVGFeMorphologyElementAttributes; feOffset: SVGFeOffsetElementAttributes; fePointLight: SVGProps; feSpecularLighting: SVGProps; feSpotLight: SVGProps; feTile: SVGProps; feTurbulence: SVGProps; filter: SVGFilterElementAttributes; foreignObject: SVGForeignObjectElementAttributes; g: SVGGElementAttributes; image: SVGImageElementAttributes; line: SVGLineElementAttributes; linearGradient: SVGLinearGradientElementAttributes; marker: SVGMarkerElementAttributes; mask: SVGMaskElementAttributes; metadata: SVGProps; mpath: SVGProps; path: SVGPathElementAttributes; pattern: SVGPatternElementAttributes; polygon: SVGPolygonElementAttributes; polyline: SVGPolylineElementAttributes; radialGradient: SVGRadialGradientElementAttributes; rect: SVGRectElementAttributes; set: SVGSetElementAttributes; stop: SVGStopElementAttributes; switch: SVGProps; symbol: SVGSymbolElementAttributes; text: SVGTextElementAttributes; textPath: SVGTextPathElementAttributes; tspan: SVGTSpanElementAttributes; use: SVGUseElementAttributes; view: SVGViewElementAttributes; } export interface IntrinsicElements extends HTMLElements, SVGElements { } export {};