import { ITask, CreateTaskInput, TaskFilter, TaskStatus } from '../../types/task.types'; export interface ITaskQueueService { createTask(input: CreateTaskInput): Promise; generateBatchTasks(totalRows: number, defaultChunkSize?: number): Promise; getTask(taskId: string): Promise; getTasks(filter?: TaskFilter): Promise; leaseNextTask(workerId: string, requestedChunkSize?: number): Promise; releaseTask(taskId: string, reason?: string): Promise; completeTask(taskId: string, rowsProcessed?: number): Promise; failTask(taskId: string, error: string, canRetry?: boolean): Promise; updateTaskProgress(taskId: string, progress: number, rowsProcessed?: number): Promise; getTaskCounts(): Promise>; resetAllTasks(): Promise; }