import { AfterViewInit, ChangeDetectorRef, EventEmitter, OnChanges, OnDestroy, QueryList, Renderer2, SimpleChanges, TemplateRef } from '@angular/core';
import { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';
import { ListBase } from './classes/list-base';
import { FormControl } from '@angular/forms';
import { DataSourceList } from '../core/classes/datasource-list';
import { I18nService } from '../i18n/i18n.service';
import { TlItemSelectedDirective } from '../core/directives/itemSelected/item-selected.directive';
export declare class TlListBox extends ListBase implements AfterViewInit, OnDestroy, OnChanges {
    private renderer;
    private change;
    private i18nService;
    set data(value: any[]);
    get data(): any[];
    rowHeight: number;
    template: TemplateRef<any>;
    templateNotFound: TemplateRef<any>;
    set inputElement(value: any);
    get inputElement(): any;
    keyText: string;
    color: string;
    loading: boolean;
    searchControl: FormControl;
    height: string;
    debounceTime: number;
    searchBy: any;
    nothingFoundMessage: string;
    totalLength: number;
    rowsPage: number;
    selectOnInitialize: boolean;
    lazyMode: boolean;
    clickItem: EventEmitter<any>;
    selectItem: EventEmitter<any>;
    cdkVirtualScroll: CdkVirtualScrollViewport;
    listItems: QueryList<TlItemSelectedDirective>;
    private subscription;
    private _data;
    private _inputElement;
    dataSource: DataSourceList;
    nothingFound: boolean;
    constructor(renderer: Renderer2, change: ChangeDetectorRef, i18nService: I18nService);
    ngAfterViewInit(): void;
    private handleListeners;
    private getElementTarget;
    private initializeListBox;
    private setScrollTop;
    select(index: number): void;
    setSelected(item: TlItemSelectedDirective): void;
    onKeyEnter(): void;
    onClickItem(item: any): void;
    private setItemsByRowSet;
    private setItemsByScroll;
    private setContainer;
    private setScrollVirtual;
    private setUpData;
    onScroll(): void;
    onWheel(): void;
    onFilter($event: any): void;
    private getItemByIndex;
    private setScrollTopItem;
    private setLastScrollTop;
    private setScrollBottomItem;
    private setInputFocus;
    private setActiveItem;
    handleKeyArrowUp($event: any): void;
    handleKeyArrowDown($event: any): void;
    private isScrollDown;
    ngOnChanges({ data }: SimpleChanges): void;
    ngOnDestroy(): void;
}
