/**
 * Sorts an `array` according to a function `compareFn`.
 * @param array Array to sort.
 * @param compareFn Function that compares two values (`a` and `b`).
 * Return `1` for `a -> b`, or `-1` for `b -> a`, or `0` for no change.
 *
 * Default: `compareValue`
 */
export declare function sort<T>(array: T[], compareFn?: CompareFn<T>): T[];
/**
 * Returns a function that
 * sorts an `array` according to a function `compareFn`.
 * @param compareFn Function that compares two values (`a` and `b`).
 * Return `1` for `a -> b`, or `-1` for `b -> a`, or `0` for no change.
 *
 * Default: `compareValue`
 */
export declare function sort<T>(compareFn?: CompareFn<T>): typeof deferred;
/**
 * Sorts an `array` according to a previously specified function `compareFn`.
 * @param array Array to sort.
 */
declare function deferred<T>(array: T[]): T[];
declare type CompareFn<T> = (a: T, b: T) => number;
export {};
