/**
 * Sorts an `array` according to the values extracted by a function `mapFn`.
 * @param array Array to map.
 * @param mapFn Function that extracts a value from each item.
 * @param options Optionally determine whether to sort in reverse (descending).
 */
export declare function sortBy<T>(array: T[], mapFn: MapFn<T>, options?: Options): T[];
/**
 * Returns a function that
 * sorts an `array` according to the values extracted by a function `mapFn`.
 * @param mapFn Function that extracts a value from each item.
 * @param options Optionally determine whether to sort in reverse (descending).
 */
export declare function sortBy<T>(mapFn: MapFn<T>, options?: Options): typeof deferred;
/**
 * Sorts an `array` according to the values extracted by a previously specified function `mapFn`.
 * @param array Array to map.
 */
declare function deferred<T>(array: T[]): T[];
declare type MapFn<T> = (item: T) => any;
interface Options {
    reverse: boolean;
}
export {};
