import { EventEmitter } from '../../stencil-public-runtime';
import { EIconName } from '../icon/icon.types';
import { EValidationState, ITextField } from '../text-field/text-field.types';
import { IMultiSelectDropdown, IMultiSelectDropdownEvents } from './multi-select-dropdown.types';
import { CustomCssClass, EComponentSize, IIllustrationMessage } from '../../types';
import { ISelectMultiOptions } from '../select-multi-options/select-multi-options.types';
import { ComputePositionConfig } from '@floating-ui/dom';
export declare class KvMultiSelectDropdown implements IMultiSelectDropdown, IMultiSelectDropdownEvents {
    /** @inheritdoc */
    placeholder?: string;
    /** @inheritdoc */
    loading?: boolean;
    /** @inheritdoc */
    icon?: EIconName;
    /** @inheritdoc */
    searchable?: boolean;
    /** @inheritdoc */
    searchPlaceholder?: string;
    /** @inheritdoc */
    selectionClearable?: boolean;
    /** @inheritdoc */
    clearSelectionLabel?: string;
    /** @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 */
    noDataAvailableConfig?: IIllustrationMessage;
    /** @inheritdoc */
    noResultsFoundConfig?: IIllustrationMessage;
    /** @inheritdoc */
    options?: ISelectMultiOptions;
    /** @inheritdoc */
    selectedOptions?: Record<string, boolean>;
    /** @inheritdoc */
    filteredOptions?: ISelectMultiOptions;
    /** @inheritdoc */
    minHeight?: string;
    /** @inheritdoc */
    maxHeight?: string;
    /** @inheritdoc */
    minWidth?: string;
    /** @inheritdoc */
    maxWidth?: string;
    /** @inheritdoc */
    inputSize?: EComponentSize;
    /** @inheritdoc */
    customClass?: CustomCssClass;
    /** @inheritdoc */
    dropdownOptions: Partial<ComputePositionConfig>;
    /** @inheritdoc */
    selectionAll: boolean;
    /** @inheritdoc */
    selectAllLabel: string;
    /** @inheritdoc */
    counter: boolean;
    /** @inheritdoc */
    minSearchOptions?: number;
    /** @inheritdoc */
    shortcuts?: boolean;
    /** @inheritdoc */
    clickOutsideClose?: boolean;
    /** @inheritdoc */
    actionElement?: HTMLElement | null;
    /** @inheritdoc */
    zIndex?: number;
    /** @inheritdoc */
    inputConfig?: Partial<ITextField>;
    /** @inheritdoc */
    autoFocus?: boolean;
    /** @inheritdoc */
    optionsSelected: EventEmitter<Record<string, boolean>>;
    /** @inheritdoc */
    searchChange: EventEmitter<string>;
    /** @inheritdoc */
    clearSelection: EventEmitter<void>;
    /** @inheritdoc */
    selectAll: EventEmitter<void>;
    /** @inheritdoc */
    dismiss: EventEmitter<void>;
    /** @inheritdoc */
    clickOutside: EventEmitter<void>;
    /** @inheritdoc */
    openStateChange: EventEmitter<boolean>;
    _selectionDisplayValue: string | undefined;
    _searchValue: string;
    _badgeLabel: string | undefined;
    _isOpen: boolean;
    /** The Host's element reference */
    el: HTMLKvMultiSelectDropdownElement;
    badgeChangeHandler(): void;
    labelValueHandler(): void;
    /** Focuses the search text field */
    focusSearch(): Promise<void>;
    componentWillLoad(): void;
    private selectRef?;
    private onOptionsSelected;
    private onSearchChange;
    private onClearSelection;
    private onSelectAll;
    private onDismiss;
    private onOpenStateChange;
    private setOpenState;
    private setSearch;
    private getMaxHeight;
    private getMinHeight;
    private getMaxWidth;
    private getMinWidth;
    private clearHighlightedOption;
    private calculateLabelValue;
    private calculateBadgeValue;
    private getInputConfig;
    private focusSearchInput;
    connectedCallback(): void;
    render(): any;
}
