import type { Database } from '@adonisjs/lucid/database'; import type { DatabaseDriverConfig, JobRecord, QueueDriver, StoreOptions } from '../types.js'; export default class DatabaseDriver implements QueueDriver { #private; protected config: DatabaseDriverConfig; pollingDelay: number; constructor(config: DatabaseDriverConfig, database: Database); /** * Store job to database */ store(path: string, payload: any, options?: StoreOptions): Promise<{ id: any; }>; /** * Get next job from database */ getNext(): Promise; /** * Get job from database by its ID */ getJob(id: number | string): Promise; /** * Re-schedule job (update attempts and available_at) in Database */ reSchedule(job: JobRecord, retryAfter: number): Promise; /** * Mark job as failed in database */ markFailed(job: JobRecord): Promise; /** * Remove job from database */ remove(id: number | string): Promise; }