import type { HandoffInput, PhaseStructuredOutput, Role, Task } from "./types.js"; import { type QualityContractEvaluation, type QualityContractPolicyConfig } from "./quality-contracts.js"; export interface HandoffFieldAssessment { field: string; status: "covered" | "gap"; detail: string; } export interface HandoffTransitionContract { fromRole: string; toRole: string; phase: string; nextPhase: string; requiredFields: string[]; assessments: HandoffFieldAssessment[]; roleContract?: QualityContractEvaluation; verifierContracts?: Array<{ id: string; surface: string; ownerRole: string; evidenceArtifact: string; required: boolean; }>; } export interface HandoffTransitionInput { task: Task | undefined; fromRole: Role; toRole: Role; phase: string; nextPhase: string; output: PhaseStructuredOutput | undefined; handoff: Pick; handoffContent?: string; qualityContracts?: QualityContractPolicyConfig; enforceRoleContract?: boolean; } export declare function buildHandoffTransitionContract(input: HandoffTransitionInput): HandoffTransitionContract; export declare function contractHasBlockingGaps(contract: HandoffTransitionContract): boolean; export declare function renderHandoffTransitionContract(contract: HandoffTransitionContract | undefined): string[]; export declare function summarizeContractGaps(contract: HandoffTransitionContract): string;