import type { WorkflowRestartPoint, WorkflowResumePoint } from '../../core/models/index.js'; import type { RunResumeSource } from '../../core/workflow/run/run-meta.js'; import type { TaskStatus } from './schema.js'; import type { TaskInfo } from './types.js'; import { TaskStore } from './store.js'; interface AutoRequeueOptions { maxAttempts: number; } export interface TaskRetryOptions { startStep?: string; retryNote?: string; resumePoint?: WorkflowResumePoint; workflow?: string; taskDir?: string; sourceRunSlug?: string; restartPoint?: WorkflowRestartPoint; } export type AutoRequeueSkipReason = 'disabled' | 'task_not_failed' | 'max_attempts_reached' | 'failure_not_retryable' | 'missing_failed_step' | 'missing_failure_detail'; export type AutoRequeueResult = { requeued: true; attempt: number; maxAttempts: number; reason: 'requeued'; } | { requeued: false; attempt: number; maxAttempts: number; reason: AutoRequeueSkipReason; }; export declare class TaskRetryService { private readonly projectDir; private readonly tasksFile; private readonly store; constructor(projectDir: string, tasksFile: string, store: TaskStore); requeueFailedTask(taskRef: string, startStep?: string, retryNote?: string): string; autoRequeueFailedTask(taskRef: string, options: AutoRequeueOptions): AutoRequeueResult; startReExecution(taskRef: string, allowedStatuses: readonly TaskStatus[], resumeMode: RunResumeSource['resumeMode'], options?: TaskRetryOptions): TaskInfo; requeueTask(taskRef: string, allowedStatuses: readonly TaskStatus[], options?: TaskRetryOptions): string; } export {}; //# sourceMappingURL=taskRetryService.d.ts.map