import { RenderFunction, VNodeChild } from 'vue'; export type ComponentProps = T extends abstract new (...args: any[]) => { $props: infer U; } ? { -readonly [P in keyof U]: U[P]; } : never; export type ComponentSlots = T extends abstract new (...args: any[]) => { $slots: infer U; } ? U : never; type ComponentRenderableSlot = Exclude | RenderFunction; type ComponentRenderableSlots = Record, ComponentRenderableSlot>; export type ComponentRenderable = ComponentRenderableSlot | ComponentRenderableSlots; export type SlotsLike = Record, RenderFunction>; export declare function toSlotsLike(renderable: ComponentRenderable): SlotsLike; export {};