/** * An interface for a JavaScript object that * acts a dictionary. The keys are strings. */ export declare type IStringDictionary = Record; /** * An interface for a JavaScript object that * acts a dictionary. The keys are numbers. */ export declare type INumberDictionary = Record; /** * Returns an array which contains all values that reside * in the given dictionary. */ export declare function values(from: IStringDictionary | INumberDictionary): T[]; /** * Iterates over each entry in the provided dictionary. The iterator allows * to remove elements and will stop when the callback returns {{false}}. */ export declare function forEach(from: IStringDictionary | INumberDictionary, callback: (entry: { key: any; value: T; }, remove: () => void) => any): void; /** * Groups the collection into a dictionary based on the provided * group function. */ export declare function groupBy(data: V[], groupFn: (element: V) => K): Record; export declare function fromMap(original: Map): IStringDictionary; export declare function diffSets(before: Set, after: Set): { removed: T[]; added: T[]; }; export declare function diffMaps(before: Map, after: Map): { removed: V[]; added: V[]; }; export declare class SetMap { private map; add(key: K, value: V): void; delete(key: K, value: V): void; forEach(key: K, fn: (value: V) => void): void; } //# sourceMappingURL=collections.d.ts.map