import { Optgroup, Option } from './store'; export default class Select { select: HTMLSelectElement; onValueChange?: (value: Option[]) => void; onClassChange?: (classes: string[]) => void; onTitleChange?: (title: string) => void; onDisabledChange?: (disabled: boolean) => void; onOptionsChange?: (data: (Option | Optgroup)[]) => void; onLabelClick?: () => void; private listen; private observer; private isUpdating; private pendingOptionsChange; private preventNativeSelect; private preventNativeSelectMousedown; private preventNativeSelectFocus; private restoreAriaHiddenOnBlur; constructor(select: HTMLSelectElement); enable(): void; disable(): void; hideUI(): void; showUI(): void; changeListen(listen: boolean): void; valueChange(ev: Event): boolean; private observeCall; getData(): (Option | Optgroup)[]; getDataFromOptgroup(optgroup: HTMLOptGroupElement): Optgroup; /** * Clearing `hidden` must also drop leftover `style.display = none` from * earlier rebuilds, or getDataFromOption still treats the option as hidden. */ private clearLeftoverHiddenDisplay; getDataFromOption(option: HTMLOptionElement): Option; getSelectedOptions(): Option[]; getSelectedValues(): string[]; /** True when every value has a matching native