import { IterableX } from '../iterablex.js'; import { OperatorFunction } from '../../interfaces.js'; /** @ignore */ /** @ignore */ export declare class GroupedIterable extends IterableX { readonly key: TKey; private _source; constructor(key: TKey, source: Iterable); [Symbol.iterator](): Generator; } /** @ignore */ export declare class GroupByIterable extends IterableX> { private _source; private _keySelector; private _elementSelector; constructor(source: Iterable, keySelector: (value: TSource) => TKey, elementSelector: (value: TSource) => TValue); [Symbol.iterator](): Generator, void, unknown>; } export declare function groupBy(keySelector: (value: TSource) => TKey): OperatorFunction>; export declare function groupBy(keySelector: (value: TSource) => TKey, elementSelector?: (value: TSource) => TValue): OperatorFunction>;