interface CollapseConfig { /** Controlled state — if provided, component is controlled */ collapsed?: boolean; /** Callback notifying new collapsed value. Naming follows onChange pattern (CQS) */ onCollapsedChange?: (collapsed: boolean) => void; /** Initial state for uncontrolled mode. Default: true (collapsed) */ defaultCollapsed?: boolean; } interface CollapseState { isCollapsed: boolean; toggle: () => void; } declare function useCollapse(config: CollapseConfig): CollapseState; export { useCollapse }; export type { CollapseConfig, CollapseState };