import { type FreshArtifactBinding } from "./fresh-verification-lifecycle.js"; import { type SemanticJUnitTestcase } from "./workflow-semantic-tdd-junit.js"; import type { SemanticTddDiagnosticCode, SemanticTddPhase } from "./workflow-semantic-tdd-types.js"; import type { VerificationAttempt, VerificationReceipt } from "./workflow-verification-receipt-types.js"; export type SemanticTddPhaseRead = { readonly diagnosticCodes: readonly SemanticTddDiagnosticCode[]; readonly ok: false; readonly phase?: SemanticTddPhase; } | { readonly diagnosticCodes: readonly []; readonly ok: true; readonly phase: { readonly binding: FreshArtifactBinding; readonly public: SemanticTddPhase; readonly testcase: SemanticJUnitTestcase; }; }; export declare function readSemanticTddPhase(projectDir: string, attempt: VerificationAttempt, receipt: VerificationReceipt | undefined, phase: "green" | "red", expectedTestcaseId?: string): SemanticTddPhaseRead; export declare function compareSemanticTddLineage(red: FreshArtifactBinding, green: FreshArtifactBinding, redPhase: SemanticTddPhase, greenPhase: SemanticTddPhase, redTestcase: SemanticJUnitTestcase, greenTestcase: SemanticJUnitTestcase): readonly SemanticTddDiagnosticCode[]; export declare function semanticTddPublicPhase(phase: SemanticTddPhaseRead): SemanticTddPhase | undefined;