import type { EventEmitter } from '../../stencil-public-runtime'; import type { ISelectMultiOptions, ISelectMultiOptionsConfig, ISelectMultiOptionsEvents, ISelectOptionWithChildren, ISelectOptionsWithChildren } from './select-multi-options.types'; import type { IIllustrationMessage } from '../illustration-message/illustration-message.types'; /** * @part select - The select container. */ export declare class KvSelectMultiOptions implements ISelectMultiOptionsConfig, ISelectMultiOptionsEvents { /** @inheritdoc */ options?: ISelectMultiOptions; /** @inheritdoc */ filteredOptions?: ISelectMultiOptions; /** @inheritdoc */ selectedOptions?: Record; /** @inheritdoc */ noDataAvailableConfig?: IIllustrationMessage; /** @inheritdoc */ noResultsFoundConfig?: IIllustrationMessage; /** @inheritdoc */ searchable?: boolean; /** @inheritdoc */ searchPlaceholder?: string; /** @inheritdoc */ searchValue?: string; /** @inheritdoc */ searchDebounce?: number; /** @inheritdoc */ selectionClearable?: boolean; /** @inheritdoc */ clearSelectionLabel?: string; /** @inheritdoc */ minHeight?: string; /** @inheritdoc */ maxHeight?: string; /** @inheritdoc */ minWidth?: string; /** @inheritdoc */ maxWidth?: string; /** @inheritdoc */ selectionAll?: boolean; /** @inheritdoc */ selectAllLabel?: string; /** @inheritdoc */ counter?: boolean; /** @inheritdoc */ minSearchOptions?: number; /** @inheritdoc */ shortcuts?: boolean; /** @inheritdoc */ canAddItems?: boolean; /** @inheritdoc */ createInputPlaceholder?: string; /** @inheritdoc */ createOptionPlaceholder?: string; /** @inheritdoc */ maxSelectable?: number; /** @inheritdoc */ showShortcuts?: boolean; /** @inheritdoc */ rangeSelection?: boolean; el: HTMLKvSelectMultiOptionsElement; /** @inheritdoc */ optionsSelected: EventEmitter>; /** @inheritdoc */ optionSelected: EventEmitter; /** @inheritdoc */ searchChange: EventEmitter; /** @inheritdoc */ clearSelection: EventEmitter; /** @inheritdoc */ selectAll: EventEmitter; /** @inheritdoc */ dismiss: EventEmitter; /** @inheritdoc */ optionCreated: EventEmitter; valueChangedOptionHandler({ detail: newValue }: CustomEvent): void; clickCreateOptionHandler(): void; cancelCreateOptionHandler(): void; selectOptions: { totalFlatten: ISelectOptionsWithChildren; currentFlatten: ISelectOptionWithChildren[]; totalSelectable: ISelectOptionsWithChildren; currentSelectable: ISelectOptionWithChildren[]; searchAvailable: boolean; }; highlightedOption: string; debouncedSearchValue?: string; isCreating: boolean; createdOptionValue: string; private rebuildScheduled; private rangeSelectionAnchor?; private scheduleRebuild; private applySearchValue; private debounceSearchValue; private buildSearchDebouncer; /** * Delays the term the local search filters by, so that a fast typist filters the list once * instead of once per keystroke. Only the filtering waits - `searchValue` still reaches the * search input immediately, keeping the typed text and the clear action responsive. */ private setDebouncedSearchValue; onSearchValueChanged(searchValue?: string): void; onSearchDebounceChanged(): void; onInputsChanged(_newValue: unknown, _oldValue: unknown, propName: string): void; buildSelectionOptions(): void; handleKeyDown(event: KeyboardEvent): void; /** Clears the highlighted option state */ clearHighlightedOption(): Promise; /** Close create popup */ closeCreatePopup(): Promise; /** Focuses the search text field */ focusSearch(): Promise; componentWillLoad(): void; disconnectedCallback(): void; private selectRef?; private onEnter; private onNavigateDown; private onNavigateUp; private onDismiss; private onSelectAll; private onClearSelection; private onItemSelected; private onRenderedItemSelected; private onOptionClick; private selectOption; private canSelectOption; private isDisabledByMaxSelectable; private selectLeafOption; private getRangeSelectableOptions; private getRangeSelectionAnchor; private resetRangeSelection; private renderOptions; private get isRangeSelectionEnabled(); private get isSearchable(); private getCurrentOptions; render(): any; }