import * as Vue from "vue";
import * as vue14 from "vue";
import { GenericComponentInstance, VaporFragment, shallowRef as useRef } from "vue";
import * as CSS from "csstype";

//#region src/core/runtime.d.ts
declare function getCurrentInstance(): GenericComponentInstance | null;
/**
 * Returns the props of the current component instance.
 *
 * @example
 * ```tsx
 * import { useProps } from 'vue-jsx-vapor'
 *
 * defineComponent(({ foo = '' })=>{
 *   const props = useProps() // { foo: '' }
 * })
 * ```
 */
declare function useProps(): {
  [x: string]: unknown;
};
/**
 * Returns the merged props and attrs of the current component.\
 * Equivalent to `useProps()` + `useAttrs()`.
 *
 * @example
 * ```tsx
 * import { useFullProps } from 'vue-jsx-vapor'
 *
 * defineComponent((props) => {
 *   const fullProps = useFullProps() // = useAttrs() + useProps()
 * })
 */
declare function useFullProps(): Vue.ShallowUnwrapRef<{
  [x: string]: Vue.Ref<unknown, unknown>;
}>;
declare function setNodes(anchor: Node, ...values: any[]): void;
declare function createNodes(...values: any[]): VaporFragment;
//#endregion
//#region src/jsx-runtime/dom.d.ts
interface CSSProperties extends CSS.Properties<string | number>, CSS.PropertiesHyphen<string | number> {
  /**
   * The index signature was removed to enable closed typing for style
   * using CSSType. You're able to use type assertion or module augmentation
   * to add properties or an index signature of your own.
   *
   * For examples and more information, visit:
   * https://github.com/frenic/csstype#what-should-i-do-when-i-get-type-errors
   */
  [v: `--${string}`]: string | number | undefined;
}
type Booleanish = boolean | 'true' | 'false';
type Numberish = number | string;
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'?: Booleanish;
  /**
   * 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'?: Booleanish;
  /**
   * Indicates the current "checked" state of checkboxes, radio buttons, and other widgets.
   * @see aria-pressed @see aria-selected.
   */
  'aria-checked'?: Booleanish | 'mixed';
  /**
   * Defines the total number of columns in a table, grid, or treegrid.
   * @see aria-colindex.
   */
  'aria-colcount'?: Numberish;
  /**
   * 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'?: Numberish;
  /**
   * 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'?: Numberish;
  /**
   * 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'?: Booleanish | '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'?: Booleanish;
  /**
   * 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'?: Booleanish;
  /**
   * 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'?: Booleanish;
  /** Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by an element. */
  'aria-haspopup'?: Booleanish | 'menu' | 'listbox' | 'tree' | 'grid' | 'dialog';
  /**
   * Indicates whether the element is exposed to an accessibility API.
   * @see aria-disabled.
   */
  'aria-hidden'?: Booleanish;
  /**
   * Indicates the entered value does not conform to the format expected by the application.
   * @see aria-errormessage.
   */
  'aria-invalid'?: Booleanish | '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'?: Numberish;
  /** 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'?: Booleanish;
  /** Indicates whether a text box accepts multiple lines of input or only a single line. */
  'aria-multiline'?: Booleanish;
  /** Indicates that the user may select more than one item from the current selectable descendants. */
  'aria-multiselectable'?: Booleanish;
  /** 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'?: Numberish;
  /**
   * Indicates the current "pressed" state of toggle buttons.
   * @see aria-checked @see aria-selected.
   */
  'aria-pressed'?: Booleanish | 'mixed';
  /**
   * Indicates that the element is not editable, but is otherwise operable.
   * @see aria-disabled.
   */
  'aria-readonly'?: Booleanish;
  /**
   * 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'?: Booleanish;
  /** 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'?: Numberish;
  /**
   * 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'?: Numberish;
  /**
   * 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'?: Numberish;
  /**
   * Indicates the current "selected" state of various widgets.
   * @see aria-checked @see aria-pressed.
   */
  'aria-selected'?: Booleanish;
  /**
   * 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'?: Numberish;
  /** 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'?: Numberish;
  /** Defines the minimum allowed value for a range widget. */
  'aria-valuemin'?: Numberish;
  /**
   * Defines the current value for a range widget.
   * @see aria-valuetext.
   */
  'aria-valuenow'?: Numberish;
  /** Defines the human readable text alternative of aria-valuenow for a range widget. */
  'aria-valuetext'?: string;
}
/**
 * @see {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/crossorigin MDN}
 */
