import { AsyncIterableX } from '../../asynciterable/asynciterablex'; import { GroupedAsyncIterable } from '../../asynciterable/groupby'; export declare function groupByProto(this: AsyncIterableX, keySelector: (value: TSource) => TKey | Promise): AsyncIterableX>; export declare function groupByProto(this: AsyncIterableX, keySelector: (value: TSource) => TKey | Promise, elementSelector?: (value: TSource) => TValue | Promise): AsyncIterableX>; export declare function groupByProto(this: AsyncIterableX, keySelector: (value: TSource) => TKey | Promise, elementSelector?: (value: TSource) => TValue | Promise, resultSelector?: (key: TKey, values: Iterable) => TResult | Promise): AsyncIterableX; declare module '../../asynciterable/asynciterablex' { interface AsyncIterableX { groupBy: typeof groupByProto; } }