import { CollectionViewer, DataSource } from '@angular/cdk/collections';
import { IResultList } from '@c8y/client';
import { Observable } from 'rxjs';
import { DataSourceStats } from './data-grid.model';
export declare class GridDataSource implements DataSource<object> {
    loading$: Observable<boolean>;
    data$: Observable<object[]>;
    stats$: Observable<DataSourceStats>;
    selection$: Observable<any>;
    resultList$: Observable<IResultList<object>>;
    private loadingSubject;
    private dataSourceSubject;
    private dataStatsSubject;
    private dataSelectionSubject;
    private resultListSubject;
    constructor();
    connect(_collectionViewer: CollectionViewer): Observable<object[]>;
    disconnect(_collectionViewer: CollectionViewer): void;
    loadData({ rows, columns, pagination, searchText, serverSideDataCallback, selectable, selectionPrimaryKey, infiniteScroll, reload }: {
        rows: any;
        columns: any;
        pagination: any;
        searchText: any;
        serverSideDataCallback: any;
        selectable: any;
        selectionPrimaryKey: any;
        infiniteScroll: any;
        reload?: boolean;
    }): void;
    resolveValue(x: any, path: any): any;
    resolveFunction(x: any): any;
    normalizeNil(x: any): any;
    private doClientSideFiltering;
    private doClientSideSearch;
    private doClientSideSorting;
    private doClientSidePagination;
    private createRegexSearch;
}
//# sourceMappingURL=grid-data-source.d.ts.map