import { ElementRef, OnChanges, EventEmitter, ChangeDetectorRef, SimpleChanges, OnInit } from '@angular/core';
import { NgControl } from '@angular/forms';
import { DropdownConfig } from './interfaces/dropdown.config';
import { ListItemInterface } from './interfaces/list-item';
import { ValueAccessorBase } from '../input/core/value-accessor';
export declare class TlDropDownList extends ValueAccessorBase<any> implements OnInit, OnChanges {
    private changes;
    ngControl: NgControl;
    set data(data: any[]);
    get data(): any[];
    keyText: any;
    icon: any;
    label: string;
    debounceTime: number;
    disabled: boolean;
    labelPlacement: string;
    labelSize: string;
    itemHeight: string;
    keyValue: any;
    maxHeight: string;
    identifier: any;
    defaultOption: boolean;
    groupBy: any;
    width: string;
    placeholder: string;
    modelMode: 'string' | 'object';
    searchOnList: boolean;
    selectItem: EventEmitter<any>;
    input: ElementRef;
    typeOfData: string;
    selectedDescription: string;
    _data: any;
    indexOptionSelectedModel: any;
    optionSelected: any;
    isOpen: boolean;
    datasource: any[];
    isLoading: boolean;
    constructor(dropdownConfig: DropdownConfig, changes: ChangeDetectorRef, ngControl: NgControl);
    get control(): import("@angular/forms").AbstractControl;
    ngOnInit(): void;
    setControl(): void;
    onSearch(searchTextValue: any): void;
    getItemText(item: any): any;
    onKeyDown($event: any): void;
    handleEscape($event: any): void;
    getNativeInput(): any;
    onFindByLetter(value: string): void;
    onSelectOption($event: ListItemInterface): void;
    onDefaultOption(): void;
    private isModelModeString;
    handleOpenList($event: any): void;
    onBackdropClick(): void;
    private initializeComponent;
    private setUpComponent;
    private validateData;
    handleCloseDropdown(): void;
    private setInputFocus;
    private isSimpleData;
    private listenModelChange;
    private handleKeyModelValue;
    private getModelValue;
    private setOptions;
    private getCompareModel;
    private getCompare;
    private getDescription;
    private handleSelectInLetter;
    private stopEvent;
    private selectByFirst;
    private getKeyInputLowerCase;
    private getFirstLetterOfItem;
    ngOnChanges({ data }: SimpleChanges): void;
}
