export interface TaskQueueOptions { /** Number of tasks processed concurrently. */ readonly concurrency: number; /** Max total attempts per task (1 = no retries, 3 = initial + 2 retries). */ readonly maxAttempts: number; /** Base delay for exponential backoff, in ms. Default 1000. */ readonly backoffBaseMs?: number; /** Max backoff cap, in ms. Default 30_000. */ readonly backoffMaxMs?: number; } export interface TaskQueueStats { readonly total: number; readonly pending: number; readonly running: number; readonly done: number; readonly failed: number; } export interface TaskQueue { readonly add: (task: { readonly id: string; readonly [key: string]: unknown; }) => void; readonly process: (handler: (task: Record) => Promise) => Promise; readonly stats: () => TaskQueueStats; readonly close: () => void; } export declare function makeTaskQueue(dbPath: string, options: TaskQueueOptions): TaskQueue;