import { OperatorAsyncFunction } from '../../interfaces'; import { GroupedAsyncIterable } from '../groupby'; export declare function groupBy(keySelector: (value: TSource) => TKey | Promise): OperatorAsyncFunction>; export declare function groupBy(keySelector: (value: TSource) => TKey | Promise, elementSelector?: (value: TSource) => TValue | Promise): OperatorAsyncFunction>; export declare function groupBy(keySelector: (value: TSource) => TKey | Promise, elementSelector?: (value: TSource) => TValue | Promise, resultSelector?: (key: TKey, values: Iterable) => TResult | Promise): OperatorAsyncFunction;