type GroupKeySelector<T> = (value: T, index: number, array: T[]) => string | number | symbol;
type GroupValueSelector<T, U> = (value: T, index: number, array: T[]) => U;
export declare function group_by<T>(values: T[] | unknown, keySelector: GroupKeySelector<T>): Record<string, T[]>;
export declare function group_by<T, U>(values: T[] | unknown, keySelector: GroupKeySelector<T>, valueSelector: GroupValueSelector<T, U>): Record<string, U[]>;
export {};
