/** * Slot observation and reactive slot signals. * * `slots.has(name?)`: Signal — whether a named slot has assigned elements. * `slots.elements(name?)`: Signal — assigned elements for a slot (flattened). */ import { type Readable } from '@vielzeug/ripple'; export type ComponentSlots = { elements: (name?: SlotNames) => Readable; has: (name?: SlotNames) => Readable; }; /** * Returns reactive slot presence / element signals for the current component. * Safe to call multiple times during `setup()` — the underlying slot registry * (MutationObserver + `slotchange` listeners) is created once per instance. * * Pass a `SlotNames` type parameter for typed slot names: * ```ts * const slots = useSlots<'header' | 'footer'>(); * slots.has('header'); // typed ✓ * ``` */ export declare const useSlots: () => ComponentSlots; //# sourceMappingURL=slots.d.ts.map