import { EventEmitter } from '../../stencil-public-runtime';
import { EIconName } from '../icon/icon.types';
import { EValidationState, ITextField } from '../text-field/text-field.types';
import { ISingleSelectDropdown, ISingleSelectDropdownEvents, ISelectSingleOptions } from './single-select-dropdown.types';
import { CustomCssClass, EComponentSize, IIllustrationMessage, ISelectOption } from '../../types';
import { ComputePositionConfig } from '@floating-ui/dom';
/**
 * @part select - The select container.
 */
export declare class KvSingleSelectDropdown implements ISingleSelectDropdown, ISingleSelectDropdownEvents {
    /** @inheritdoc */
    placeholder: string;
    /** @inheritdoc */
    isOpen?: boolean;
    /** @inheritdoc */
    loading?: boolean;
    /** @inheritdoc */
    icon?: EIconName;
    /** @inheritdoc */
    required?: boolean;
    /** @inheritdoc */
    label?: string;
    /** @inheritdoc */
    displayValue?: string;
    /** @inheritdoc */
    displayPrefix?: string;
    /** @inheritdoc */
    badge?: string;
    /** @inheritdoc */
    errorState?: EValidationState;
    /** @inheritdoc */
    helpText?: string | string[];
    /** @inheritdoc */
    disabled?: boolean;
    /** @inheritdoc */
    inputSize?: EComponentSize;
    /** @inheritdoc */
    dropdownOptions: Partial<ComputePositionConfig>;
    /** @inheritdoc */
    customClass?: CustomCssClass;
    /** @inheritdoc */
    clickOutsideClose?: boolean;
    /** @inheritdoc */
    actionElement?: HTMLElement | null;
    /** @inheritdoc */
    options?: ISelectSingleOptions;
    /** @inheritdoc */
    selectedOption?: string;
    /** @inheritdoc */
    filteredOptions?: ISelectSingleOptions;
    /** @inheritdoc */
    noDataAvailableConfig?: IIllustrationMessage;
    /** @inheritdoc */
    noResultsFoundConfig?: IIllustrationMessage;
    /** @inheritdoc */
    searchable?: boolean;
    /** @inheritdoc */
    searchPlaceholder?: 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 */
    showShortcuts?: boolean;
    /** @inheritdoc */
    zIndex?: number;
    /** @inheritdoc */
    canAddItems?: boolean;
    /** @inheritdoc */
    createInputPlaceholder?: string;
    /** @inheritdoc */
    createOptionPlaceholder?: string;
    /** @inheritdoc */
    inputConfig?: Partial<ITextField>;
    /** @inheritdoc */
    autoFocus?: boolean;
    /** @inheritdoc */
    optionSelected: EventEmitter<string>;
    /** @inheritdoc */
    searchChange: EventEmitter<string>;
    /** @inheritdoc */
    clearSelection: EventEmitter<void>;
    /** @inheritdoc */
    dismiss: EventEmitter<void>;
    /** @inheritdoc */
    clickOutside: EventEmitter<MouseEvent>;
    /** @inheritdoc */
    optionCreated: EventEmitter<string>;
    /** @inheritdoc */
    openStateChange: EventEmitter<boolean>;
    _searchValue: string;
    _selectionDisplayValue: string | undefined;
    /** The Host's element reference */
    el: HTMLKvSingleSelectDropdownElement;
    selectOptions: {
        total: Record<string, ISelectOption>;
        filtered: Record<string, ISelectOption>;
        flatten: Record<string, ISelectOption>;
    };
    highlightedOption?: string;
    optionsChangeHandler(): void;
    selectedOptionChangeHandler(): void;
    displayValueChangeHandler(): void;
    filterOptionsChangeHandler(): void;
    private rebuildScheduled;
    private scheduleRebuild;
    /** Focuses the search text field */
    focusSearch(): Promise<void>;
    componentWillLoad(): void;
    private selectRef?;
    private onOptionSelected;
    private onDismiss;
    private onSearchChange;
    private onOpenStateChange;
    private onClearSelection;
    private onOptionCreated;
    private selectOption;
    private focusSearchInput;
    private setOpenState;
    private setSearch;
    private getMaxHeight;
    private getMinHeight;
    private getMaxWidth;
    private getMinWidth;
    private getInputConfig;
    private clearHighlightedOption;
    private closeCreatePopup;
    private calculateLabelValue;
    private validateSelectedOptionValue;
    private buildSelectionOptions;
    private get selectedOptions();
    connectedCallback(): void;
    render(): any;
}
