import { AfterContentInit, ChangeDetectorRef, ElementRef, Renderer2 } from '@angular/core';
import { TlDatatable } from '../../datatable';
import { TlDatatableDataSource } from '../../datatable-datasource.service';
export declare class TlDatatableScrollableMode implements AfterContentInit {
    private datatable;
    dataSourceService: TlDatatableDataSource;
    private renderer;
    private cd;
    listComponent: ElementRef;
    listBody: ElementRef;
    private bodyHeight;
    private quantityVisibleRows;
    private quantityInVisibleRows;
    private lastRowViewport;
    private firstRowViewport;
    private cursorViewPortPosition;
    private scrollTop;
    private lastScrollTop;
    private scrollDirection;
    private skip;
    private scrollLockAt;
    private lastRecordProcessed;
    private mouseClicked;
    private activeElement;
    private elementTR;
    private elementTD;
    constructor(datatable: TlDatatable, dataSourceService: TlDatatableDataSource, renderer: Renderer2, cd: ChangeDetectorRef);
    ngAfterContentInit(): void;
    onMouseDown(): void;
    onMouseUp(): void;
    onClick(event: any): void;
    onKeydown($event: any): void;
    private setProprertiesFromTable();
    private addListenerToDataSource();
    private addListenerToScroll();
    private firstRender();
    private handleKeyPageUp();
    private handleKeyPageDown();
    private handleKeyEnd(event);
    private handleKeyHome(event);
    private handleScrollDown();
    private handleScrollUp();
    private handleScrollFast();
    private renderPageData(skip, take);
    private renderList(lastRow, dataSource);
    private createElementTR(row, lastRow);
    private createElementsTD(row, dataSource);
    private removeChilds();
    private setlastRowViewport();
    private setScrollTop();
    private setLastScrollTop();
    private setScrollDirection();
    private isScrollDown();
    private addEventClickToListElement(row);
    private handleClickItem(item, index);
    private getCursorViewPortPosition();
    private handleKeyArrowDown();
    private handleKeyArrowUp();
    private setFocusInPreviousElement();
    private setFocusInNextElement();
    private setActiveElement();
    private setFocusWhenChangeData();
    private getFocusElementOnChangeData();
    private setFocus(htmlElement);
}
