import { type Task, type TaskEvent, type TaskState } from "./model.ts"; export type TaskTransitionErrorCode = "scope_activity_required" | "scope_reason_required"; export declare class TaskTransitionError extends Error { readonly code: TaskTransitionErrorCode | undefined; constructor(message: string, code?: TaskTransitionErrorCode); } export declare function reduceTaskState(state: TaskState, event: TaskEvent): TaskState; export declare function replayTaskEvents(events: TaskEvent[]): TaskState; export declare function hasBlockingFailedEvidence(task: Task, evidenceId: string, scope: { criterionId?: string; stepId?: string; }): boolean;