import { ClientEventEmitter, ClientEvents, JobId, JobQueue, WorkerEventEmitter, WorkerEvents, Job, JobWorker, BasePayload } from "./JobQueue.js"; import { Redis } from "ioredis"; export declare class RedisJobQueue = ClientEvents, Worker extends WorkerEvents = WorkerEvents> implements JobQueue { private readonly redis; private readonly id; private readonly queueId; constructor(redis: Redis, id?: string); close(): Promise; notify(jobId: string, eventName: keyof Worker, ...params: Parameters): Promise; private mkWorkerStreamId; private mkClientStreamId; private readStream; monitor(jobId: JobId): Promise>; register(handler: (job: Job, context: ClientEventEmitter, workerEvents: WorkerEventEmitter) => void): Promise; private sendClientMessage; private sendWorkerMessage; private mkWorkerEventEmitter; submit(job: Job, preHook?: (emitter: ClientEventEmitter, id: JobId) => Promise): Promise; cancel(jobId: JobId): void; private setupWorkerStream; private setupClientStream; private setupStream; } //# sourceMappingURL=RedisJobQueue.d.ts.map