import { EventEmitter, ComponentInterface } from '../../stencil-public-runtime'; import { BalOptionValue } from './utils/bal-option.type'; import { Loggable, LogInstance } from '../../utils/log'; import { BalAriaForm, BalAriaFormLinking } from '../../utils/form'; export interface BalOptionController extends BalOptionValue { id: string; textContent: string; innerHTML: string; } export declare class Select implements ComponentInterface, Loggable, BalAriaFormLinking { private inputElement; private nativeSelectEl; private popoverElement; private selectionEl; private didInit; private inputId; private clearScrollToValue; private clearSelectValue; private mutationO?; private initialValue?; log: LogInstance; createLogger(log: LogInstance): void; private el; hasFocus: boolean; inputValue: string; focusIndex: number; isPopoverOpen: boolean; options: Map; labelToScrollTo: string; labelToSelectTo: string; ariaForm: BalAriaForm; name: string; invalid: boolean; filter: BalProps.BalSelectFilter; balTabindex: number; freeSolo: boolean; multiple: boolean; maxLength?: number; noDataLabel?: string; autocomplete: BalProps.BalInputAutocomplete; typeahead: boolean; selectionOptional: boolean; disabled: boolean; readonly: boolean; required: boolean; inverted: boolean; placeholder?: string; scrollable: number; loading: boolean; remote: boolean; autoInvalidOff: boolean; value?: string | string[]; rawValue: string[] | undefined; valueWatcher(): void; updateRawValue(newValue: string[], isHuman?: boolean): void; private emitChangeEvent; balChange: EventEmitter; balInputClick: EventEmitter; balInput: EventEmitter; balBlur: EventEmitter; balFocus: EventEmitter; balCancel: EventEmitter; balKeyPress: EventEmitter; connectedCallback(): void; componentWillLoad(): void; componentDidLoad(): void; disconnectedCallback(): void; listenOnClick(ev: UIEvent): void; private resetHandlerTimer?; resetHandler(ev: UIEvent): void; handleKeyDown(ev: KeyboardEvent): Promise; setFocus(): Promise; getValue(): Promise; clear(): Promise; open(): Promise; close(): Promise; cancel(): Promise; select(value: string): Promise; setAriaForm(ariaForm: BalAriaForm): Promise; private waitForOptionsAndThenUpdateRawValuesTimer?; private waitForOptionsAndThenUpdateRawValues; private updateOptions; private get optionArray(); private hasOptions; private get inputPlaceholder(); private getChildOpts; private getPopoverContent; private updateFocusTimer?; private updateFocus; private scrollToFocusedOption; private scrollTo; private selectedFocusedOption; private navigateWithArrowKey; private focusOptionByLabel; private selectOptionByLabel; private selectLabel; private scrollToLabel; private syncRawValue; private blurSelect; private optionSelected; private updateValue; private removeValue; private validateAfterBlur; private syncNativeInput; private updateInputValueTimer?; private updateInputValue; private fireBlur; private handleClick; private handlePopoverChange; private handleInputBlur; private handleInputFocus; private isChipClicked; private handleInputClick; private handleKeyPress; private handleInputChange; private handleInput; private handleOptionMouseEnter; private isInsideOfFooter; render(): any; }