import { Observable, BehaviorSubject } from 'rxjs'; import { IServerSearchFunction, IServerSearchParams, IDataResult } from '../asyncTypes'; import { IFilter } from '../../filters/index'; import { DataSourceBase } from '../dataSourceBase.service'; import { ISort } from '../../sorts/sort'; export declare const defaultDebounce = 1000; export declare class SmartDataSource extends DataSourceBase { throttled$: BehaviorSubject; private filters$; getDataSet: IServerSearchFunction; constructor(getDataSet: IServerSearchFunction); init(): void; filters: IFilter[]; initialRequest(filters$: Observable[]>, sorts$: Observable): Observable; toRequestStream(throttled$: Observable, filters$: Observable[]>, sorts$: Observable): Observable; startLoading(): void; resolveReload(data: IDataResult): void; }