import { OnInit, EventEmitter } from '@angular/core';
import { MatPaginator } from '@angular/material/paginator';
import { MatDialog } from '@angular/material/dialog';
import { DataSource } from '@angular/cdk/table';
import { MdtMultiSort } from './multi-sort/multi-sort.directive';
import { ColumnConfig } from './column-config.model';
import { ColumnFilterService } from './table-cell/cell-types/column-filter.service';
import * as i0 from "@angular/core";
export declare class DynamicTableComponent implements OnInit {
    private readonly columnFilterService;
    private readonly dialog;
    columns: ColumnConfig[];
    dataSource: DataSource<any>;
    pageSize: number;
    pageSizeOptions: number[];
    showFilters: boolean;
    stickyHeader: boolean;
    multiSort: boolean;
    hintDelay: number;
    paginator: MatPaginator;
    rowClick: EventEmitter<any>;
    displayedColumns: string[];
    sort: MdtMultiSort;
    private internalPaginator;
    private appliedFilters;
    isDialogOpen: boolean;
    constructor(columnFilterService: ColumnFilterService, dialog: MatDialog);
    ngOnInit(): void;
    isUsingInternalPaginator(): boolean;
    canFilter(column: ColumnConfig): boolean;
    isFiltered(column: ColumnConfig): any;
    getFilterDescription(column: ColumnConfig): any;
    prepareColumnName(name: string | undefined, columnNumber: number): string;
    onFilterClick(event: Event, column: ColumnConfig): void;
    filter(column: ColumnConfig): void;
    clearFilters(): void;
    protected updateDataSource(): void;
    getFilters(): any[];
    getFilter(columnName: string): any;
    setFilter(columnName: string, filter: any): void;
    getSort(): {
        id: string;
        direction: "asc" | "desc";
    }[];
    setSort(sortedBy: {
        id: string;
        direction: 'asc' | 'desc';
    }[]): void;
    private getColumnByName;
    onRowClick(row: any): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<DynamicTableComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DynamicTableComponent, "mdt-dynamic-table", never, { "columns": { "alias": "columns"; "required": false; }; "dataSource": { "alias": "dataSource"; "required": false; }; "pageSize": { "alias": "pageSize"; "required": false; }; "pageSizeOptions": { "alias": "pageSizeOptions"; "required": false; }; "showFilters": { "alias": "showFilters"; "required": false; }; "stickyHeader": { "alias": "stickyHeader"; "required": false; }; "multiSort": { "alias": "multiSort"; "required": false; }; "hintDelay": { "alias": "hintDelay"; "required": false; }; "paginator": { "alias": "paginator"; "required": false; }; }, { "rowClick": "rowClick"; }, never, never, false, never>;
}
