import { DataSource, CollectionViewer } from '@angular/cdk/collections';
import { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';
import { Subscription, BehaviorSubject, Observable, Subject } from 'rxjs';
import { ILfSelectable } from '@laserfiche/lf-ui-components/shared';
/**
 * @internal
 */
export declare class GridSelectionListDataSource extends DataSource<any> {
    private viewport;
    private itemSize;
    pageSize: number;
    private _data;
    private readonly visibleData;
    checkForData: Subject<void>;
    indexChangeSub: Subscription;
    currentScrollIndex: number;
    dataStart: number;
    dataEnd: number;
    offset: number;
    offsetChange: BehaviorSubject<number>;
    extraData: number;
    bufferToEnd: number;
    get allData(): ILfSelectable[];
    set allData(data: ILfSelectable[]);
    private resetView;
    constructor(initialData: ILfSelectable[], viewport: CdkVirtualScrollViewport, itemSize: number, pageSize: number);
    connect(collectionViewer: CollectionViewer): Observable<any[] | ReadonlyArray<any>>;
    disconnect(collectionViewer: CollectionViewer): void;
}
