/**
 * Returns a new array containing items that have maximum numeric values defined by `fn` function.
 * @param array - List of items
 * @param fn - Selector function
 * @signature
 *  P.minBy(arrayOfNumbers)
 * @signature
 *  P.minBy(array, fn)
 * @signature
 *  P.minBy(fn)(array)
 * @signature
 *  P.minBy()(arrayOfNumbers)
 * @example
 *    P.minBy([1,2,3,4,5,6,7,7]) //=> [1]
 *    P.minBy([{ data: 5, score: 2 }, { data: 6, score: 5 }], (q) => q.data * q.score) //=> [{ data: 5, score: 2 }]
 * @category Number, Pipe
 */
export declare function minBy(array: readonly number[]): number[];
export declare function minBy<T>(array: readonly T[], fn: (item: T) => number): T[];
export declare function minBy(): (array: readonly number[]) => number[];
export declare function minBy<T>(fn: (item: T) => number): (array: readonly T[]) => T[];
/**
 * Returns a new array containing items that have maximum numeric values defined by `fn` function.
 * @param array - List of items
 * @param fn - Selector function
 * @signature
 *  P.maxBy(arrayOfNumbers)
 * @signature
 *  P.maxBy(array, fn)
 * @signature
 *  P.maxBy(fn)(array)
 * @signature
 *  P.maxBy()(arrayOfNumbers)
 * @example
 *    P.maxBy([1,2,3,4,5,6,7,7]) //=> [7]
 *    P.maxBy([{ data: 5, score: 2 }, { data: 6, score: 5 }], (q) => q.data * q.score) //=> [{ data: 6, score: 5 }]
 * @category Number
 */
export declare function maxBy(array: readonly number[]): number[];
export declare function maxBy<T>(array: readonly T[], fn: (item: T) => number): T[];
export declare function maxBy<T>(fn: (item: T) => number): (array: readonly T[]) => T[];
export declare function maxBy(): (array: readonly number[]) => number[];
//# sourceMappingURL=minBy.d.ts.map