import { DataSource } from "@angular/cdk/table";
import { BehaviorSubject, Observable } from "rxjs";
import { MatPaginator, MatSort, MatSpinner } from "@angular/material";
import { IDataSource } from "../../../datasource/data-source";
import { DataSourceQuery } from "../../../datasource/data-source-query";
export declare class SearchMatTableDataSource extends DataSource<any> {
    private datasource;
    protected subject$: BehaviorSubject<any[]>;
    private orderby;
    private loading$;
    spinner: MatSpinner;
    protected lastQuery: DataSourceQuery;
    constructor(datasource: IDataSource);
    protected _paginator: MatPaginator;
    paginator: MatPaginator | null;
    protected _sort: MatSort;
    sort: MatSort | null;
    protected update(query: DataSourceQuery): void;
    /**
     * Subscribe to this observable if you want to be informed when the datasource is loading.
     */
    readonly loadingEvents: Observable<boolean>;
    search(query: DataSourceQuery): void;
    refresh(): void;
    reset(): void;
    clear(): void;
    connect(): BehaviorSubject<any[][]>;
    disconnect(): void;
}
