import { EventEmitter } from '../../../stencil-public-runtime';
import { AjaxFn, ClassNames, FuseOptions, IChoicesProps, IChoicesMethods, ItemFilterFn, NoResultsTextFn, NoChoicesTextFn, AddItemTextFn, MaxItemTextFn, SortFn, OnInit, OnCreateTemplates, UniqueItemText, ValueCompareFunction, CustomAddItemText } from './interfaces';
export declare class Choices implements IChoicesProps, IChoicesMethods {
    readonly value: string;
    readonly name: string;
    readonly items: Array<any>;
    readonly choices: Array<any> | string;
    readonly renderChoiceLimit: number;
    readonly maxItemCount: number;
    readonly addItems: boolean;
    readonly removeItems: boolean;
    readonly removeItemButton: boolean;
    readonly editItems: boolean;
    readonly duplicateItemsAllowed: boolean;
    readonly delimiter: string;
    readonly paste: boolean;
    readonly showSearch: boolean;
    readonly searchChoices: boolean;
    readonly searchFields: Array<string> | string;
    readonly searchFloor: number;
    readonly searchResultLimit: number;
    readonly position: 'auto' | 'top' | 'bottom';
    readonly resetScrollPosition: boolean;
    readonly shouldSort: boolean;
    readonly shouldSortItems: boolean;
    readonly sorter: SortFn;
    readonly placeholder: boolean | string;
    readonly searchPlaceholderValue: string;
    readonly prependValue: string;
    readonly appendValue: string;
    readonly renderSelectedChoices: 'always' | 'auto';
    readonly loadingText: string;
    readonly noResultsText: string | NoResultsTextFn;
    readonly noChoicesText: string | NoChoicesTextFn;
    readonly itemSelectText: '';
    readonly addItemText: string | AddItemTextFn;
    readonly maxItemText: string | MaxItemTextFn;
    readonly uniqueItemText: UniqueItemText;
    readonly classNames: ClassNames;
    readonly fuseOptions: FuseOptions;
    readonly addItemFilter: string | RegExp | ItemFilterFn;
    readonly customAddItemText: CustomAddItemText;
    readonly callbackOnInit: OnInit;
    readonly callbackOnCreateTemplates: OnCreateTemplates;
    readonly valueComparer: ValueCompareFunction;
    readonly error: boolean;
    readonly label: string;
    readonly caption: string;
    readonly disabled: boolean;
    readonly required: boolean;
    readonly placeholderValue: string;
    ifxSelect: EventEmitter<CustomEvent>;
    ifxInput: EventEmitter<CustomEvent>;
    options: any[] | string;
    readonly size: string;
    selectedOption: any | null;
    optionIsSelected: boolean;
    readonly showClearButton: boolean;
    private resizeObserver;
    private previousOptions;
    private readonly root;
    private choice;
    private element;
    watchDisabled(newValue: boolean): void;
    clearSelection(): Promise<void>;
    private clearSelectField;
    handleChange(): Promise<void>;
    highlightItem(item: HTMLElement, runEvent?: boolean): Promise<this>;
    unhighlightItem(item: HTMLElement): Promise<this>;
    highlightAll(): Promise<this>;
    unhighlightAll(): Promise<this>;
    removeActiveItemsByValue(value: string): Promise<this>;
    removeActiveItems(excludedId?: number): Promise<this>;
    removeHighlightedItems(runEvent?: boolean): Promise<this>;
    showDropdown(focusInput?: boolean): Promise<this>;
    hideDropdown(blurInput?: boolean): Promise<this>;
    getValue(valueOnly?: boolean): Promise<string | Array<string>>;
    setValue(args: Array<any>): Promise<this>;
    setChoiceByValue(value: string | Array<string>): Promise<this>;
    setChoices(choices: any[] | string, value: string, label: string, replaceChoices?: boolean): Promise<this>;
    clearChoices(): Promise<this>;
    clearStore(): Promise<this>;
    clearInput(): Promise<this>;
    ajax(fn: AjaxFn): Promise<this>;
    handleDeleteIcon(): Promise<void>;
    private handleCloseButton;
    protected componentWillLoad(): void;
    protected componentWillUpdate(): void;
    private isEqual;
    private addResizeObserver;
    protected componentDidLoad(): Promise<void>;
    protected componentDidUpdate(): void;
    protected disconnectedCallback(): void;
    private handleWrapperClick;
    protected render(): any;
    private toggleDropdown;
    private closeDropdown;
    handleOutsideClick(event: MouseEvent): void;
    private handleKeyDown;
    private getSizeClass;
    private init;
    private addEventListenersToHandleCustomFocusAndActiveState;
    private addSearchEventListener;
    private destroy;
    private getPreSelected;
    private setPreSelected;
    private createSelectOptions;
}
