import { ShallowRef, VNode } from 'vue'; type VNodesProps = Array; type SlotFn = (props?: any) => VNode[] | VNode | undefined; /** * Flattens slot children and keeps them in sync reactively. * * @param slotFn The slot function (e.g., slots.default) */ export declare function useFlattenedSlot(slotFn?: SlotFn): ShallowRef>; /** * Returns a computed array of top-level VNodes from the provided slot function * * @param slotFn The slot function (e.g., slots.default) */ export declare function useTopLevelSlots(slotFn?: SlotFn): ShallowRef>; /** * Checks whether all of the provided VNodes are of the same type. Throws an * error if not. This function should be used in components that only allow a * single type of component * * @param vnodes Array of VNodes to check * @param name Expected name of the components */ export declare function enforceSlotType(vnodes: ShallowRef>, name: string): void; export {};