interface CollapsibleProps {
    open?: boolean;
    defaultOpen?: boolean;
    onOpenChange?: (open: boolean) => void;
    disabled?: boolean;
}
interface CollapsibleAPI {
    /** Current open state */
    state: {
        open: boolean;
    };
    /** Props to spread on the trigger element */
    triggerProps: {
        'aria-expanded': boolean;
        'aria-controls': string;
        'data-state': 'open' | 'closed';
        'data-disabled': string | undefined;
    };
    /** Props to spread on the content element */
    contentProps: {
        id: string;
        role: 'region';
        'data-state': 'open' | 'closed';
        hidden: boolean;
    };
    /** Toggle the open state */
    toggle: () => void;
    /** Open the collapsible */
    open: () => void;
    /** Close the collapsible */
    close: () => void;
    /** Keyboard event handler for Enter/Space toggle */
    keyboardHandler: (event: KeyboardEvent) => void;
}
declare function createCollapsible(props?: CollapsibleProps): CollapsibleAPI;

declare const collapsibleContentVariants: (props?: ({
    state?: "open" | "closed" | undefined;
} & {
    className?: string;
}) | undefined) => string;

export { type CollapsibleAPI, type CollapsibleProps, collapsibleContentVariants, createCollapsible };
