type SelectOpenChangeReason = "escape-key" | "focus-out" | "imperative-action" | "item-press" | "outside-press" | "trigger-press"; type SelectOpenChangeDetails = { event?: Event; open: boolean; previousOpen: boolean; reason: SelectOpenChangeReason; trigger?: Element; cancel(): void; readonly isCanceled: boolean; }; type SelectValueChangeReason = "imperative-action" | "item-press"; type SelectValueChangeDetails = { event?: Event; item?: HTMLElement; previousValue: string | null; reason: SelectValueChangeReason; value: string | null; cancel(): void; readonly isCanceled: boolean; }; type SelectOptions = { autoComplete?: string; defaultOpen?: boolean; defaultValue?: string | null; disabled?: boolean; form?: string; highlightItemOnHover?: boolean; modal?: boolean; name?: string; onOpenChange?: (open: boolean, details: SelectOpenChangeDetails) => void; onValueChange?: (value: string | null, details: SelectValueChangeDetails) => void; open?: boolean; portalReference?: Element; readOnly?: boolean; reference?: Element; required?: boolean; value?: string | null; }; type SelectSetOpenOptions = { emit?: boolean; }; type SelectSetValueOptions = { emit?: boolean; }; type SelectOpenOptions = { event?: Event; focus?: SelectFocusTarget; reason?: SelectOpenChangeReason; trigger?: Element; }; type SelectInstance = { readonly root: HTMLElement; close(): void; destroy(): void; getOpen(): boolean; getValue(): string | null; open(options?: SelectOpenOptions): void; setDisabled(disabled: boolean): void; setFormOptions(options: Pick): void; setHighlightItemOnHover(highlightItemOnHover: boolean): void; setModal(modal: boolean): void; setOpen(open: boolean, options?: SelectSetOpenOptions): void; setReadOnly(readOnly: boolean): void; setValue(value: string | null, options?: SelectSetValueOptions): void; subscribe(event: "openChange", callback: (details: SelectOpenChangeDetails) => void): () => void; subscribe(event: "valueChange", callback: (details: SelectValueChangeDetails) => void): () => void; toggle(): void; updatePosition(): void; }; type SelectFocusTarget = "first" | "last" | "selected"; declare function refreshSelectPortalSurface(root: HTMLElement): void; declare function createSelect(root: HTMLElement, options?: SelectOptions): SelectInstance; export { type SelectInstance as S, type SelectOpenChangeDetails as a, type SelectOpenChangeReason as b, type SelectOpenOptions as c, type SelectOptions as d, type SelectSetOpenOptions as e, type SelectSetValueOptions as f, type SelectValueChangeDetails as g, type SelectValueChangeReason as h, createSelect as i, refreshSelectPortalSurface as r };