import { WorkspaceRepository, TaskRow } from "@mcoda/db"; export type TaskStatusEventContext = { commandName?: string | null; jobId?: string | null; taskRunId?: string | null; agentId?: string | null; metadata?: Record | null; timestamp?: string | null; }; export declare class TaskStateService { private workspaceRepo; constructor(workspaceRepo: WorkspaceRepository); private recordStatusEvent; transitionToInProgress(task: TaskRow, context?: TaskStatusEventContext): Promise; markNotStarted(task: TaskRow, metadataPatch?: Record, context?: TaskStatusEventContext): Promise; markReadyToReview(task: TaskRow, metadataPatch?: Record, context?: TaskStatusEventContext): Promise; markReadyToQa(task: TaskRow, metadataPatch?: Record, context?: TaskStatusEventContext): Promise; markCompleted(task: TaskRow, metadataPatch?: Record, context?: TaskStatusEventContext): Promise; returnToInProgress(task: TaskRow, metadataPatch?: Record, context?: TaskStatusEventContext): Promise; markChangesRequested(task: TaskRow, metadataPatch?: Record, context?: TaskStatusEventContext): Promise; markFailed(task: TaskRow, reason: string, context?: TaskStatusEventContext): Promise; recordReviewMetadata(task: TaskRow, metadata: { decision: string; agentId?: string | null; modelName?: string | null; jobId?: string | null; reviewId?: string | null; diffEmpty?: boolean; changedPaths?: string[]; }): Promise; } //# sourceMappingURL=TaskStateService.d.ts.map