export type TCommonsTallyEntry = { key: K; tally: number; }; export declare class CommonsTally { private isEqual; private internalMap; private originalKeys; constructor(keys?: K[], isEqual?: (a: K, b: K) => boolean); reset(): void; get keys(): K[]; private useExistingKeyIfAvailable; add(k: K, tally: number | undefined): void; increment(k: K): void; addForMap(data: Map): void; enumerateArray(array: K[]): void; get size(): number; get total(): number; get(key: K): number | undefined; asMap(includeZeros?: boolean): Map; asStringKeyObject(serialize: (k: K) => string, includeZeros?: boolean): { [k: string]: number; }; asNumberKeyObject(serialize: (k: K) => number, includeZeros?: boolean): { [k: string]: number; }; asArray(): TCommonsTallyEntry[]; asSortedArray(dec?: boolean): TCommonsTallyEntry[]; top(limit: number): TCommonsTallyEntry[]; topKeys(limit: number): K[]; get winner(): K | undefined; }