import { AfterContentInit, ElementRef, EventEmitter, OnChanges, OnInit, QueryList, Renderer2 } from '@angular/core';
import { TlDatatableColumn } from './datatable-column';
import { DatatableFilterOptions } from './datatable-filter-options';
import { DataMetadata } from '../core/types/datametadata';
import { TlDatatableFilterService } from './datatable-filter.service';
import { TlDatatableDataSource } from './datatable-datasource.service';
export declare class TlDatatable implements AfterContentInit, OnInit, OnChanges {
    private render;
    private filterService;
    private dataSourceService;
    data: DataMetadata | Array<any>;
    mode: string;
    lazy: boolean;
    rowsPage: number;
    rowHeight: number;
    rowsClient: number;
    height: number;
    globalFilter: any;
    globalFilterOptions: DatatableFilterOptions;
    rowSelect: EventEmitter<any>;
    rowClick: EventEmitter<any>;
    rowDblclick: EventEmitter<any>;
    pageChange: EventEmitter<any>;
    lazyLoad: EventEmitter<any>;
    endRow: EventEmitter<any>;
    datatableColumns: QueryList<TlDatatableColumn>;
    tbody: ElementRef;
    loading: boolean;
    columns: any[];
    tabindex: number;
    globalFilterTimeout: any;
    rowHeightCalculated: number;
    totalRows: number;
    constructor(render: Renderer2, filterService: TlDatatableFilterService, dataSourceService: TlDatatableDataSource);
    ngOnInit(): void;
    ngAfterContentInit(): void;
    ngOnChanges(changes: any): void;
    setColumns(): void;
    setTabIndex(value: number): void;
    getColumnsFromDataSource(): void;
    getColumnsFromContentChield(): void;
    getClassAlignment(alignment: string): string;
    getObjectRow(row: any, index: any): {
        data: any;
        index: any;
    };
    exitsColumns(): string;
    buildNewDataTableColumn(field: any): TlDatatableColumn;
    onRowClick(row: any, index: any): void;
    onRowSelect(row: any, index: any): void;
    onRowDblclick(row: any, index: any): void;
    inicializeGlobalFilter(): void;
    filter(value: any): void;
    calcHeightRowTable(): void;
    setHeightRowTable(): void;
}
