import type { IntrinsicElementAttributes, Ref, ReservedProps } from 'vue';
type JSXElementConstructor
= ((props: P, context: C) => () => JSX.Element) | (new (...args: any[]) => {
$props: P;
}) | {
[key: string]: () => JSX.Element;
};
type VueJSXElement
= string | JSXElementConstructor
> = {
type: T;
$props: P;
key: string | null;
};
type JsxChild = JSX.Element[] | JSX.Element | string | number | boolean | null | undefined;
type JsxChildren = Array;
export type Children = JsxChildren | JsxChild;
export interface GlobalDirectives {
}
type NativeElements = {
[K in keyof IntrinsicElementAttributes]: IntrinsicElementAttributes[K] & ReservedProps & {
children?: Children;
} & GlobalDirectives;
};
declare global {
namespace JSX {
type ElementType = string | JSXElementConstructor;
interface Element extends VueJSXElement {
}
interface ElementClass {
$props: {};
}
interface ElementAttributesProperty {
$props: {};
}
interface ElementChildrenAttribute {
children: {};
}
type LibraryManagedAttributes = C extends JSXElementConstructor ? P & {
ref?: Ref | ((ref: Exposed) => void);
} & ('children' extends keyof U ? {} : {
children?: Children;
}) : P;
interface IntrinsicElements extends NativeElements {
[name: string]: any;
}
interface IntrinsicAttributes extends GlobalDirectives {
key?: string;
}
}
}
export {};
//# sourceMappingURL=vue-jsx-runtime.d.ts.map