type CollapsibleOpenChangeReason = "trigger-press" | "imperative-action" | "beforematch"; type CollapsibleOpenChangeDetails = { readonly event?: Event; readonly isCanceled: boolean; readonly open: boolean; readonly previousOpen: boolean; readonly reason: CollapsibleOpenChangeReason; readonly trigger?: Element; cancel(): void; }; type CollapsibleOptions = { defaultOpen?: boolean; disabled?: boolean; onOpenChange?: (open: boolean, details: CollapsibleOpenChangeDetails) => void; open?: boolean; }; type CollapsibleSetOpenOptions = { emit?: boolean; }; type CollapsibleInstance = { readonly root: HTMLElement; close(): void; destroy(): void; getOpen(): boolean; open(): void; setOpen(open: boolean, options?: CollapsibleSetOpenOptions): void; subscribe(event: "openChange", callback: (details: CollapsibleOpenChangeDetails) => void): () => void; toggle(): void; }; declare function createCollapsible(root: HTMLElement, options?: CollapsibleOptions): CollapsibleInstance; export { type CollapsibleInstance, type CollapsibleOpenChangeDetails, type CollapsibleOpenChangeReason, type CollapsibleOptions, type CollapsibleSetOpenOptions, createCollapsible };