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 { UntypedFormControl } 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';
import * as i0 from "@angular/core";
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: UntypedFormControl;
    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;
    static ɵfac: i0.ɵɵFactoryDeclaration<TlListBox, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<TlListBox, "tl-listbox", never, { "data": "data"; "rowHeight": "rowHeight"; "template": "template"; "templateNotFound": "templateNotFound"; "inputElement": "inputElement"; "keyText": "keyText"; "color": "color"; "loading": "loading"; "searchControl": "searchControl"; "height": "height"; "debounceTime": "debounceTime"; "searchBy": "searchBy"; "nothingFoundMessage": "nothingFoundMessage"; "totalLength": "totalLength"; "rowsPage": "rowsPage"; "selectOnInitialize": "selectOnInitialize"; "lazyMode": "lazyMode"; }, { "clickItem": "clickItem"; "selectItem": "selectItem"; }, never, never, false, never>;
}
//# sourceMappingURL=listbox.d.ts.map