import type { JobStatus, JobMeta } from './job.ts'; export interface DatabaseAdapter { insertJob(payload: unknown, meta: JobMeta): Promise; reserveJob(timeout: number): Promise; completeJob(id: string): Promise; releaseJob(id: string): Promise; failJob(id: string, error: string): Promise; getJobStatus(id: string): Promise; } export interface QueueJobRecord { id: string; payload: Buffer; meta: JobMeta; pushedAt: Date; reservedAt?: Date; doneAt?: Date; }