declare type GroupingFn<V> = (x: V) => string;
declare type _GroupBy_ = <T extends object>(groupingFn: GroupingFn<T>, arr: T[]) => {
    [key: string]: T[];
};
declare type _GroupBy2_ = <T extends object>(groupingFn: GroupingFn<T>) => (arr: T[]) => {
    [key: string]: T[];
};
declare type GroupBy_ = _GroupBy_ & _GroupBy2_;
/**
 * Creates an object that groups array items
 * by field specified by grouping functions.
 *
 * @param groupingFn Grouping function
 * @param arr Initial array of objects
 * @returns New array
 */
declare const groupBy_: GroupBy_;
export { groupBy_ };
export default groupBy_;
