import { IAction } from "./actions/action";
import { Base } from "./base";
import { ItemValue } from "./itemvalue";
import { ListModel } from "./list";
import { PopupModel } from "./popup";
import { Question } from "./question";
export declare class DropdownListModel extends Base {
    protected question: Question;
    protected onSelectionChanged?: (item: IAction, ...params: any[]) => void;
    readonly minPageSize = 25;
    readonly loadingItemHeight = 40;
    timer: any;
    private htmlCleanerElement;
    private _markdownMode;
    private _popupModel;
    private filteredItems;
    focused: boolean;
    private get focusFirstInputSelector();
    protected readonly selectedItemSelector = ".sv-list__item--selected";
    protected readonly itemSelector = ".sv-list__item";
    protected getFocusFirstInputSelector(): string;
    private itemsSettings;
    protected listModel: ListModel<ItemValue>;
    protected listModelFilterStringChanged: (newValue: string) => void;
    private resetItemsSettings;
    private setItems;
    private loadQuestionChoices;
    private processCustomValue;
    private updateQuestionChoices;
    private resetTimer;
    private updatePopupFocusFirstInputSelector;
    private getDropdownMenuOptions;
    protected createPopup(): void;
    private popupVisibilityChanged;
    private setFilterStringToListModel;
    private setTextWrapEnabled;
    protected popupRecalculatePosition(isResetHeight: boolean): void;
    protected onHidePopup(): void;
    protected getAvailableItems(): Array<ItemValue>;
    protected setOnTextSearchCallbackForListModel(listModel: ListModel<ItemValue>): void;
    protected createListModel(): ListModel<ItemValue>;
    private setQuestionValue;
    protected createCustomItem(): ItemValue;
    protected updateAfterListModelCreated(model: ListModel<ItemValue>): void;
    protected getPopupCssClasses(): string;
    updateCssClasses(popupCssClass: string, listCssClasses: any): void;
    protected resetFilterString(): void;
    clear(): void;
    protected onSetFilterString(): void;
    get isAllDataLoaded(): boolean;
    get canShowSelectedItem(): boolean;
    updateCustomItemValue(): void;
    private resetCustomItemValue;
    private _customItemValue;
    get customItemValue(): ItemValue;
    allowCustomChoices: boolean;
    customValue: string;
    searchEnabled: boolean;
    choicesLazyLoadEnabled: boolean;
    filterString: string;
    inputString: string;
    showInputFieldComponent: boolean;
    ariaActivedescendant: string;
    private applyInputString;
    private cleanHtml;
    protected fixInputCase(): void;
    protected applyHintString(): void;
    get inputStringRendered(): string;
    set inputStringRendered(val: string);
    get placeholderRendered(): any;
    get listElementId(): string;
    hasScroll: boolean;
    hintString: string;
    private get hintStringLC();
    private get inputStringLC();
    get showHintPrefix(): boolean;
    get hintStringPrefix(): string;
    get showHintString(): boolean;
    get hintStringSuffix(): string;
    get hintStringMiddle(): string;
    private questionPropertyChangedHandler;
    constructor(question: Question, onSelectionChanged?: (item: IAction, ...params: any[]) => void);
    get popupModel(): PopupModel;
    get inputAvailable(): boolean;
    get noTabIndex(): boolean;
    get filterReadOnly(): boolean;
    get filterStringEnabled(): boolean;
    get inputMode(): "none" | "text";
    setSearchEnabled(newValue: boolean): void;
    setAllowCustomChoices(newValue: boolean): void;
    setChoicesLazyLoadEnabled(newValue: boolean): void;
    updateItems(): void;
    onClick(event: any): void;
    chevronPointerDown(event: any): void;
    protected onPropertyChangedHandler(sender: any, options: any): void;
    protected focusItemOnClickAndPopup(): void;
    onClear(event: any): void;
    getSelectedAction(): ItemValue;
    changeSelectionWithKeyboard(reverse: boolean): void;
    protected beforeScrollToFocusedItem(focusedItem: ItemValue): void;
    protected afterScrollToFocusedItem(): void;
    keyHandler(event: any): void;
    protected onEscape(): void;
    onScroll(event: Event): void;
    onBlur(event: any): void;
    onFocus(event: any): void;
    setInputStringFromSelectedItem(newValue: any): void;
    dispose(): void;
    scrollToFocusedItem(): void;
}
