import { ChainableCommander, Redis } from "ioredis"; import { Span } from "opentracing"; import type { Logger } from "pino"; import { Job } from "../Job"; import { Producer } from "../producer/producer"; declare module "ioredis" { type AcknowledgeArgs = [ id: string, queue: string, timestampToRescheduleFor: number | undefined ]; interface RedisCommander { acknowledge(...args: AcknowledgeArgs): Promise; } } export interface AcknowledgementDescriptor { queueId: string; jobId: string; timestampForNextRetry?: number; nextExecutionDate?: number; } export declare type OnError = (ack: AcknowledgementDescriptor, job: Job, error: any) => void; export declare class Acknowledger { private readonly redis; private readonly producer; private readonly onError?; private readonly logger?; constructor(redis: Redis, producer: Producer, onError?: OnError | undefined, logger?: Logger | undefined); _reportFailure(descriptor: AcknowledgementDescriptor, job: Job | null, error: any, pipeline: ChainableCommander, options?: { dontReschedule?: boolean; }): Promise; reportFailure(descriptor: AcknowledgementDescriptor, job: Job | null, error: any, options?: { dontReschedule?: boolean; }): Promise; acknowledge(descriptor: AcknowledgementDescriptor, options?: { dontReschedule?: boolean; }, parentSpan?: Span): Promise; } //# sourceMappingURL=acknowledger.d.ts.map