import { Observable } from 'rxjs';
import { SortManagerService } from '../../sorts/index';
import { IFilter } from '../../filters/index';
import { IDataPager } from '../../paging/index';
export interface IProcessResult<TDataType> {
    count$: Observable<number>;
    filteredDataSet$: Observable<TDataType[]>;
    dataSet$: Observable<TDataType[]>;
}
export declare function process<TDataType>(sorter: SortManagerService, filters: IFilter<TDataType, any>[], pager: IDataPager, data$: Observable<TDataType[]>): IProcessResult<TDataType>;
export declare function count(data$: Observable<any[]>): Observable<number>;
export declare function sort<TDataType>(data$: Observable<TDataType[]>, sorter: SortManagerService): Observable<TDataType[]>;
export declare function filter<TDataType>(data$: Observable<TDataType[]>, filters: IFilter<TDataType, any>[]): Observable<TDataType[]>;
export declare function page<TDataType>(data$: Observable<TDataType[]>, pager: IDataPager): Observable<TDataType[]>;
