import { Task } from './task'; /** * Interface for task persistence * Allows abstraction of how tasks are stored and retrieved */ export interface TaskPersistence { /** * Add a task to persistence */ enqueue(task: Task): void; /** * Retrieve and remove the next task */ dequeue(): Task | undefined; /** * Get the number of tasks in persistence */ size(): number; /** * Clear all tasks from persistence */ clear(): void; } /** * Default in-memory task persistence implementation */ export declare class InMemoryTaskPersistence implements TaskPersistence { protected tasks: Task[]; enqueue(task: Task): void; dequeue(): Task | undefined; protected isTaskReady(index: number): boolean; size(): number; clear(): void; }