export type TddPolicyMode = 'off' | 'soft' | 'hard';
export interface TddPolicy {
    mode: TddPolicyMode;
    coverageThreshold: number;
    requireEdgeTests: boolean;
}
export interface TestStub {
    criterionId: string;
    criterionText: string;
    testCode: string;
    section: string;
}
export interface StubGenerationResult {
    specId: string;
    stubs: TestStub[];
    fileContent: string;
    outputPath: string;
}
export interface EdgeTestCase {
    fieldName: string;
    zodType: string;
    input: unknown;
    description: string;
    testCode: string;
}
export interface EdgeTestResult {
    toolName: string;
    registerFile: string;
    cases: EdgeTestCase[];
    fileContent: string;
}
export interface TddReadinessResult {
    hasStubs: boolean;
    stubCount: number;
    hasTestFiles: boolean;
    recommendation: string;
}
export interface TddCompletionResult {
    unresolvedStubs: number;
    totalStubs: number;
    resolvedPercentage: number;
    pendingCriteria: string[];
}
export interface TddStatusResult {
    policy: TddPolicy;
    specsWithStubs: number;
    specsWithoutStubs: number;
    totalUnresolvedStubs: number;
}
export interface ZodFieldInfo {
    fieldName: string;
    zodType: string;
}
//# sourceMappingURL=tdd-enforcement.d.ts.map