import { OnInit, EventEmitter, OnChanges, SimpleChanges, AfterViewInit } from "@angular/core";
import { SelectionModel } from "@angular/cdk/collections";
import { MatMenuTrigger } from '@angular/material/menu';
import { MatSort } from '@angular/material/sort';
import { DataTable } from './data-table.model';
import * as i0 from "@angular/core";
export declare class DataTableComponent implements OnInit, OnChanges, AfterViewInit {
    trigger: MatMenuTrigger;
    data: any;
    config: DataTable;
    selection: SelectionModel<any>;
    action: EventEmitter<any>;
    selctionChange: EventEmitter<any>;
    rowClick: EventEmitter<any>;
    tableScroll: EventEmitter<any>;
    sortChanged: EventEmitter<any>;
    page: number;
    lastPage: number;
    perPage: number;
    sort: MatSort;
    static nextId: number;
    elementId: string;
    constructor();
    ngOnInit(): void;
    /**Life cycle hook method */
    ngAfterViewInit(): void;
    /** Whether the number of selected elements matches the total number of rows. */
    isAllSelected(): boolean;
    /** Selects all rows if they are not all selected; otherwise clear selection. */
    masterToggle(): void;
    /**clear selection*/
    clearSelection(): void;
    ngOnChanges(changes: SimpleChanges): void;
    initializeConfig(changes: SimpleChanges): void;
    onScroll(): void;
    /**Method invokes when edit action icon is clickes */
    editClicked(event: any, element: any): void;
    /**Method invokes when view action icon is clickes */
    viewClicked(event: any, element: any): void;
    /**Method invokes when edit action icon is clickes */
    deactivateClicked(event: any, element: any): void;
    /**Method invokes when download action icon is clickes */
    downloadClicked(event: any, element: any): void;
    /**Method invokes when print action icon is clickes */
    printClicked(event: any, element: any): void;
    /**Method invokes when a row is clicked */
    rowClicked(event: any, element: any): void;
    /**Method invokes when menu action icon is hovered */
    actionMenuClick(event: any, element: any, menuValue: string): void;
    /**Method invokes when menu action icon is hovered and selects for particular action*/
    actionMenuTriggerClick(event: any, trigger: MatMenuTrigger): void;
    checkEdit(ele: any): any;
    checkView(ele: any): any;
    checkPrint(ele: any): any;
    checkActions(ele: any): any;
    checkActionButton(ele: any, value: any): any;
    getValue(ele: any, keyString: string): any;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<DataTableComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DataTableComponent, "app-data-table", never, { "data": { "alias": "data"; "required": false; }; "config": { "alias": "config"; "required": false; }; "selection": { "alias": "selection"; "required": false; }; "elementId": { "alias": "elementId"; "required": false; }; }, { "action": "action"; "selctionChange": "selctionChange"; "rowClick": "rowClick"; "tableScroll": "tableScroll"; "sortChanged": "sortChanged"; }, never, never, false, never>;
}
