import { Observable, BehaviorSubject, Subscription } from 'rxjs'; import { IDataSource } from './dataSource'; import { IProcessResult } from './processor/dataSourceProcessor'; import { SortManagerService } from '../sorts/index'; import { IFilter } from '../filters/index'; import { IDataPager } from '../paging/index'; export declare class DataSourceBase implements IDataSource { sorter: SortManagerService; filters: IFilter[]; pager: IDataPager; countFilterGroups: boolean; protected _dataSet: BehaviorSubject; protected _filteredDataSet: BehaviorSubject; protected _rawDataSet: BehaviorSubject; protected _count: BehaviorSubject; protected _isEmpty: BehaviorSubject; protected _loadingDataSet: BehaviorSubject; protected subscription: Subscription; constructor(); readonly dataSet$: Observable; readonly filteredDataSet$: Observable; readonly rawDataSet$: Observable; readonly count$: Observable; readonly loadingDataSet$: Observable; readonly needsRefinedSearch$: Observable; readonly isEmpty$: Observable; init(): void; clear(): void; processData(): void; processDataNoClientFilters(): void; setProcessedData(processedData: IProcessResult): void; add(data: TDataType): void; remove(data: TDataType): void; replace(oldData: TDataType, newData: TDataType): void; }