import { Queue } from '../core/queue.ts'; import type { JobStatus, JobMeta, QueueMessage, BaseJobOptions, WithPriority, WithDelay } from '../interfaces/job.ts'; import type { DatabaseAdapter } from '../interfaces/database.ts'; import type { QueueOptions } from '../interfaces/plugin.ts'; export interface DbJobRequest extends BaseJobOptions, WithPriority, WithDelay { /** Job payload */ payload: TPayload; } export declare class DbQueue> extends Queue> { private db; constructor(db: DatabaseAdapter, options: QueueOptions); get adapter(): DatabaseAdapter; protected pushMessage(payload: unknown, meta: JobMeta): Promise; protected reserve(timeout: number): Promise; protected completeJob(message: QueueMessage): Promise; protected failJob(message: QueueMessage, error: unknown): Promise; status(id: string): Promise; }