import { Queue } from '../core/queue.ts'; import type { QueueMessage, JobMeta, JobStatus, BaseJobOptions, WithDelay } from '../interfaces/job.ts'; import type { QueueOptions } from '../interfaces/plugin.ts'; export interface FileJobRequest extends BaseJobOptions, WithDelay { /** Job payload */ payload: TPayload; } interface FileQueueOptions extends QueueOptions { path: string; dirMode?: number; fileMode?: number; } export declare class FileQueue> extends Queue> { private path; private dirMode; private fileMode?; private indexPath; constructor(options: FileQueueOptions); init(): Promise; protected pushMessage(payload: unknown, meta: JobMeta): Promise; protected reserve(timeout?: number): Promise; protected completeJob(message: QueueMessage): Promise; protected failJob(message: QueueMessage, error: unknown): Promise; complete(id: string): Promise; status(id: string): Promise; getJobStatus(id: string): Promise<'waiting' | 'reserved' | 'done' | 'delayed' | null>; clear(): Promise; remove(id: string): Promise; private touchIndex; } export {};