import { IQueueParams } from 'redis-smq'; import { ICallback, IRedisConfig } from 'redis-smq-common'; import { IBenchmarkConfig, IBenchmarkResult, IWorkerCompleteMessage, TWorkerMessageHandler } from '../types/index.js'; import { Worker } from 'worker_threads'; export declare abstract class BaseBenchmark { protected showProgress: boolean; protected redisConfig: IRedisConfig; protected queue: IQueueParams; protected totalMessages: number; protected workerCount: number; protected workerPath: string; protected workerLabel: string; protected workers: Worker[]; protected workerResults: IWorkerCompleteMessage['data'][]; protected completedWorkers: number; constructor(config: IBenchmarkConfig); protected abstract ensureQueue(): Promise | void; protected calculateMessageDistribution(): { count: number; remainder: number; }; protected createMessageHandler(onComplete: (r: IBenchmarkResult) => void): TWorkerMessageHandler; protected createWorkers(onMessage: TWorkerMessageHandler): Promise; protected shutdownWorkers(): Promise; abstract run(cb: ICallback): void; } //# sourceMappingURL=base-benchmark.d.ts.map