import { OnInit, OnDestroy } from '@angular/core';
import { E5coreUiSearchResultsBaseComponent } from './e5core-ui-search-results-base';
import { PageEvent, MatSort, MatPaginator } from '@angular/material';
import { SearchMatTableDataSource } from './search-material-table-data-source';
import { SearchDataSourceService } from '../../../datasource/search-data-source.service';
import { DataSourceColumn } from '../../../datasource/data-source-column';
import { DataSourceQuery } from '../../../datasource/data-source-query';
export interface ColumnDef {
    name: string;
    label: string;
    type: string;
    status: number;
    cell(row: any[]): string;
}
export declare class E5coreUiSearchResultsMaterialComponent extends E5coreUiSearchResultsBaseComponent implements OnInit, OnDestroy {
    private searchService;
    tableDataSource: SearchMatTableDataSource;
    isEmpty: boolean;
    length: number;
    pageSize: number;
    pageSizeOptions: number[];
    findClassId: number;
    loading: boolean;
    delayedQuery: DataSourceQuery;
    headings: DataSourceColumn[];
    pageEvent: PageEvent;
    sort: MatSort;
    paginator: MatPaginator;
    constructor(searchService: SearchDataSourceService);
    ngOnInit(): void;
    ngOnDestroy(): void;
    setPageSizeOptions(setPageSizeOptionsInput: string): void;
    /**
     * Return the list of columns available in the table.
     */
    columns(): ColumnDef[];
    /**
     * Return the list of column names that will be displayed in the table.
     */
    displayedColumns(): string[];
    search(query: DataSourceQuery): void;
    reset(): void;
    refresh(): void;
}
