import { EqualityComparer, ResultSelector } from '../types'; import type { IEnumerable } from './enumerable.interface'; export interface ILookup { } export declare class Lookup implements ILookup { private _comparer; private _groupings; constructor(comparer?: EqualityComparer); static create(source: IEnumerable, keySelector: ResultSelector, elementSelector?: ResultSelector | null, comparer?: EqualityComparer): Lookup; getGroups(): IGrouping[]; getGroupElements(key: TKey): IEnumerable; getGrouping(key: TKey, create?: boolean): Grouping | null; } export interface IGrouping { key: TKey; elements: IEnumerable; } export declare class Grouping implements IGrouping { readonly key: TKey; readonly elements: TElement[]; get count(): number; constructor(key: TKey, elements?: TElement[]); atIndex(idx: number): TElement; add(element: TElement): void; }