import { EventEmitter, OnInit, ElementRef, QueryList, AfterViewInit, SimpleChanges, OnChanges, Renderer2, OnDestroy } from '@angular/core';
import { ActiveDescendantKeyManager } from '@angular/cdk/a11y';
import { TlListItem } from './list-item/list-item';
import { TlInput } from '../input/input';
import { I18nService } from '../i18n/i18n.service';
import { ListItemInterface } from '../dropdownlist/interfaces/list-item';
import * as i0 from "@angular/core";
export declare class GroupList {
    description: string;
    items: Array<any>;
}
export declare class TlOverlayList implements OnInit, AfterViewInit, OnChanges, OnDestroy {
    private renderer;
    private i18n;
    set dataSource(data: any[]);
    get dataSource(): any[];
    searchOnList: boolean;
    itemHeight: string;
    inputModelIndex: any;
    optionSelected: any;
    typeOfData: any;
    keyText: string;
    groupBy: any;
    keyIcon: string;
    icon: any;
    defaultIcon: any;
    defaultOptionText: string;
    width: string;
    maxHeight: string;
    customInput: any;
    customFocus: any;
    hasDefaultOption: boolean;
    selectOption: EventEmitter<ListItemInterface>;
    defaultOption: EventEmitter<any>;
    search: EventEmitter<any>;
    findByLetter: EventEmitter<any>;
    close: EventEmitter<any>;
    list: ElementRef;
    tlInput: TlInput;
    defaultPlaceholder: ElementRef;
    items: QueryList<TlListItem>;
    keyManager: ActiveDescendantKeyManager<TlListItem>;
    notFound: boolean;
    groups: GroupList[];
    unGrouped: any[];
    searchText: string;
    private _datasource;
    private numberItems;
    private subscription;
    get emptyList(): string;
    constructor(renderer: Renderer2, i18n: I18nService);
    ngOnInit(): void;
    ngAfterViewInit(): void;
    getFilteredData(): void;
    existGroup(group: any): boolean;
    getTextContent(item: any): any;
    getItemsGroup(group: any): any[];
    handleCustomInputEvents(): void;
    handleEscape($event: any): void;
    handleInputFocus(): void;
    hasDataOnDataSource(): boolean;
    handleActiveItem(): void;
    setFirstItemActive(): void;
    setActiveItem(index: number): void;
    removeSelectedAll(): void;
    handleScrollIntoView(): void;
    handleInput($event: any): void;
    handleModelOption(): void;
    handleSearchByLetter($event: any): void;
    handleClickOption($event: any, item: TlListItem): void;
    defaultOptionClick(): void;
    stopEvent($event: any): void;
    emitSelectOption(): void;
    trackByFn(index: any): any;
    keydownSearch($event: any): void;
    setNotFound(): void;
    ngOnChanges(changes: SimpleChanges): void;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<TlOverlayList, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<TlOverlayList, "tl-overlay-list", never, { "dataSource": "datasource"; "searchOnList": "searchOnList"; "itemHeight": "itemHeight"; "inputModelIndex": "inputModelIndex"; "optionSelected": "optionSelected"; "typeOfData": "typeOfData"; "keyText": "keyText"; "groupBy": "groupBy"; "keyIcon": "keyIcon"; "icon": "icon"; "defaultIcon": "defaultIcon"; "defaultOptionText": "defaultOptionText"; "width": "width"; "maxHeight": "maxHeight"; "customInput": "customInput"; "customFocus": "customFocus"; "hasDefaultOption": "hasDefaultOption"; }, { "selectOption": "selectOption"; "defaultOption": "defaultOption"; "search": "search"; "findByLetter": "findByLetter"; "close": "close"; }, never, never, false, never>;
}
//# sourceMappingURL=overlay-list.d.ts.map