import { type ReactNode } from 'react'; /** * Defines slots into which children of this item should be rendered. There * are special slots for the tooltip, prefix, and suffix. Everything else will be * rendered into the freeform slot. */ type ItemSlots = { tooltip: ReactNode | null; prefix: ReactNode | null; suffix: ReactNode | null; freeform: ReactNode[]; }; /** * Defines slots for SubTrigger, which supports prefix (but not suffix or tooltip). */ type SubTriggerSlots = { prefix: ReactNode | null; freeform: ReactNode[]; }; /** * Iterates over child nodes to extract specific component slots for Menu.Item and Menu.Link. */ export declare function getItemSlots(children: ReactNode): ItemSlots; /** * Iterates over child nodes to extract specific component slots for Menu.SubTrigger. */ export declare function getSubTriggerSlots(children: ReactNode): SubTriggerSlots; /** * Iterates over child nodes to extract specific component slots for Menu.Intent. * Intent has the same slot requirements as SubTrigger (prefix only, no suffix or tooltip). */ export declare const getIntentSlots: typeof getSubTriggerSlots; export {};