import { OnInit, EventEmitter, ChangeDetectorRef, ElementRef } from '@angular/core';
import { MatTableDataSource } from '@angular/material/table';
import { MatPaginator } from '@angular/material/paginator';
import { MatSort } from '@angular/material/sort';
import { MatSnackBar } from '@angular/material/snack-bar';
import { SelectionModel } from '@angular/cdk/collections';
import * as i0 from "@angular/core";
export interface AppTableColumn {
    field: string;
    title: string;
}
export declare class BkAngularTableComponent implements OnInit {
    private changeDetectorRef;
    private snackBar;
    private elementRef;
    displayedColumns: any;
    dataSource: any;
    multiSelect: boolean;
    columnClass: string;
    selectedRow$: EventEmitter<any>;
    pagination$: EventEmitter<any>;
    paginator: MatPaginator;
    sort: MatSort;
    searchField: ElementRef<HTMLElement>;
    hasSelect: boolean;
    rowTabIndex: number;
    shown_columns: any;
    shown_columns_multi: string[];
    shown_titles: any;
    selectedRow: any;
    selection: SelectionModel<any>;
    tableDS: MatTableDataSource<unknown, import("@angular/material/table").MatTableDataSourcePaginator>;
    wildcardStatus: boolean;
    tableSettings: any;
    searchParam: string;
    elementSelector: any;
    pathNames: any[];
    pathName: string;
    sessionStorageName: any;
    constructor(changeDetectorRef: ChangeDetectorRef, snackBar: MatSnackBar, elementRef: ElementRef);
    ngOnInit(): 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;
    onSelectRow(row: any, emit?: boolean): void;
    tableKeydown(event: KeyboardEvent): void;
    applyFilter(filterValue: any): void;
    ngAfterViewInit(): void;
    onTablePage(event: any): void;
    setTableSettings(): void;
    getTableSettings(): void;
    getTableSettingsOnPathName(): any;
    static ɵfac: i0.ɵɵFactoryDeclaration<BkAngularTableComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<BkAngularTableComponent, "bk-angular-table", never, { "displayedColumns": { "alias": "displayedColumns"; "required": false; }; "dataSource": { "alias": "dataSource"; "required": false; }; "columnClass": { "alias": "columnClass"; "required": false; }; }, { "selectedRow$": "selectedRow$"; "pagination$": "pagination$"; }, never, never, false, never>;
}
