declare enum ShapeFlags { ELEMENT = 1, TEXT_CHILDREN = 2, ARRAY_CHILDREN = 4, COMPONENT = 8, FRAGMENT = 16 } type EmitFn = (event: string, ...args: unknown[]) => void; type SlotProps = Record; type Slot = (props?: SlotProps) => VNodeChildren; interface Slots { default?: Slot; [name: string]: Slot | undefined; } interface ComponentSetupContext { emit: EmitFn; slots: Slots; } type ComponentProps = Record; type ComponentRender = () => VNode; type ComponentType = (props: Props, context: ComponentSetupContext) => ComponentRender | VNode; declare const Fragment: unique symbol; type FragmentType = typeof Fragment; type VNodeType = string | ComponentType | FragmentType; type VNodeProps = Record; type VNodeChild = string | VNode; type VNodeChildren = string | VNode | VNode[] | null; type VNodeSlots = Record; type ComponentVNodeChildren = VNodeChildren | VNodeSlots; interface VNode { type: VNodeType; props: VNodeProps | null; key: string | number | null; children: ComponentVNodeChildren; shapeFlag: ShapeFlags; el: Element | Text | null; component: unknown; } export { Fragment as F }; export type { ComponentType as C, EmitFn as E, Slot as S, VNodeProps as V, VNodeChildren as a, VNode as b, ComponentVNodeChildren as c, VNodeType as d, ComponentRender as e, ComponentSetupContext as f, ComponentProps as g, FragmentType as h, SlotProps as i, Slots as j, VNodeChild as k, VNodeSlots as l };