import { AfterContentInit, ChangeDetectorRef, ElementRef, EventEmitter, NgZone, OnInit, QueryList, TemplateRef } from '@angular/core';
import { TableService } from './data-table.service';
import { TemplateNameDirective } from './shared';
export declare class DataTableComponent implements OnInit, AfterContentInit {
    el: ElementRef;
    zone: NgZone;
    tableService: TableService;
    cd: ChangeDetectorRef;
    constructor(el: ElementRef, zone: NgZone, tableService: TableService, cd: ChangeDetectorRef);
    /** @prop set the data for the table */
    data: any[];
    /** @prop set the column's header and field data */
    columns: any[];
    /** @prop number of records in data set | 0 */
    dataCount: number;
    /** @prop sets field being sorted on */
    sortField: string;
    /** @prop set the sort order, used with sort icons on header | 1 */
    sortOrder: number;
    /** @prop get the row number of which virtual scroll starts load  */
    first: number;
    selection: any;
    /** @prop set the css class on the wrapper container div | '' */
    containerClass: string;
    /** @prop sets the table columns to allow for resize | false */
    resizableColumns: boolean;
    /** @prop set css class on table element | '' */
    tableClass: string;
    /** @prop provide inline style to table */
    tableStyle: Object;
    /** @prop provide inline style to container div */
    containerStyle: Object;
    /** @prop start of table in ascending or descending order || 1 */
    defaultSortOrder: number;
    /** @prop allow the table body to be scrollable | false */
    scrollable: boolean;
    /** @prop set the scroll height of the table | '' */
    scrollHeight: string;
    /** @prop sets the number of visible rows to show when virtual scrolling after load */
    visibleRows: number;
    /** @prop sets lazy load mode for small sections of data to load instead of entire data | false */
    lazy: boolean;
    /** @prop sets virtual scroll on the data table | false */
    virtualScroll: boolean;
    /** @prop set the setTimeout delay in handling virtual scroll | 150 */
    virtualScrollDelay: number;
    /** @prop set the virtual row height */
    virtualRowHeight: number;
    /** @prop sets the widths of the table and its cells to fit for the content | false */
    autoLayout: boolean;
    /** @prop dataKey can be used to find rowData from selection, otherwise findIndex will run */
    dataKey: string;
    /** @prop allows for row selection click \ false */
    rowSelection: boolean;
    /**@prop show column dividers css border | false */
    columnDividers: boolean;
    /**@prop emit function after column sort */
    afterSort: EventEmitter<any>;
    /**@prop emit function after column resize end */
    afterColResize: EventEmitter<any>;
    /**@prop  emit function triggering load data*/
    lazyLoad: EventEmitter<any>;
    /**@prop emit function when toggling header checkbox */
    headerCheckboxToggle: EventEmitter<any>;
    /**@prop emit function when checked selection changes */
    selectionChange: EventEmitter<any>;
    /**@prop emit function when row is checked */
    rowCheck: EventEmitter<any>;
    /**@prop emit funciton when row is unchecked */
    rowUncheck: EventEmitter<any>;
    /**@prop emit function when table row is selected  */
    rowSelect: EventEmitter<any>;
    /**@prop emit function when table row is unselected */
    rowUnselect: EventEmitter<any>;
    containerViewChild: ElementRef;
    resizeHelperViewChild: ElementRef;
    tableViewChild: ElementRef;
    templates: QueryList<TemplateNameDirective>;
    _data: any[];
    _columns: any[];
    _dataCount: number;
    headerTemplate: TemplateRef<any>;
    bodyTemplate: TemplateRef<any>;
    colGroupTemplate: TemplateRef<any>;
    _sortField: string;
    _sortOrder: number;
    resizerX: number;
    _first: number;
    virtualScrollCb: Function;
    virtualScrollTimer: any;
    initialized: boolean;
    _selection: any;
    selectionKeys: any;
    preventPropagation: boolean;
    rowTrackBy: Function;
    ngOnInit(): void;
    ngAfterContentInit(): void;
    isColumnSorted(field: string): boolean;
    sort(event: any): void;
    applySort(): void;
    onColumnResizeStart(event: any): void;
    onColumnResize(event: any): void;
    onColumnResizeEnd(event: any, column: any): void;
    findParentScrollableView(column: any): any;
    resizeColumnGroup(tableSection: any, resizeColumnIndex: any, newColumnWidth: any, nextColumnWidth: any): void;
    handleVirtualScroll(event: any): void;
    createLazyData(): any;
    updateSelectionKeys(): void;
    isSelected(rowData: any): boolean;
    toggleRowsWithCheckbox(event: Event, check: boolean): void;
    toggleRowWithCheckbox(event: any, rowData: any): void;
    handleRowClick(event: any): void;
}
export declare class TableBodyComponent {
    dt: DataTableComponent;
    columns: any;
    bodyTemplate: TemplateRef<any>;
    constructor(dt: DataTableComponent);
}
