type ComboboxOpenChangeReason = "escape-key" | "focus" | "imperative-action" | "input" | "item-press" | "outside-press" | "trigger-press"; type ComboboxValueChangeReason = "clear" | "imperative-action" | "item-press"; type ComboboxInputValueChangeReason = "clear" | "imperative-action" | "input" | "item-press"; type ComboboxFilterMode = "contains" | "startsWith"; type ComboboxOpenChangeDetails = { event?: Event; open: boolean; previousOpen: boolean; reason: ComboboxOpenChangeReason; trigger?: Element; cancel(): void; readonly isCanceled: boolean; }; type ComboboxValueChangeDetails = { event?: Event; item?: HTMLElement; previousValue: string | null; reason: ComboboxValueChangeReason; value: string | null; cancel(): void; readonly isCanceled: boolean; }; type ComboboxInputValueChangeDetails = { event?: Event; inputValue: string; previousInputValue: string; reason: ComboboxInputValueChangeReason; cancel(): void; readonly isCanceled: boolean; }; type ComboboxOptions = { autoComplete?: string; defaultFilterValue?: string; defaultInputValue?: string; defaultOpen?: boolean; defaultValue?: string | null; defaultValueText?: string; disabled?: boolean; filterMode?: ComboboxFilterMode; form?: string; highlightItemOnHover?: boolean; inputValue?: string; locale?: string; modal?: boolean; name?: string; onInputValueChange?: (inputValue: string, details: ComboboxInputValueChangeDetails) => void; onOpenChange?: (open: boolean, details: ComboboxOpenChangeDetails) => void; onValueChange?: (value: string | null, details: ComboboxValueChangeDetails) => void; open?: boolean; portalReference?: Element; readOnly?: boolean; reference?: Element; required?: boolean; value?: string | null; }; type ComboboxSetOpenOptions = { emit?: boolean; }; type ComboboxSetValueOptions = { emit?: boolean; }; type ComboboxSetInputValueOptions = { emit?: boolean; filter?: boolean; }; type ComboboxInstance = { readonly root: HTMLElement; close(): void; destroy(): void; getInputValue(): string; getOpen(): boolean; getValue(): string | null; open(): void; setDisabled(disabled: boolean): void; setFormOptions(options: Pick): void; setInputValue(inputValue: string, options?: ComboboxSetInputValueOptions): void; setOpen(open: boolean, options?: ComboboxSetOpenOptions): void; setValue(value: string | null, options?: ComboboxSetValueOptions): void; subscribe(event: "inputValueChange", callback: (details: ComboboxInputValueChangeDetails) => void): () => void; subscribe(event: "openChange", callback: (details: ComboboxOpenChangeDetails) => void): () => void; subscribe(event: "valueChange", callback: (details: ComboboxValueChangeDetails) => void): () => void; toggle(): void; updatePosition(): void; }; declare function refreshComboboxPortalSurface(root: HTMLElement): void; declare function createCombobox(root: HTMLElement, options?: ComboboxOptions): ComboboxInstance; export { type ComboboxFilterMode as C, type ComboboxInputValueChangeDetails as a, type ComboboxInputValueChangeReason as b, type ComboboxInstance as c, type ComboboxOpenChangeDetails as d, type ComboboxOpenChangeReason as e, type ComboboxOptions as f, type ComboboxSetInputValueOptions as g, type ComboboxSetOpenOptions as h, type ComboboxSetValueOptions as i, type ComboboxValueChangeDetails as j, type ComboboxValueChangeReason as k, createCombobox as l, refreshComboboxPortalSurface as r };