import { CollectionViewer, DataSource } from '@angular/cdk/collections';
import { Observable } from 'rxjs';
import { TlDatatable } from '../datatable';
import { SimpleChanges } from '@angular/core';
export declare class DatatableDataSource extends DataSource<object | undefined> {
    private _recordsCount;
    private _pageSize;
    private _cachedData;
    private _dataStream;
    private _fetchedPages;
    private _subscription;
    private filterService;
    private sortService;
    private datatable;
    private currentPage;
    private navigating;
    get isEmpty(): boolean;
    constructor(datatable: TlDatatable);
    connect(collectionViewer: CollectionViewer): Observable<(object | undefined)[] | ReadonlyArray<object | undefined>>;
    disconnect(collectionViewer: CollectionViewer): void;
    setNavigating(navigate: any): void;
    changes(changes: SimpleChanges): void;
    private onFilter;
    private onSort;
    private _getPageForIndex;
    private viewData;
    private fetchPage;
    private dispatchData;
    private emitLoadData;
    private isInfinite;
    private isInMemory;
}
