import { BehaviorSubject, Subject, Subscription } from 'rxjs'; import { MatTableDataSource } from '@angular/material/table'; import { DataSource } from '@angular/cdk/collections'; export interface TVSDataSource { dataToRender$: Subject; dataOfRange$: Subject; } export declare function isTVSDataSource(dataSource: unknown): dataSource is TVSDataSource; export declare class CdkTableVirtualScrollDataSource extends DataSource implements TVSDataSource { /** Stream that emits when a new data array is set on the data source. */ private readonly _data; /** Stream emitting render data to the table (depends on ordered data changes). */ private readonly _renderData; /** * Subscription to the changes that should trigger an update to the table's rendered rows, such * as filtering, sorting, pagination, or base data changes. */ _renderChangesSubscription: Subscription | null; /** Array of data that should be rendered by the table, where each object represents one row. */ get data(): T[]; set data(data: T[]); dataToRender$: Subject; dataOfRange$: Subject; private streamsReady; constructor(initialData?: T[]); _updateChangeSubscription(): void; connect(): BehaviorSubject; disconnect(): void; private initStreams; } export declare class TableVirtualScrollDataSource extends MatTableDataSource implements TVSDataSource { dataToRender$: Subject; dataOfRange$: Subject; private streamsReady; _updateChangeSubscription(): void; private initStreams; }