import { EventEmitter } from '../../stencil-public-runtime';
import { ISelectMultiOptions, ISelectMultiOptionsConfig, ISelectMultiOptionsEvents, ISelectOptionsWithChildren } from './select-multi-options.types';
import { 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<string, boolean>;
    /** @inheritdoc */
    noDataAvailableConfig?: IIllustrationMessage;
    /** @inheritdoc */
    noResultsFoundConfig?: IIllustrationMessage;
    /** @inheritdoc */
    searchable?: boolean;
    /** @inheritdoc */
    searchPlaceholder?: string;
    /** @inheritdoc */
    searchValue?: string;
    /** @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;
    el: HTMLKvSelectMultiOptionsElement;
    /** @inheritdoc */
    optionsSelected: EventEmitter<Record<string, boolean>>;
    /** @inheritdoc */
    optionSelected: EventEmitter<string>;
    /** @inheritdoc */
    searchChange: EventEmitter<string>;
    /** @inheritdoc */
    clearSelection: EventEmitter<void>;
    /** @inheritdoc */
    selectAll: EventEmitter<void>;
    /** @inheritdoc */
    dismiss: EventEmitter<void>;
    /** @inheritdoc */
    optionCreated: EventEmitter<string>;
    valueChangedOptionHandler({ detail: newValue }: CustomEvent<string>): void;
    clickCreateOptionHandler(): void;
    cancelCreateOptionHandler(): void;
    selectOptions: {
        totalFlatten: ISelectOptionsWithChildren;
        currentFlatten: ISelectOptionsWithChildren;
        totalSelectable: ISelectOptionsWithChildren;
        currentSelectable: ISelectOptionsWithChildren;
    };
    highlightedOption: string;
    isCreating: boolean;
    createdOptionValue: string;
    buildSelectionOptions(): void;
    handleKeyDown(event: KeyboardEvent): void;
    /** Clears the highlighted option state */
    clearHighlightedOption(): Promise<void>;
    /** Close create popup */
    closeCreatePopup(): Promise<void>;
    /** Focuses the search text field */
    focusSearch(): Promise<void>;
    componentWillLoad(): void;
    private selectRef?;
    private onEnter;
    private onNavigateDown;
    private onNavigateUp;
    private onDismiss;
    private onSelectAll;
    private onClearSelection;
    private onItemSelected;
    private selectOption;
    private renderOptions;
    private get isSearchable();
    private get currentOptions();
    render(): any;
}
