/** Options for useDisclosure */ export interface UseDisclosureOptions { /** Initial open state when uncontrolled. Default: `false` */ defaultOpen?: boolean; /** Controlled open state. When provided, the hook operates in controlled mode. */ isOpen?: boolean; /** Callback fired when the open state changes (in both modes) */ onChange?: (isOpen: boolean) => void; } /** Return value of useDisclosure */ export interface UseDisclosureReturn { /** Current open state */ isOpen: boolean; /** Open the disclosure */ onOpen: () => void; /** Close the disclosure */ onClose: () => void; /** Toggle the disclosure */ onToggle: () => void; /** Set the open state — matches Radix/shadcn `onOpenChange` prop shape */ onOpenChange: (open: boolean) => void; /** Whether the disclosure is externally controlled */ isControlled: boolean; } /** * Manages open-close state with support for both controlled and uncontrolled usage. * Designed to drop into Radix/shadcn primitives via the `onOpenChange` prop. * * @param {UseDisclosureOptions} [options] - Configuration * @returns {UseDisclosureReturn} Open state and control callbacks * * @example * const { isOpen, onOpen, onClose, onOpenChange } = useDisclosure(); * * * * */ export declare function useDisclosure(options?: UseDisclosureOptions): UseDisclosureReturn;