import type { ComponentPublicInstance, PropType, VNode } from 'vue'; import type { Data, Key } from './global'; type DefaultFactory = (props: Data) => T | null | undefined; export interface PropOptions { type?: PropType | true | null; required?: boolean; default?: D | DefaultFactory | null | undefined | object; validator?: (value: unknown) => boolean; } declare type VNodeChildAtom = VNode | string | number | boolean | null | undefined | void; export type VueNode = VNodeChildAtom | VNodeChildAtom[] | VNode; export type VueInstance = ComponentPublicInstance; export interface RefObject extends Function { current?: any; } export type RefType = HTMLElement | ComponentPublicInstance; export type RefsValue = Map; export {};