export type TddStrictMode = 'strict' | 'flexible' | 'none';
export interface TddRoutingDecision {
    requiresTestArchitect: boolean;
    reason: string;
}
export interface TddRedPhaseOutcome {
    ok: boolean;
    handoff?: RedTestsHandoff;
    error?: string;
}
export interface TddGreenPhaseOutcome {
    ok: boolean;
    status?: 'green' | 'red' | 'tampered';
    removedTests?: string[];
    error?: string;
}
export interface TestArchitectRoleConfig {
    specId: string;
    specBody: string;
    projectRoot: string;
    testFramework: string;
}
export interface TestArchitectResult {
    success: boolean;
    handoff?: RedTestsHandoff;
    error?: string;
}
export interface TestArchitectPromptParams {
    specId: string;
    specBody: string;
    projectRoot: string;
    testFramework: string;
}
export interface RedPhaseResult {
    status: 'red' | 'green' | 'error';
    failures: string[];
    ranAt: string;
}
export interface GreenPhaseResult {
    status: 'green' | 'red' | 'tampered';
    removedTests: string[];
    ranAt: string;
}
export interface RedTestsHandoff {
    kind: 'red_tests';
    version: 1;
    specId: string;
    testFiles: string[];
    testFramework: 'vitest' | 'jest' | 'playwright' | 'pytest' | 'rspec';
    expectedFailures: string[];
    authoredBy: string;
    authoredAt: string;
}
//# sourceMappingURL=tdd-strict.d.ts.map