import { services } from 'typescript-angular-utilities';
import __transform = services.transform;
import { ISort } from '../sort';
import { MergeSort, IMergeSort } from '../mergeSort/mergeSort.service';
export interface ISorter {
    sort<TDataType>(data: TDataType[], sort: ISort | ISort[]): TDataType[];
}
export declare class Sorter implements ISorter {
    mergeSort: IMergeSort;
    transformService: __transform.ITransformService;
    constructor(mergeSort: MergeSort, transformService: __transform.TransformService);
    sort<TDataType>(data: TDataType[], sort: ISort | ISort[]): TDataType[];
    private singleSort<TDataType>(data, sort);
    private buildSortFunction<TDataType>(sort);
}
