import { Redis } from "ioredis"; import { Closable } from "../Closable"; import { Job, JobEnqueue } from "../Job"; import { Acknowledger, OnError } from "../shared/acknowledger"; import { StaleChecker, StaleCheckerConfig } from "../shared/stale-checker"; import type { Logger } from "pino"; import { ScheduleMap } from ".."; declare module "ioredis" { interface RedisCommander { schedule(id: string, queue: string, payload: string, executionDate: number, schedule_type: string | undefined, schedule_meta: string | undefined, times: number | undefined, overwrite: boolean, exclusive: boolean, retryIntervals: string): Promise<0 | 1>; delete(id: string, queue: string): Promise<0 | 1>; invoke(id: string, queue: string, newRunAt: number): Promise<0 | 1>; } } export declare class Producer implements Closable { private readonly logger?; private readonly redis; readonly acknowledger: Acknowledger; readonly staleChecker: StaleChecker; constructor(redisFactory: () => Redis, scheduleMap: ScheduleMap, onError?: OnError, staleCheckerConfig?: StaleCheckerConfig, logger?: Logger | undefined); enqueue(job: JobEnqueue): Promise>; scanQueue(queue: string, cursor?: number, count?: number): Promise<{ newCursor: number; jobs: Job[]; }>; scanQueuePattern(queuePattern: string, cursor?: number, count?: number): Promise<{ newCursor: number; jobs: Job[]; }>; findJobs(ids: { queue: string; id: string; }[]): Promise<(Job | null)[]>; findById(queue: string, id: string): Promise | null>; delete(queue: string, id: string): Promise<"deleted" | "not_found">; invoke(queue: string, id: string): Promise<"not_found" | "invoked">; close(): Promise; } //# sourceMappingURL=producer.d.ts.map