import type { WorkflowResumePoint } from '../../core/models/index.js';
import type { TaskRecord, TaskStatus } from './schema.js';
export interface ResolvedTaskRetryMetadata {
    startStep?: string;
    resumePoint?: WorkflowResumePoint;
    currentIteration?: number;
    preserveExisting?: boolean;
}
type TerminalTaskUpdates = Omit<Partial<TaskRecord>, 'start_step' | 'resume_point' | 'exceeded_current_iteration' | 'exceeded_max_steps'>;
export declare function buildClaimedTaskRecord(task: TaskRecord): TaskRecord;
export declare function buildRecoveredTaskRecordWithRetryMetadata(task: TaskRecord, retryMetadata: ResolvedTaskRetryMetadata): TaskRecord;
export declare function buildTerminalTaskRecord(task: TaskRecord, updates: TerminalTaskUpdates, retryMetadata?: ResolvedTaskRetryMetadata): TaskRecord;
export declare function buildRetryTaskRecord(task: TaskRecord, status: Extract<TaskStatus, 'pending' | 'running'>, startStep: string | undefined, retryNote: string | undefined, resumePoint: WorkflowResumePoint | undefined, workflow: string | undefined, taskDir: string | undefined): TaskRecord;
export declare function normalizeTaskRef(taskRef: string): string;
export declare function generateTaskName(slug: string, existingNames: string[]): string;
export {};
//# sourceMappingURL=taskRecordMutations.d.ts.map