import { services, filters } from 'typescript-angular-utilities';
import __array = services.array;
import __object = services.object;
import { IServerSearchFunctionOld, IServerSearchParams } from '../asyncTypes';
import { IAsyncDataSource, AsyncDataSource } from '../asyncDataSource.service';
import { IDataSourceProcessorOld } from '../processor/dataSourceProcessorOld.service';
export interface ISmartDataSourceOld<TDataType> extends IAsyncDataSource<TDataType> {
    filters: filters.ISerializableFilter<any>[];
}
export declare class SmartDataSourceOld<TDataType> extends AsyncDataSource<TDataType> {
    private object;
    throttled: boolean;
    appliedFilters: {
        [index: string]: any;
    };
    private _filters;
    private subscriptions;
    private throttleLimit;
    constructor(getDataSet: IServerSearchFunctionOld<TDataType>, dataSourceProcessor: IDataSourceProcessorOld, array: __array.IArrayUtility, object: __object.IObjectUtility);
    filters: filters.IFilter[];
    onSortChange(): void;
    refresh(): void;
    protected getParams(): IServerSearchParams;
    private updateAppliedFilters();
    private setupSubscriptions();
    private onFilterChange(filter);
    protected resolveReload(result: any): void;
}
