import { AfterContentInit, SimpleChanges, ChangeDetectorRef, OnChanges } from '@angular/core';
import { CdkTable } from '@angular/cdk/table';
import { SimpleTableColumn, SimpleTableActionColumn, SimpleTablePaginationOptions, SimpleTableSearchOptions } from './interfaces';
import { ActivityTableService, ActivityTableDataSource } from './table-source';
import { NovoLabelService } from '../../services/novo-label-service';
import { NovoActivityTableState } from './state';
/** Workaround for https://github.com/angular/angular/issues/17849 */
export declare const _NovoTable: typeof CdkTable;
export declare class NovoTable<T> extends _NovoTable<T> {
}
export declare class NovoActivityTableActions {
}
export declare class NovoActivityTableEmptyMessage {
}
export declare class NovoActivityTableNoResultsMessage {
}
export declare class NovoActivityTable<T> implements AfterContentInit, OnChanges {
    labels: NovoLabelService;
    private ref;
    state: NovoActivityTableState;
    globalSearchHiddenClassToggle: boolean;
    activityService: ActivityTableService<T>;
    columns: SimpleTableColumn<T>[];
    displayedColumns: string[];
    actionColumns: SimpleTableActionColumn<T>[];
    paginationOptions: SimpleTablePaginationOptions;
    searchOptions: SimpleTableSearchOptions;
    defaultSort: {
        id: string;
        value: string;
    };
    hideGlobalSearch: boolean;
    private _hideGlobalSearch;
    debug: boolean;
    private _debug;
    dataSource: ActivityTableDataSource<T>;
    loading: boolean;
    readonly empty: boolean;
    readonly loadingClass: boolean;
    constructor(labels: NovoLabelService, ref: ChangeDetectorRef, state: NovoActivityTableState);
    ngOnChanges(changes: SimpleChanges): void;
    ngAfterContentInit(): void;
    onSearchChange(term: string): void;
}