type CrossOrigin = 'anonymous' | 'use-credentials' | '';
type StyleValue = false | null | undefined | string | CSSProperties | Array<StyleValue>;
interface HTMLAttributes<T = HTMLElement> extends AriaAttributes, EventHandlers<Events<T>> {
  innerHTML?: string;
  class?: any;
  style?: StyleValue;
  accesskey?: string;
  autocapitalize?: 'off' | 'none' | 'on' | 'sentences' | 'words' | 'characters' | undefined | (string & {});
  autofocus?: Booleanish;
  contenteditable?: Booleanish | 'inherit' | 'plaintext-only';
  contextmenu?: string;
  dir?: string;
  draggable?: Booleanish;
  enterKeyHint?: 'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send';
  hidden?: Booleanish | '' | 'hidden' | 'until-found';
  id?: string;
  inert?: Booleanish;
  lang?: string;
  nonce?: string;
  placeholder?: string;
  spellcheck?: Booleanish;
  tabindex?: Numberish;
  title?: string;
  translate?: 'yes' | 'no';
  radiogroup?: string;
  role?: string;
  about?: string;
  content?: string;
  datatype?: string;
  inlist?: any;
  prefix?: string;
  property?: string;
  rel?: string;
  resource?: string;
  rev?: string;
  typeof?: string;
  vocab?: string;
  autocorrect?: string;
  autosave?: string;
  color?: string;
  itemprop?: string;
  itemscope?: Booleanish;
  itemtype?: string;
  itemid?: string;
  itemref?: string;
  results?: Numberish;
  security?: string;
  unselectable?: 'on' | 'off';
  /**
   * 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;
}
type HTMLAttributeReferrerPolicy = '' | 'no-referrer' | 'no-referrer-when-downgrade' | 'origin' | 'origin-when-cross-origin' | 'same-origin' | 'strict-origin' | 'strict-origin-when-cross-origin' | 'unsafe-url';
interface AnchorHTMLAttributes<T> extends HTMLAttributes<T> {
  download?: any;
  href?: string;
  hreflang?: string;
  media?: string;
  ping?: string;
  rel?: string;
  target?: string;
  type?: string;
  referrerpolicy?: HTMLAttributeReferrerPolicy;
}
interface AreaHTMLAttributes<T> extends HTMLAttributes<T> {
  alt?: string;
  coords?: string;
  download?: any;
  href?: string;
  hreflang?: string;
  media?: string;
  referrerpolicy?: HTMLAttributeReferrerPolicy;
  shape?: string;
  target?: string;
}
interface AudioHTMLAttributes<T> extends MediaHTMLAttributes<T> {}
interface BaseHTMLAttributes<T> extends HTMLAttributes<T> {
  href?: string;
  target?: string;
}
interface BlockquoteHTMLAttributes<T> extends HTMLAttributes<T> {
  cite?: string;
}
interface ButtonHTMLAttributes<T> extends HTMLAttributes<T> {
  disabled?: Booleanish;
  form?: string;
  formaction?: string;
  formenctype?: string;
  formmethod?: string;
  formnovalidate?: Booleanish;
  formtarget?: string;
  name?: string;
  type?: 'submit' | 'reset' | 'button';
  value?: string | ReadonlyArray<string> | number;
}
interface CanvasHTMLAttributes<T> extends HTMLAttributes<T> {
  height?: Numberish;
  width?: Numberish;
}
interface ColHTMLAttributes<T> extends HTMLAttributes<T> {
  span?: Numberish;
  width?: Numberish;
}
interface ColgroupHTMLAttributes<T> extends HTMLAttributes<T> {
  span?: Numberish;
}
interface DataHTMLAttributes<T> extends HTMLAttributes<T> {
  value?: string | ReadonlyArray<string> | number;
}
interface DetailsHTMLAttributes<T> extends HTMLAttributes<T> {
  name?: string;
  open?: Booleanish;
  onToggle?: (payload: ToggleEvent) => void;
}
interface DelHTMLAttributes<T> extends HTMLAttributes<T> {
  cite?: string;
  datetime?: string;
}
interface DialogHTMLAttributes<T> extends HTMLAttributes<T> {
  open?: Booleanish;
  onClose?: (payload: Event) => void;
}
interface EmbedHTMLAttributes<T> extends HTMLAttributes<T> {
  height?: Numberish;
  src?: string;
  type?: string;
  width?: Numberish;
}
interface FieldsetHTMLAttributes<T> extends HTMLAttributes<T> {
  disabled?: Booleanish;
  form?: string;
  name?: string;
}
interface FormHTMLAttributes<T> extends HTMLAttributes<T> {
  acceptcharset?: string;
  action?: string;
  autocomplete?: string;
  enctype?: string;
  method?: string;
  name?: string;
  novalidate?: Booleanish;
  target?: string;
}
interface HtmlHTMLAttributes<T> extends HTMLAttributes<T> {
  manifest?: string;
}
interface IframeHTMLAttributes<T> extends HTMLAttributes<T> {
  allow?: string;
  allowfullscreen?: Booleanish;
  allowtransparency?: Booleanish;
  /** @deprecated */
  frameborder?: Numberish;
  height?: Numberish;
  loading?: 'eager' | 'lazy';
  /** @deprecated */
  marginheight?: Numberish;
  /** @deprecated */
  marginwidth?: Numberish;
  name?: string;
  referrerpolicy?: HTMLAttributeReferrerPolicy;
  sandbox?: string;
  /** @deprecated */
  scrolling?: string;
  seamless?: Booleanish;
  src?: string;
  srcdoc?: string;
  width?: Numberish;
}
interface ImgHTMLAttributes<T> extends HTMLAttributes<T> {
  alt?: string;
  crossorigin?: CrossOrigin;
  decoding?: 'async' | 'auto' | 'sync';
  height?: Numberish;
  loading?: 'eager' | 'lazy';
  referrerpolicy?: HTMLAttributeReferrerPolicy;
  sizes?: string;
  src?: string;
  srcset?: string;
  usemap?: string;
  width?: Numberish;
}
interface InsHTMLAttributes<T> extends HTMLAttributes<T> {
  cite?: string;
  datetime?: string;
}
type InputTypeHTMLAttribute = 'button' | 'checkbox' | 'color' | 'date' | 'datetime-local' | 'email' | 'file' | 'hidden' | 'image' | 'month' | 'number' | 'password' | 'radio' | 'range' | 'reset' | 'search' | 'submit' | 'tel' | 'text' | 'time' | 'url' | 'week' | (string & {});
type AutoFillAddressKind = 'billing' | 'shipping';
type AutoFillBase = '' | 'off' | 'on';
type AutoFillContactField = 'email' | 'tel' | 'tel-area-code' | 'tel-country-code' | 'tel-extension' | 'tel-local' | 'tel-local-prefix' | 'tel-local-suffix' | 'tel-national';
type AutoFillContactKind = 'home' | 'mobile' | 'work';
type AutoFillCredentialField = 'webauthn';
type AutoFillNormalField = 'additional-name' | 'address-level1' | 'address-level2' | 'address-level3' | 'address-level4' | 'address-line1' | 'address-line2' | 'address-line3' | 'bday-day' | 'bday-month' | 'bday-year' | 'cc-csc' | 'cc-exp' | 'cc-exp-month' | 'cc-exp-year' | 'cc-family-name' | 'cc-given-name' | 'cc-name' | 'cc-number' | 'cc-type' | 'country' | 'country-name' | 'current-password' | 'family-name' | 'given-name' | 'honorific-prefix' | 'honorific-suffix' | 'name' | 'new-password' | 'one-time-code' | 'organization' | 'postal-code' | 'street-address' | 'transaction-amount' | 'transaction-currency' | 'username';
type OptionalPrefixToken<T extends string> = `${T} ` | '';
type OptionalPostfixToken<T extends string> = ` ${T}` | '';
type AutoFillField = AutoFillNormalField | `${OptionalPrefixToken<AutoFillContactKind>}${AutoFillContactField}`;
type AutoFillSection = `section-${string}`;
type AutoFill = AutoFillBase | `${OptionalPrefixToken<AutoFillSection>}${OptionalPrefixToken<AutoFillAddressKind>}${AutoFillField}${OptionalPostfixToken<AutoFillCredentialField>}`;
type HTMLInputAutoCompleteAttribute = AutoFill | (string & {});
interface InputHTMLAttributes<T> extends HTMLAttributes<T> {
  accept?: string;
  alt?: string;
  autocomplete?: HTMLInputAutoCompleteAttribute;
  capture?: boolean | 'user' | 'environment';
  checked?: Booleanish | any[] | Set<any>;
  disabled?: Booleanish;
  form?: string;
  formaction?: string;
  formenctype?: string;
  formmethod?: string;
  formnovalidate?: Booleanish;
  formtarget?: string;
  height?: Numberish;
  indeterminate?: boolean;
  list?: string;
  max?: Numberish;
  maxlength?: Numberish;
  min?: Numberish;
  minlength?: Numberish;
  multiple?: Booleanish;
  name?: string;
  pattern?: string;
  placeholder?: string;
  readonly?: Booleanish;
  required?: Booleanish;
  size?: Numberish;
  src?: string;
  step?: Numberish;
  type?: InputTypeHTMLAttribute;
  value?: any;
  width?: Numberish;
}
interface KeygenHTMLAttributes<T> extends HTMLAttributes<T> {
  challenge?: string;
  disabled?: Booleanish;
  form?: string;
  keytype?: string;
  keyparams?: string;
  name?: string;
}
interface LabelHTMLAttributes<T> extends HTMLAttributes<T> {
  for?: string;
  form?: string;
}
interface LiHTMLAttributes<T> extends HTMLAttributes<T> {
  value?: string | ReadonlyArray<string> | number;
}
interface LinkHTMLAttributes<T> extends HTMLAttributes<T> {
  as?: string;
  crossorigin?: CrossOrigin;
  fetchPriority?: 'high' | 'low' | 'auto';
  href?: string;
  hreflang?: string;
  integrity?: string;
  media?: string;
  imageSrcSet?: string;
  imageSizes?: string;
  referrerpolicy?: HTMLAttributeReferrerPolicy;
  sizes?: string;
  type?: string;
  charset?: string;
}
interface MapHTMLAttributes<T> extends HTMLAttributes<T> {
  name?: string;
}
interface MenuHTMLAttributes<T> extends HTMLAttributes<T> {
  type?: string;
}
interface MediaHTMLAttributes<T> extends HTMLAttributes<T> {
  autoplay?: Booleanish;
  controls?: Booleanish;
  controlslist?: string;
  crossorigin?: CrossOrigin;
  loop?: Booleanish;
  mediagroup?: string;
  muted?: Booleanish;
  playsinline?: Booleanish;
  preload?: string;
  src?: string;
}
interface MetaHTMLAttributes<T> extends HTMLAttributes<T> {
  charset?: string;
  content?: string;
  httpequiv?: string;
  media?: string | undefined;
  name?: string;
}
interface MeterHTMLAttributes<T> extends HTMLAttributes<T> {
  form?: string;
  high?: Numberish;
  low?: Numberish;
  max?: Numberish;
  min?: Numberish;
  optimum?: Numberish;
  value?: string | ReadonlyArray<string> | number;
}
interface QuoteHTMLAttributes<T> extends HTMLAttributes<T> {
  cite?: string;
}
interface ObjectHTMLAttributes<T> extends HTMLAttributes<T> {
  classid?: string;
  data?: string;
  form?: string;
  height?: Numberish;
  name?: string;
  type?: string;
  usemap?: string;
  width?: Numberish;
  wmode?: string;
}
interface OlHTMLAttributes<T> extends HTMLAttributes<T> {
  reversed?: Booleanish;
  start?: Numberish;
  type?: '1' | 'a' | 'A' | 'i' | 'I';
}
interface OptgroupHTMLAttributes<T> extends HTMLAttributes<T> {
  disabled?: Booleanish;
  label?: string;
}
interface OptionHTMLAttributes<T> extends HTMLAttributes<T> {
  disabled?: Booleanish;
  label?: string;
  selected?: Booleanish;
  value?: any;
}
interface OutputHTMLAttributes<T> extends HTMLAttributes<T> {
  for?: string;
  form?: string;
  name?: string;
}
interface ParamHTMLAttributes<T> extends HTMLAttributes<T> {
  name?: string;
  value?: string | ReadonlyArray<string> | number;
}
interface ProgressHTMLAttributes<T> extends HTMLAttributes<T> {
  max?: Numberish;
  value?: string | ReadonlyArray<string> | number;
}
interface ScriptHTMLAttributes<T> extends HTMLAttributes<T> {
  async?: Booleanish;
  /** @deprecated */
  charset?: string;
  crossorigin?: CrossOrigin;
  defer?: Booleanish;
  integrity?: string;
  nomodule?: Booleanish;
  referrerpolicy?: HTMLAttributeReferrerPolicy;
  src?: string;
  type?: string;
}
interface SelectHTMLAttributes<T> extends HTMLAttributes<T> {
  autocomplete?: string;
  disabled?: Booleanish;
  form?: string;
  multiple?: Booleanish;
  name?: string;
  required?: Booleanish;
  size?: Numberish;
  value?: any;
}
interface SourceHTMLAttributes<T> extends HTMLAttributes<T> {
  height?: number;
  media?: string;
  sizes?: string;
  src?: string;
  srcset?: string;
  type?: string;
  width?: number;
}
interface StyleHTMLAttributes<T> extends HTMLAttributes<T> {
  media?: string;
  scoped?: Booleanish;
  type?: string;
}
interface TableHTMLAttributes<T> extends HTMLAttributes<T> {
  align?: 'left' | 'center' | 'right';
  bgcolor?: string;
  border?: number;
  cellpadding?: Numberish;
  cellspacing?: Numberish;
  frame?: Booleanish;
  rules?: 'none' | 'groups' | 'rows' | 'columns' | 'all';
  summary?: string;
  width?: Numberish;
}
interface TextareaHTMLAttributes<T> extends HTMLAttributes<T> {
  autocomplete?: string;
  cols?: Numberish;
  dirname?: string;
  disabled?: Booleanish;
  form?: string;
  maxlength?: Numberish;
  minlength?: Numberish;
  name?: string;
  placeholder?: string;
  readonly?: Booleanish;
  required?: Booleanish;
  rows?: Numberish;
  value?: string | ReadonlyArray<string> | number | null;
  wrap?: string;
}
interface TdHTMLAttributes<T> extends HTMLAttributes<T> {
  align?: 'left' | 'center' | 'right' | 'justify' | 'char';
  colspan?: Numberish;
  headers?: string;
  rowspan?: Numberish;
  scope?: string;
  abbr?: string;
  height?: Numberish;
  width?: Numberish;
  valign?: 'top' | 'middle' | 'bottom' | 'baseline';
}
interface ThHTMLAttributes<T> extends HTMLAttributes<T> {
  align?: 'left' | 'center' | 'right' | 'justify' | 'char';
  colspan?: Numberish;
  headers?: string;
  rowspan?: Numberish;
  scope?: string;
  abbr?: string;
}
interface TimeHTMLAttributes<T> extends HTMLAttributes<T> {
  datetime?: string;
}
interface TrackHTMLAttributes<T> extends HTMLAttributes<T> {
  default?: Booleanish;
  kind?: string;
  label?: string;
  src?: string;
  srclang?: string;
}
interface VideoHTMLAttributes<T> extends MediaHTMLAttributes<T> {
  height?: Numberish;
  playsinline?: Booleanish;
  poster?: string;
  width?: Numberish;
  disablePictureInPicture?: Booleanish;
  disableRemotePlayback?: Booleanish;
}
interface WebViewHTMLAttributes<T> extends HTMLAttributes<T> {
  allowfullscreen?: Booleanish;
  allowpopups?: Booleanish;
  autosize?: Booleanish;
  blinkfeatures?: string;
  disableblinkfeatures?: string;
  disableguestresize?: Booleanish;
  disablewebsecurity?: Booleanish;
  guestinstance?: string;
  httpreferrer?: string;
  nodeintegration?: Booleanish;
  partition?: string;
  plugins?: Booleanish;
  preload?: string;
  src?: string;
  useragent?: string;
  webpreferences?: string;
}
interface SVGAttributes extends AriaAttributes, EventHandlers<Events> {
  innerHTML?: string;
  /**
   * SVG Styling Attributes
   * @see https://www.w3.org/TR/SVG/styling.html#ElementSpecificStyling
   */
  class?: any;
  style?: StyleValue;
  color?: string;
  height?: Numberish;
  id?: string;
  lang?: string;
  max?: Numberish;
  media?: string;
  method?: string;
  min?: Numberish;
  name?: string;
  target?: string;
  type?: string;
  width?: Numberish;
  role?: string;
  tabindex?: Numberish;
  crossOrigin?: CrossOrigin;
  'accent-height'?: Numberish;
  accumulate?: 'none' | 'sum';
  additive?: 'replace' | 'sum';
  'alignment-baseline'?: 'auto' | 'baseline' | 'before-edge' | 'text-before-edge' | 'middle' | 'central' | 'after-edge' | 'text-after-edge' | 'ideographic' | 'alphabetic' | 'hanging' | 'mathematical' | 'inherit';
  allowReorder?: 'no' | 'yes';
  alphabetic?: Numberish;
  amplitude?: Numberish;
  'arabic-form'?: 'initial' | 'medial' | 'terminal' | 'isolated';
  ascent?: Numberish;
  attributeName?: string;
  attributeType?: string;
  autoReverse?: Numberish;
  azimuth?: Numberish;
  baseFrequency?: Numberish;
  'baseline-shift'?: Numberish;
  baseProfile?: Numberish;
  bbox?: Numberish;
  begin?: Numberish;
  bias?: Numberish;
  by?: Numberish;
  calcMode?: Numberish;
  'cap-height'?: Numberish;
  clip?: Numberish;
  'clip-path'?: string;
  clipPathUnits?: Numberish;
  'clip-rule'?: Numberish;
  'color-interpolation'?: Numberish;
  'color-interpolation-filters'?: 'auto' | 'sRGB' | 'linearRGB' | 'inherit';
  'color-profile'?: Numberish;
  'color-rendering'?: Numberish;
  contentScriptType?: Numberish;
  contentStyleType?: Numberish;
  cursor?: Numberish;
  cx?: Numberish;
  cy?: Numberish;
  d?: string;
  decelerate?: Numberish;
  descent?: Numberish;
  diffuseConstant?: Numberish;
  direction?: Numberish;
  display?: Numberish;
  divisor?: Numberish;
  'dominant-baseline'?: Numberish;
  dur?: Numberish;
  dx?: Numberish;
  dy?: Numberish;
  edgeMode?: Numberish;
  elevation?: Numberish;
  'enable-background'?: Numberish;
  end?: Numberish;
  exponent?: Numberish;
  externalResourcesRequired?: Numberish;
  fill?: string;
  'fill-opacity'?: Numberish;
  'fill-rule'?: 'nonzero' | 'evenodd' | 'inherit';
  filter?: string;
  filterRes?: Numberish;
  filterUnits?: Numberish;
  'flood-color'?: Numberish;
  'flood-opacity'?: Numberish;
  focusable?: Numberish;
  'font-family'?: string;
  'font-size'?: Numberish;
  'font-size-adjust'?: Numberish;
  'font-stretch'?: Numberish;
  'font-style'?: Numberish;
  'font-variant'?: Numberish;
  'font-weight'?: Numberish;
  format?: Numberish;
  from?: Numberish;
  fx?: Numberish;
  fy?: Numberish;
  g1?: Numberish;
  g2?: Numberish;
  'glyph-name'?: Numberish;
  'glyph-orientation-horizontal'?: Numberish;
  'glyph-orientation-vertical'?: Numberish;
  glyphRef?: Numberish;
  gradientTransform?: string;
  gradientUnits?: string;
  hanging?: Numberish;
  'horiz-adv-x'?: Numberish;
  'horiz-origin-x'?: Numberish;
  href?: string;
  ideographic?: Numberish;
  'image-rendering'?: Numberish;
  in2?: Numberish;
  in?: string;
  intercept?: Numberish;
  k1?: Numberish;
  k2?: Numberish;
  k3?: Numberish;
  k4?: Numberish;
  k?: Numberish;
  kernelMatrix?: Numberish;
  kernelUnitLength?: Numberish;
  kerning?: Numberish;
  keyPoints?: Numberish;
  keySplines?: Numberish;
  keyTimes?: Numberish;
  lengthAdjust?: Numberish;
  'letter-spacing'?: Numberish;
  'lighting-color'?: Numberish;
  limitingConeAngle?: Numberish;
  local?: Numberish;
  'marker-end'?: string;
  markerHeight?: Numberish;
  'marker-mid'?: string;
  'marker-start'?: string;
  markerUnits?: Numberish;
  markerWidth?: Numberish;
  mask?: string;
  maskContentUnits?: Numberish;
  maskUnits?: Numberish;
  mathematical?: Numberish;
  mode?: Numberish;
  numOctaves?: Numberish;
  offset?: Numberish;
  opacity?: Numberish;
  operator?: Numberish;
  order?: Numberish;
  orient?: Numberish;
  orientation?: Numberish;
  origin?: Numberish;
  overflow?: Numberish;
  'overline-position'?: Numberish;
  'overline-thickness'?: Numberish;
  'paint-order'?: Numberish;
  'panose-1'?: Numberish;
  pathLength?: Numberish;
  patternContentUnits?: string;
  patternTransform?: Numberish;
  patternUnits?: string;
  'pointer-events'?: Numberish;
  points?: string;
  pointsAtX?: Numberish;
  pointsAtY?: Numberish;
  pointsAtZ?: Numberish;
  preserveAlpha?: Numberish;
  preserveAspectRatio?: string;
  primitiveUnits?: Numberish;
  r?: Numberish;
  radius?: Numberish;
  refX?: Numberish;
  refY?: Numberish;
  renderingIntent?: Numberish;
  repeatCount?: Numberish;
  repeatDur?: Numberish;
  requiredExtensions?: Numberish;
  requiredFeatures?: Numberish;
  restart?: Numberish;
  result?: string;
  rotate?: Numberish;
  rx?: Numberish;
  ry?: Numberish;
  scale?: Numberish;
  seed?: Numberish;
  'shape-rendering'?: Numberish;
  slope?: Numberish;
  spacing?: Numberish;
  specularConstant?: Numberish;
  specularExponent?: Numberish;
  speed?: Numberish;
  spreadMethod?: string;
  startOffset?: Numberish;
  stdDeviation?: Numberish;
  stemh?: Numberish;
  stemv?: Numberish;
  stitchTiles?: Numberish;
  'stop-color'?: string;
  'stop-opacity'?: Numberish;
  'strikethrough-position'?: Numberish;
  'strikethrough-thickness'?: Numberish;
  string?: Numberish;
  stroke?: string;
  'stroke-dasharray'?: Numberish;
  'stroke-dashoffset'?: Numberish;
  'stroke-linecap'?: 'butt' | 'round' | 'square' | 'inherit';
  'stroke-linejoin'?: 'miter' | 'round' | 'bevel' | 'inherit';
  'stroke-miterlimit'?: Numberish;
  'stroke-opacity'?: Numberish;
  'stroke-width'?: Numberish;
  surfaceScale?: Numberish;
  systemLanguage?: Numberish;
  tableValues?: Numberish;
  targetX?: Numberish;
  targetY?: Numberish;
  'text-anchor'?: string;
  'text-decoration'?: Numberish;
  textLength?: Numberish;
  'text-rendering'?: Numberish;
  to?: Numberish;
  transform?: string;
  u1?: Numberish;
  u2?: Numberish;
  'underline-position'?: Numberish;
  'underline-thickness'?: Numberish;
  unicode?: Numberish;
  'unicode-bidi'?: Numberish;
  'unicode-range'?: Numberish;
  'unitsPer-em'?: Numberish;
  'v-alphabetic'?: Numberish;
  values?: string;
  'vector-effect'?: Numberish;
  version?: string;
  'vert-adv-y'?: Numberish;
  'vert-origin-x'?: Numberish;
  'vert-origin-y'?: Numberish;
  'v-hanging'?: Numberish;
  'v-ideographic'?: Numberish;
  viewBox?: string;
  viewTarget?: Numberish;
  visibility?: Numberish;
  'v-mathematical'?: Numberish;
  widths?: Numberish;
  'word-spacing'?: Numberish;
  'writing-mode'?: Numberish;
  x1?: Numberish;
  x2?: Numberish;
  x?: Numberish;
  xChannelSelector?: string;
  'x-height'?: Numberish;
  xlinkActuate?: string;
  xlinkArcrole?: string;
  xlinkHref?: string;
  xlinkRole?: string;
  xlinkShow?: string;
  xlinkTitle?: string;
  xlinkType?: string;
  xmlns?: string;
  xmlnsXlink?: string;
  y1?: Numberish;
  y2?: Numberish;
  y?: Numberish;
  yChannelSelector?: string;
  z?: Numberish;
  zoomAndPan?: string;
}
interface IntrinsicElementAttributes {
  a: AnchorHTMLAttributes<HTMLAnchorElement>;
  abbr: HTMLAttributes<HTMLElement>;
  address: HTMLAttributes<HTMLElement>;
  area: AreaHTMLAttributes<HTMLAreaElement>;
  article: HTMLAttributes<HTMLElement>;
  aside: HTMLAttributes<HTMLElement>;
  audio: AudioHTMLAttributes<HTMLAudioElement>;
  b: HTMLAttributes<HTMLElement>;
  base: BaseHTMLAttributes<HTMLBaseElement>;
  bdi: HTMLAttributes<HTMLElement>;
  bdo: HTMLAttributes<HTMLElement>;
  big: HTMLAttributes<HTMLElement>;
  blockquote: BlockquoteHTMLAttributes<HTMLQuoteElement>;
  body: HTMLAttributes<HTMLBodyElement>;
  br: HTMLAttributes<HTMLBRElement>;
  button: ButtonHTMLAttributes<HTMLButtonElement>;
  canvas: CanvasHTMLAttributes<HTMLCanvasElement>;
  caption: HTMLAttributes<HTMLElement>;
  cite: HTMLAttributes<HTMLElement>;
  code: HTMLAttributes<HTMLElement>;
  col: ColHTMLAttributes<HTMLTableColElement>;
  colgroup: ColgroupHTMLAttributes<HTMLTableColElement>;
  data: DataHTMLAttributes<HTMLDataElement>;
  datalist: HTMLAttributes<HTMLDataListElement>;
  dd: HTMLAttributes<HTMLElement>;
  del: DelHTMLAttributes<HTMLModElement>;
  details: DetailsHTMLAttributes<HTMLDetailsElement>;
  dfn: HTMLAttributes<HTMLElement>;
  dialog: DialogHTMLAttributes<HTMLDialogElement>;
  div: HTMLAttributes<HTMLDivElement>;
  dl: HTMLAttributes<HTMLDListElement>;
  dt: HTMLAttributes<HTMLElement>;
  em: HTMLAttributes<HTMLElement>;
  embed: EmbedHTMLAttributes<HTMLEmbedElement>;
  fieldset: FieldsetHTMLAttributes<HTMLFieldSetElement>;
  figcaption: HTMLAttributes<HTMLElement>;
  figure: HTMLAttributes<HTMLElement>;
  footer: HTMLAttributes<HTMLElement>;
  form: FormHTMLAttributes<HTMLFormElement>;
  h1: HTMLAttributes<HTMLHeadingElement>;
  h2: HTMLAttributes<HTMLHeadingElement>;
  h3: HTMLAttributes<HTMLHeadingElement>;
  h4: HTMLAttributes<HTMLHeadingElement>;
  h5: HTMLAttributes<HTMLHeadingElement>;
  h6: HTMLAttributes<HTMLHeadingElement>;
  head: HTMLAttributes<HTMLHeadElement>;
  header: HTMLAttributes<HTMLElement>;
  hgroup: HTMLAttributes<HTMLElement>;
  hr: HTMLAttributes<HTMLHRElement>;
  html: HtmlHTMLAttributes<HTMLHtmlElement>;
  i: HTMLAttributes<HTMLElement>;
  iframe: IframeHTMLAttributes<HTMLIFrameElement>;
  img: ImgHTMLAttributes<HTMLImageElement>;
  input: InputHTMLAttributes<HTMLInputElement>;
  ins: InsHTMLAttributes<HTMLModElement>;
  kbd: HTMLAttributes<HTMLElement>;
  keygen: KeygenHTMLAttributes<HTMLElement>;
  label: LabelHTMLAttributes<HTMLLabelElement>;
  legend: HTMLAttributes<HTMLLegendElement>;
  li: LiHTMLAttributes<HTMLLIElement>;
  link: LinkHTMLAttributes<HTMLLinkElement>;
  main: HTMLAttributes<HTMLElement>;
  map: MapHTMLAttributes<HTMLMapElement>;
  mark: HTMLAttributes<HTMLElement>;
  menu: MenuHTMLAttributes<HTMLElement>;
  menuitem: HTMLAttributes<HTMLElement>;
  meta: MetaHTMLAttributes<HTMLMetaElement>;
  meter: MeterHTMLAttributes<HTMLMeterElement>;
  nav: HTMLAttributes<HTMLElement>;
  noindex: HTMLAttributes<HTMLElement>;
  noscript: HTMLAttributes<HTMLObjectElement>;
  object: ObjectHTMLAttributes<HTMLObjectElement>;
  ol: OlHTMLAttributes<HTMLOListElement>;
  optgroup: OptgroupHTMLAttributes<HTMLOptGroupElement>;
  option: OptionHTMLAttributes<HTMLOptionElement>;
  output: OutputHTMLAttributes<HTMLOutputElement>;
  p: HTMLAttributes<HTMLParagraphElement>;
  param: ParamHTMLAttributes<HTMLParamElement>;
  picture: HTMLAttributes<HTMLElement>;
  pre: HTMLAttributes<HTMLPreElement>;
  progress: ProgressHTMLAttributes<HTMLProgressElement>;
  q: QuoteHTMLAttributes<HTMLQuoteElement>;
  rp: HTMLAttributes<HTMLElement>;
  rt: HTMLAttributes<HTMLElement>;
  ruby: HTMLAttributes<HTMLElement>;
  s: HTMLAttributes<HTMLElement>;
  samp: HTMLAttributes<HTMLElement>;
  search: HTMLAttributes<HTMLElement>;
  script: ScriptHTMLAttributes<HTMLScriptElement>;
  section: HTMLAttributes<HTMLElement>;
  select: SelectHTMLAttributes<HTMLSelectElement>;
  small: HTMLAttributes<HTMLElement>;
  source: SourceHTMLAttributes<HTMLSourceElement>;
  span: HTMLAttributes<HTMLSpanElement>;
  strong: HTMLAttributes<HTMLElement>;
  style: StyleHTMLAttributes<HTMLStyleElement>;
  sub: HTMLAttributes<HTMLElement>;
  summary: HTMLAttributes<HTMLElement>;
  sup: HTMLAttributes<HTMLElement>;
  table: TableHTMLAttributes<HTMLTableElement>;
  template: HTMLAttributes<HTMLTemplateElement>;
  tbody: HTMLAttributes<HTMLTableSectionElement>;
  td: TdHTMLAttributes<HTMLTableDataCellElement>;
  textarea: TextareaHTMLAttributes<HTMLTextAreaElement>;
  tfoot: HTMLAttributes<HTMLTableSectionElement>;
  th: ThHTMLAttributes<HTMLTableHeaderCellElement>;
  thead: HTMLAttributes<HTMLTableSectionElement>;
  time: TimeHTMLAttributes<HTMLTimeElement>;
  title: HTMLAttributes<HTMLTitleElement>;
  tr: HTMLAttributes<HTMLTableRowElement>;
  track: TrackHTMLAttributes<HTMLTrackElement>;
  u: HTMLAttributes<HTMLElement>;
  ul: HTMLAttributes<HTMLUListElement>;
  var: HTMLAttributes<HTMLElement>;
  video: VideoHTMLAttributes<HTMLVideoElement>;
  wbr: HTMLAttributes<HTMLElement>;
  webview: WebViewHTMLAttributes<HTMLWebViewElement>;
  svg: SVGAttributes;
  animate: SVGAttributes;
  animateMotion: SVGAttributes;
  animateTransform: SVGAttributes;
  circle: 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;
  stop: SVGAttributes;
  switch: SVGAttributes;
  symbol: SVGAttributes;
  text: SVGAttributes;
  textPath: SVGAttributes;
  tspan: SVGAttributes;
  use: SVGAttributes;
  view: SVGAttributes;
}
interface Events<T = Element> {
  onCopy: ClipboardEventHandler<T>;
  onCut: ClipboardEventHandler<T>;
  onPaste: ClipboardEventHandler<T>;
  onCompositionend: CompositionEventHandler<T>;
  onCompositionstart: CompositionEventHandler<T>;
  onCompositionupdate: CompositionEventHandler<T>;
  onDrag: DragEventHandler<T>;
  onDragend: DragEventHandler<T>;
  onDragenter: DragEventHandler<T>;
  onDragexit: DragEventHandler<T>;
  onDragleave: DragEventHandler<T>;
  onDragover: DragEventHandler<T>;
  onDragstart: DragEventHandler<T>;
  onDrop: DragEventHandler<T>;
  onFocus: FocusEventHandler<T>;
  onFocusin: FocusEventHandler<T>;
  onFocusout: FocusEventHandler<T>;
  onBlur: FocusEventHandler<T>;
  onChange: ChangeEventHandler<T>;
  onBeforeinput: FormEventHandler<T>;
  onInput: FormEventHandler<T>;
  onReset: FormEventHandler<T>;
  onSubmit: FormEventHandler<T>;
  onInvalid: FormEventHandler<T>;
  onLoad: BaseEventHandler<T>;
  onError: BaseEventHandler<T>;
  onKeydown: KeyboardEventHandler<T>;
  onKeypress: KeyboardEventHandler<T>;
  onKeyup: KeyboardEventHandler;
  onAuxclick: MouseEventHandler<T>;
  onClick: MouseEventHandler<T>;
  onContextmenu: MouseEventHandler<T>;
  onDblclick: MouseEventHandler<T>;
  onMousedown: MouseEventHandler<T>;
  onMouseenter: MouseEventHandler<T>;
  onMouseleave: MouseEventHandler<T>;
  onMousemove: MouseEventHandler<T>;
  onMouseout: MouseEventHandler<T>;
  onMouseover: MouseEventHandler<T>;
  onMouseup: MouseEventHandler<T>;
  onAbort: BaseEventHandler<T>;
  onCanplay: BaseEventHandler<T>;
  onCanplaythrough: BaseEventHandler<T>;
  onDurationchange: BaseEventHandler<T>;
  onEmptied: BaseEventHandler<T>;
  onEncrypted: BaseEventHandler<T>;
  onEnded: BaseEventHandler<T>;
  onLoadeddata: BaseEventHandler<T>;
  onLoadedmetadata: BaseEventHandler<T>;
  onLoadstart: BaseEventHandler<T>;
  onPause: BaseEventHandler<T>;
  onPlay: BaseEventHandler<T>;
  onPlaying: BaseEventHandler<T>;
  onProgress: BaseEventHandler<T>;
  onRatechange: BaseEventHandler<T>;
  onSeeked: BaseEventHandler<T>;
  onSeeking: BaseEventHandler<T>;
  onStalled: BaseEventHandler<T>;
  onSuspend: BaseEventHandler<T>;
  onTimeupdate: BaseEventHandler<T>;
  onVolumechange: BaseEventHandler<T>;
  onWaiting: BaseEventHandler<T>;
  onSelect: BaseEventHandler<T>;
  onScroll: UIEventHandler<T>;
  onScrollend: UIEventHandler<T>;
  onTouchcancel: TouchEvent;
  onTouchend: TouchEvent;
  onTouchmove: TouchEvent;
  onTouchstart: TouchEvent;
  onPointerdown: PointerEvent;
  onPointermove: PointerEvent;
  onPointerup: PointerEvent;
  onPointercancel: PointerEvent;
  onPointerenter: PointerEvent;
  onPointerleave: PointerEvent;
  onPointerover: PointerEvent;
  onPointerout: PointerEvent;
  onWheel: WheelEventHandler<T>;
  onAnimationstart: AnimationEventHandler<T>;
  onAnimationend: AnimationEventHandler<T>;
  onAnimationiteration: AnimationEventHandler<T>;
  onTransitionend: TransitionEventHandler<T>;
  onTransitionstart: TransitionEventHandler<T>;
}
type EventHandlers<E> = { [K in keyof E]?: E[K] extends ((...args: any) => any) ? E[K] : (payload: E[K]) => void };
type _ReservedProps = vue14.ReservedProps;
interface ReservedProps extends _ReservedProps {}
type NativeElements = { [K in keyof IntrinsicElementAttributes]: IntrinsicElementAttributes[K] & ReservedProps };
interface BaseSyntheticEvent<E = object, C = unknown, T = unknown> {
  nativeEvent: E;
  currentTarget: C;
  target: T;
  bubbles: boolean;
  cancelable: boolean;
  defaultPrevented: boolean;
  eventPhase: number;
  isTrusted: boolean;
  preventDefault: () => void;
  isDefaultPrevented: () => boolean;
  stopPropagation: () => void;
  isPropagationStopped: () => boolean;
  persist: () => void;
  timeStamp: number;
  type: string;
}
/**
 * currentTarget - a reference to the element on which the event listener is registered.
 *
 * target - a reference to the element from which the event was originally dispatched.
 * This might be a child element to the element on which the event listener is registered.
 * If you thought this should be `EventTarget & T`, see https://github.com/DefinitelyTyped/DefinitelyTyped/issues/11508#issuecomment-256045682
 */
