/// import { EventEmitter } from 'events'; import { CycleShardData } from '../state-manager/state-manager-types'; /** TYPES */ type Count = number; type Hash = string; type PartitionId = number; export type Message = { cycle: number; data: { partitionHash: object; receiptMapHash: object; summaryHash: object; }; sender: string; }; export type hashMap = Map; export declare let forwardedGossips: Map; export declare class Collector extends EventEmitter { shard: CycleShardData; allDataHashes: hashMap; allReceiptMapHashes: hashMap; allSummaryHashes: hashMap; dataHashCounter: Map>; receiptHashCounter: Map>; summaryHashCounter: Map>; constructor(shard: CycleShardData); process(messages: Message[]): void; } /** FUNCTIONS */ export declare function initGossip(): void; export declare function newCollector(shard: CycleShardData): Collector; export declare function processMessagesInGossipQueue(shard: CycleShardData, collector: Collector): void; export declare function clean(cycle: number): void; export declare function cleanOld(current: number, age: number): void; export {};