import { IQueueParams } from 'redis-smq'; import { IRedisConfig } from 'redis-smq-common'; export declare enum EWorkerMessageType { PROGRESS = "PROGRESS", COMPLETED = "COMPLETED" } export interface IWorkerData { queue: IQueueParams; redisConfig: IRedisConfig; workerId: number; expectedMessages: number; totalMessages: number; } export type TWorkerMessage = IWorkerProgressMessage | IWorkerCompleteMessage; export type TWorkerMessageHandler = (msg: TWorkerMessage) => void; export interface IWorkerCompleteMessage { type: EWorkerMessageType.COMPLETED; data: { workerId: number; processed: number; timeTaken: number; expected: number; }; } export interface IWorkerProgressMessage { type: EWorkerMessageType.PROGRESS; data: { workerId: number; progress: number; }; } export interface IBenchmarkConfig { redisConfig: IRedisConfig; queue: IQueueParams; totalMessages: number; workerCount: number; workerPath: string; workerLabel: string; showProgress: boolean; } export interface IE2EBenchmarkConfig { redisConfig: IRedisConfig; queue: IQueueParams; totalMessages: number; consumerCount: number; consumerWorkerPath: string; producerCount: number; producerWorkerPath: string; showProgress: boolean; } export interface IBenchmarkResult { totalMessages: number; totalTimeNs: number; throughput: number; } export interface IE2EBenchmarkResult { workerCount: number; totalMessages: number; totalTime: number; productionTime: number; consumptionTime: number; messagesProduced: number; messagesConsumed: number; endToEndLatency?: number; productionThroughput: number; consumptionThroughput: number; } //# sourceMappingURL=index.d.ts.map