import { EventEmitter, IterableDiffers, OnInit } from '@angular/core';
import { NgModel } from '@angular/forms';
import { ElementBase } from '../../base/element-base';
import { AsyncValidatorArray, ValidatorArray } from '../../base/validate';
import { InputFormsConfig } from '../../input-forms-config';
import * as i0 from "@angular/core";
export declare class FilterDropdownSearchComponent extends ElementBase<any> implements OnInit {
    config: InputFormsConfig;
    private iterableDiffers;
    private _lastModelInitialized;
    private _differData;
    private _data;
    showDropdown: boolean;
    comboTouched: boolean;
    loading: boolean;
    modelInitialized: boolean;
    clickOutsideEnabled: boolean;
    search: string;
    selectedDisplayText: string;
    internalData: Array<any>;
    searchCounter: number;
    selectedItemIndex: number;
    model: NgModel;
    placeholder: string;
    searchPlaceholder: string;
    emptyResultsMessage?: string;
    clearSelectionButtonLabel: string;
    displayTextProperty: string;
    valueProperty: string;
    lazyLoadedData: boolean;
    minCharsToSearch: number;
    dropRight: boolean;
    onChange: EventEmitter<any>;
    onSearch: EventEmitter<string>;
    get data(): Array<any>;
    set data(value: Array<any>);
    identifier: string;
    constructor(validators: ValidatorArray, asyncValidators: AsyncValidatorArray, config: InputFormsConfig, iterableDiffers: IterableDiffers);
    ngOnInit(): void;
    ngDoCheck(): void;
    Init(): void;
    ToggleDropDown(event: MouseEvent, value?: boolean): void;
    Select(row: any): void;
    OnSearch(): void;
    ClearSelection(e?: any): void;
    SetLoading(value: boolean): void;
    OnArrowsPressed(event: KeyboardEvent): void;
    OnComboPressed(event: KeyboardEvent): void;
    private handleOptionsScrollerDown;
    private handleOptionsScrollerUp;
    private handleArrows;
    private setSelectedItemByTheCurrentModelValue;
    private filterData;
    private clearSearch;
    private clearSearchResults;
    private setComboTouched;
    private renderPropertyValue;
    static ɵfac: i0.ɵɵFactoryDeclaration<FilterDropdownSearchComponent, [{ optional: true; }, { optional: true; }, null, null]>;
    static ɵcmp: i0.ɵɵComponentDeclaration<FilterDropdownSearchComponent, "filter-dropdown-search", never, { "placeholder": "placeholder"; "searchPlaceholder": "searchPlaceholder"; "emptyResultsMessage": "emptyResultsMessage"; "clearSelectionButtonLabel": "clearSelectionButtonLabel"; "displayTextProperty": "displayTextProperty"; "valueProperty": "valueProperty"; "lazyLoadedData": "lazyLoadedData"; "minCharsToSearch": "minCharsToSearch"; "dropRight": "dropRight"; "data": "data"; }, { "onChange": "onChange"; "onSearch": "onSearch"; }, never, never, false, never>;
}
