///
import { Subject, Observable } from 'rxjs';
import { services } from 'typescript-angular-utilities';
import __array = services.array;
import { IDataSourceOld } from './dataSource';
import { DataSourceBaseOld } from './dataSourceBaseOld.service';
import { IDataSourceProcessorOld } from './processor/dataSourceProcessorOld.service';
export { IDataSourceOld };
export interface IDataSetFunction {
(params: any): Promise | Observable;
}
export interface IAsyncDataSource extends IDataSourceOld {
reload(): any;
getDataSet: IDataSetFunction;
reloaded: Subject;
}
export declare class AsyncDataSource extends DataSourceBaseOld implements IAsyncDataSource {
protected synchronizedRequests: Subject>;
reloaded: Subject;
getDataSet: IDataSetFunction;
constructor(getDataSet: IDataSetFunction, dataSourceProcessor: IDataSourceProcessorOld, array: __array.IArrayUtility);
reload(): void;
protected resolveReload(data: TDataType[]): void;
protected getParams(): any;
}