import { EventEmitter, QueryList, SimpleChanges, TemplateRef } from '@angular/core';
import { Pager, colDef } from './modals';
import { SlotDirective } from './slot.directive';
import { DomSanitizer, SafeHtml } from '@angular/platform-browser';
import * as i0 from "@angular/core";
export declare class NgDataTableComponent {
    private sanitizer;
    loading: boolean;
    isServerMode: boolean;
    skin: string;
    totalRows: number;
    rows: Array<any>;
    columns: Array<colDef>;
    hasCheckbox: boolean;
    search: string;
    page: number;
    pageSize: number;
    pageSizeOptions: Array<number>;
    showPageSize: boolean;
    rowClass: string | Function;
    cellClass: string | Function;
    sortable: boolean;
    sortColumn: string;
    sortDirection: string;
    columnFilter: boolean;
    pagination: boolean;
    showNumbers: boolean;
    showNumbersCount: number;
    showFirstPage: boolean;
    showLastPage: boolean;
    firstArrow: string;
    lastArrow: string;
    nextArrow: string;
    previousArrow: string;
    paginationInfo: string;
    noDataContent: string;
    stickyHeader: boolean;
    height: string;
    stickyFirstColumn: boolean;
    cloneHeaderInFooter: boolean;
    selectRowOnClick: boolean;
    changeServer: EventEmitter<any>;
    sortChange: EventEmitter<any>;
    searchChange: EventEmitter<any>;
    pageChange: EventEmitter<any>;
    pageSizeChange: EventEmitter<any>;
    rowSelect: EventEmitter<any>;
    filterChange: EventEmitter<any>;
    rowClick: EventEmitter<any>;
    rowDBClick: EventEmitter<any>;
    filterItems: Array<any>;
    currentPage: number;
    currentPageSize: number;
    oldPageSize: number;
    currentSortColumn: string;
    oldSortColumn: string;
    currentSortDirection: string;
    oldSortDirection: string;
    filterRowCount: number;
    selectedAll: any;
    currentLoader: boolean;
    currentSearch: string;
    oldColumns: colDef[];
    uniqueKey: string;
    constructor(sanitizer: DomSanitizer);
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    initDeafultValues(): void;
    props: any;
    get getProps(): {
        loading: boolean;
        isServerMode: boolean;
        skin: string;
        totalRows: number;
        rows: any[];
        columns: colDef[];
        hasCheckbox: boolean;
        search: string;
        page: number;
        pageSize: number;
        pageSizeOptions: number[];
        showPageSize: boolean;
        rowClass: string | Function;
        cellClass: string | Function;
        sortable: boolean;
        sortColumn: string;
        sortDirection: string;
        columnFilter: boolean;
        pagination: boolean;
        showNumbers: boolean;
        showNumbersCount: number;
        showFirstPage: boolean;
        showLastPage: boolean;
        firstArrow: string;
        lastArrow: string;
        nextArrow: string;
        previousArrow: string;
        paginationInfo: string;
        noDataContent: string;
        stickyHeader: boolean;
        height: string;
        stickyFirstColumn: boolean;
        cloneHeaderInFooter: boolean;
        selectRowOnClick: boolean;
    };
    isFunction(value: any): value is Function;
    stringFormat(): string;
    setUniqueKey(): void;
    maxPage(): number;
    offset(): number;
    limit(): number;
    pager: Pager;
    getPager(): Pager;
    setPager(): void;
    filterRows(): void;
    movePage(page?: number): void;
    changeRows(): void;
    changePageSize(): void;
    sortChangeMethod(field: string, dir?: string): void;
    header1: any;
    header2: any;
    checkboxChange(): void;
    selectAll(checked: any, isAll?: boolean): void;
    checkIfAllSelected(): void;
    filterChangeMethod(): void;
    changeSearch(): void;
    cellValue(item: any, field?: string): any;
    dateFormat(date: any): string;
    timer: any;
    delay: number;
    onRowClick(item: any, index: number): void;
    onRowDoubleClick(item: any): void;
    changeForServer(changeType: string, isResetPage?: boolean): void;
    setDefaultCondition(): void;
    reset(): void;
    getSelectedRows(): any[];
    getColumnFilters(): colDef[];
    clearSelectedRows(): void;
    selectRow(index: number): void;
    unselectRow(index: number): void;
    isRowSelected(index: number): boolean;
    trackFilterItems(index: number, item: any): any;
    slots: QueryList<SlotDirective>;
    defaultTemplate: TemplateRef<any>;
    slotsMap: Map<string, TemplateRef<any>>;
    ngAfterContentInit(): void;
    hasSlot(fieldName?: string): boolean;
    getSlot(fieldName?: string): TemplateRef<any>;
    sanitizeHtml(html: string): SafeHtml;
    noReact(value: any): any;
    getRange(size: number): number[];
    static ɵfac: i0.ɵɵFactoryDeclaration<NgDataTableComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<NgDataTableComponent, "ng-datatable", never, { "loading": "loading"; "isServerMode": "isServerMode"; "skin": "skin"; "totalRows": "totalRows"; "rows": "rows"; "columns": "columns"; "hasCheckbox": "hasCheckbox"; "search": "search"; "page": "page"; "pageSize": "pageSize"; "pageSizeOptions": "pageSizeOptions"; "showPageSize": "showPageSize"; "rowClass": "rowClass"; "cellClass": "cellClass"; "sortable": "sortable"; "sortColumn": "sortColumn"; "sortDirection": "sortDirection"; "columnFilter": "columnFilter"; "pagination": "pagination"; "showNumbers": "showNumbers"; "showNumbersCount": "showNumbersCount"; "showFirstPage": "showFirstPage"; "showLastPage": "showLastPage"; "firstArrow": "firstArrow"; "lastArrow": "lastArrow"; "nextArrow": "nextArrow"; "previousArrow": "previousArrow"; "paginationInfo": "paginationInfo"; "noDataContent": "noDataContent"; "stickyHeader": "stickyHeader"; "height": "height"; "stickyFirstColumn": "stickyFirstColumn"; "cloneHeaderInFooter": "cloneHeaderInFooter"; "selectRowOnClick": "selectRowOnClick"; }, { "changeServer": "changeServer"; "sortChange": "sortChange"; "searchChange": "searchChange"; "pageChange": "pageChange"; "pageSizeChange": "pageSizeChange"; "rowSelect": "rowSelect"; "filterChange": "filterChange"; "rowClick": "rowClick"; "rowDBClick": "rowDBClick"; }, ["slots"], never, false, never>;
}