interface SyntheticEvent<T = Element, E = Event> extends BaseSyntheticEvent<E, EventTarget & T, EventTarget> {}
type EventHandler<E extends SyntheticEvent<any>> = {
  bivarianceHack: (event: E) => void;
}['bivarianceHack'];
type BaseEventHandler<T = Element> = EventHandler<SyntheticEvent<T>>;
interface ClipboardEvent<T = Element> extends SyntheticEvent<T, globalThis.ClipboardEvent> {
  clipboardData: DataTransfer;
}
type ClipboardEventHandler<T = Element> = EventHandler<ClipboardEvent<T>>;
interface CompositionEvent<T = Element> extends SyntheticEvent<T, globalThis.CompositionEvent> {
  data: string;
}
type CompositionEventHandler<T = Element> = EventHandler<CompositionEvent<T>>;
interface DragEvent<T = Element> extends MouseEvent<T, globalThis.DragEvent> {
  dataTransfer: DataTransfer;
}
type DragEventHandler<T = Element> = EventHandler<DragEvent<T>>;
interface FocusEvent<Target = Element, RelatedTarget = Element> extends SyntheticEvent<Target, globalThis.FocusEvent> {
  relatedTarget: (EventTarget & RelatedTarget) | null;
  target: EventTarget & Target;
}
type FocusEventHandler<T = Element> = EventHandler<FocusEvent<T>>;
interface FormEvent<T = Element> extends SyntheticEvent<T> {}
type FormEventHandler<T = Element> = EventHandler<FormEvent<T>>;
interface ChangeEvent<T = Element> extends SyntheticEvent<T> {
  target: EventTarget & T;
}
type ChangeEventHandler<T = Element> = EventHandler<ChangeEvent<T>>;
interface KeyboardEvent<T = Element> extends UIEvent<T, globalThis.KeyboardEvent> {
  altKey: boolean;
  /** @deprecated */
  charCode: number;
  ctrlKey: boolean;
  code: string;
  /**
   * 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: ModifierKey) => boolean;
  /**
   * See the [DOM Level 3 Events spec](https://www.w3.org/TR/uievents-key/#named-key-attribute-values). for possible values
   */
  key: string;
  /** @deprecated */
  keyCode: number;
  locale: string;
  location: number;
  metaKey: boolean;
  repeat: boolean;
  shiftKey: boolean;
  /** @deprecated */
  which: number;
}
type KeyboardEventHandler<T = Element> = EventHandler<KeyboardEvent<T>>;
type ModifierKey = 'Alt' | 'AltGraph' | 'CapsLock' | 'Control' | 'Fn' | 'FnLock' | 'Hyper' | 'Meta' | 'NumLock' | 'ScrollLock' | 'Shift' | 'Super' | 'Symbol' | 'SymbolLock';
interface MouseEvent<T = Element, E = globalThis.MouseEvent> extends UIEvent<T, E> {
  altKey: boolean;
  button: number;
  buttons: number;
  clientX: number;
  clientY: 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: ModifierKey) => boolean;
  metaKey: boolean;
  movementX: number;
  movementY: number;
  pageX: number;
  pageY: number;
  relatedTarget: EventTarget | null;
  screenX: number;
  screenY: number;
  shiftKey: boolean;
}
type MouseEventHandler<T = Element> = EventHandler<MouseEvent<T>>;
interface AbstractView {
  styleMedia: StyleMedia;
  document: Document;
}
interface UIEvent<T = Element, E = globalThis.UIEvent> extends SyntheticEvent<T, E> {
  detail: number;
  view: AbstractView;
}
type UIEventHandler<T = Element> = EventHandler<UIEvent<T>>;
interface WheelEvent<T = Element> extends MouseEvent<T, globalThis.WheelEvent> {
  deltaMode: number;
  deltaX: number;
  deltaY: number;
  deltaZ: number;
}
type WheelEventHandler<T = Element> = EventHandler<WheelEvent<T>>;
interface AnimationEvent<T = Element> extends SyntheticEvent<T, globalThis.AnimationEvent> {
  animationName: string;
  elapsedTime: number;
  pseudoElement: string;
}
type AnimationEventHandler<T = Element> = EventHandler<AnimationEvent<T>>;
interface TransitionEvent<T = Element> extends SyntheticEvent<T, globalThis.TransitionEvent> {
  elapsedTime: number;
  propertyName: string;
  pseudoElement: string;
}
type TransitionEventHandler<T = Element> = EventHandler<TransitionEvent<T>>;
//#endregion
export { AbstractView, AnchorHTMLAttributes, AnimationEvent, AnimationEventHandler, AreaHTMLAttributes, AriaAttributes, AudioHTMLAttributes, BaseEventHandler, BaseHTMLAttributes, BaseSyntheticEvent, BlockquoteHTMLAttributes, ButtonHTMLAttributes, CSSProperties, CanvasHTMLAttributes, ChangeEvent, ChangeEventHandler, ClipboardEvent, ClipboardEventHandler, ColHTMLAttributes, ColgroupHTMLAttributes, CompositionEvent, CompositionEventHandler, DataHTMLAttributes, DelHTMLAttributes, DetailsHTMLAttributes, DialogHTMLAttributes, DragEvent, DragEventHandler, EmbedHTMLAttributes, EventHandler, EventHandlers, Events, FieldsetHTMLAttributes, FocusEvent, FocusEventHandler, FormEvent, FormEventHandler, FormHTMLAttributes, HTMLAttributes, HtmlHTMLAttributes, IframeHTMLAttributes, ImgHTMLAttributes, InputHTMLAttributes, InputTypeHTMLAttribute, InsHTMLAttributes, IntrinsicElementAttributes, KeyboardEvent, KeyboardEventHandler, KeygenHTMLAttributes, LabelHTMLAttributes, LiHTMLAttributes, LinkHTMLAttributes, MapHTMLAttributes, MediaHTMLAttributes, MenuHTMLAttributes, MetaHTMLAttributes, MeterHTMLAttributes, ModifierKey, MouseEvent, MouseEventHandler, NativeElements, ObjectHTMLAttributes, OlHTMLAttributes, OptgroupHTMLAttributes, OptionHTMLAttributes, OutputHTMLAttributes, ParamHTMLAttributes, ProgressHTMLAttributes, QuoteHTMLAttributes, ReservedProps, SVGAttributes, ScriptHTMLAttributes, SelectHTMLAttributes, SourceHTMLAttributes, StyleHTMLAttributes, StyleValue, SyntheticEvent, TableHTMLAttributes, TdHTMLAttributes, TextareaHTMLAttributes, ThHTMLAttributes, TimeHTMLAttributes, TrackHTMLAttributes, TransitionEvent, TransitionEventHandler, UIEvent, UIEventHandler, VideoHTMLAttributes, WebViewHTMLAttributes, WheelEvent, WheelEventHandler, createNodes, getCurrentInstance, setNodes, useFullProps, useProps, useRef };