///
import { Observable } from 'rxjs';
import { services } from 'typescript-angular-utilities';
import __array = services.array;
import __object = services.object;
import __genericSearchFilter = services.genericSearchFilter;
import { IAsyncDataSource, AsyncDataSource } from '../asyncDataSource.service';
import { IDataSourceProcessorOld } from '../processor/dataSourceProcessorOld.service';
export interface IClientServerDataSource extends IAsyncDataSource {
getFilterModel: IGetFilterModel;
validateModel: IValidateFilterModel;
}
export interface IDataServiceSearchFunction {
(search: string | any): Promise | Observable;
}
export interface IGetFilterModel {
(): TFilterModelType;
}
export interface IValidateFilterModel {
(filterModel: TFilterModelType): boolean;
}
export declare class ClientServerDataSource extends AsyncDataSource {
private searchFilter;
getFilterModel: IGetFilterModel;
validateModel: IValidateFilterModel;
private object;
private minSearchLength;
private search;
private filterModel;
constructor(getDataSet: IDataServiceSearchFunction, searchFilter: __genericSearchFilter.IGenericSearchFilter, getFilterModel: IGetFilterModel, validateModel: IValidateFilterModel, dataSourceProcessor: IDataSourceProcessorOld, array: __array.IArrayUtility, object: __object.IObjectUtility);
refresh(): void;
reload(): void;
private filterModelChanged();
protected getParams(): any;
}