/**
 * Phase 2 Pipeline Schemas
 *
 * Zod validation schemas for all Phase 2 pipeline types.
 * Covers Phase 1 input artifacts, research dossier, SPARC output,
 * ADR records, DDD domain model, TDD plan, and the Phase 2 manifest.
 *
 * All object schemas for Phase 1 inputs use `.passthrough()` for
 * forward-compatibility with evolving upstream formats.
 */
import { z } from 'zod';
export declare const Phase1ManifestSchema: z.ZodObject<{
    run_id: z.ZodString;
    execution_id: z.ZodOptional<z.ZodString>;
    correlation_id: z.ZodOptional<z.ZodString>;
    query: z.ZodString;
    created_at: z.ZodString;
    timing_ms: z.ZodNumber;
    agents_invoked: z.ZodArray<z.ZodObject<{
        domain: z.ZodString;
        agent: z.ZodString;
        status: z.ZodString;
    }, z.core.$strip>>;
    artifacts: z.ZodArray<z.ZodString>;
    schema_version: z.ZodString;
}, z.core.$loose>;
export declare const ScenarioArtifactSchema: z.ZodObject<{
    query: z.ZodOptional<z.ZodString>;
}, z.core.$loose>;
export declare const RoadmapArtifactSchema: z.ZodObject<{
    phases: z.ZodOptional<z.ZodArray<z.ZodObject<{
        name: z.ZodString;
    }, z.core.$loose>>>;
}, z.core.$loose>;
export declare const RiskAssessmentArtifactSchema: z.ZodObject<{
    risk_factors: z.ZodOptional<z.ZodArray<z.ZodObject<{}, z.core.$loose>>>;
    overall_risk_level: z.ZodOptional<z.ZodString>;
}, z.core.$loose>;
export declare const DossierItemSchema: z.ZodObject<{
    id: z.ZodString;
    source: z.ZodEnum<{
        "executive-summary": "executive-summary";
        scenario: "scenario";
        "decision-memo": "decision-memo";
        roadmap: "roadmap";
        "risk-assessment": "risk-assessment";
        "agent-result": "agent-result";
        "user-context": "user-context";
    }>;
    category: z.ZodEnum<{
        decision: "decision";
        recommendation: "recommendation";
        timeline: "timeline";
        risk: "risk";
        requirement: "requirement";
        constraint: "constraint";
        stakeholder: "stakeholder";
        "success-criterion": "success-criterion";
        "decision-rationale": "decision-rationale";
        assumption: "assumption";
        dependency: "dependency";
    }>;
    title: z.ZodString;
    content: z.ZodString;
    severity: z.ZodOptional<z.ZodString>;
    phase: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
export declare const DossierCrossReferenceSchema: z.ZodObject<{
    fromId: z.ZodString;
    toId: z.ZodString;
    relationship: z.ZodEnum<{
        mitigates: "mitigates";
        "depends-on": "depends-on";
        constrains: "constrains";
        "conflicts-with": "conflicts-with";
        blocks: "blocks";
        refines: "refines";
    }>;
}, z.core.$strip>;
export declare const DossierSummarySchema: z.ZodObject<{
    totalItems: z.ZodNumber;
    bySource: z.ZodRecord<z.ZodString, z.ZodNumber>;
    byCategory: z.ZodRecord<z.ZodString, z.ZodNumber>;
    keyRisks: z.ZodArray<z.ZodString>;
    criticalConstraints: z.ZodArray<z.ZodString>;
}, z.core.$strip>;
export declare const ResearchDossierSchema: z.ZodObject<{
    items: z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        source: z.ZodEnum<{
            "executive-summary": "executive-summary";
            scenario: "scenario";
            "decision-memo": "decision-memo";
            roadmap: "roadmap";
            "risk-assessment": "risk-assessment";
            "agent-result": "agent-result";
            "user-context": "user-context";
        }>;
        category: z.ZodEnum<{
            decision: "decision";
            recommendation: "recommendation";
            timeline: "timeline";
            risk: "risk";
            requirement: "requirement";
            constraint: "constraint";
            stakeholder: "stakeholder";
            "success-criterion": "success-criterion";
            "decision-rationale": "decision-rationale";
            assumption: "assumption";
            dependency: "dependency";
        }>;
        title: z.ZodString;
        content: z.ZodString;
        severity: z.ZodOptional<z.ZodString>;
        phase: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
    crossReferences: z.ZodArray<z.ZodObject<{
        fromId: z.ZodString;
        toId: z.ZodString;
        relationship: z.ZodEnum<{
            mitigates: "mitigates";
            "depends-on": "depends-on";
            constrains: "constrains";
            "conflicts-with": "conflicts-with";
            blocks: "blocks";
            refines: "refines";
        }>;
    }, z.core.$strip>>;
    summary: z.ZodObject<{
        totalItems: z.ZodNumber;
        bySource: z.ZodRecord<z.ZodString, z.ZodNumber>;
        byCategory: z.ZodRecord<z.ZodString, z.ZodNumber>;
        keyRisks: z.ZodArray<z.ZodString>;
        criticalConstraints: z.ZodArray<z.ZodString>;
    }, z.core.$strip>;
    generatedAt: z.ZodString;
    sourceManifest: z.ZodString;
}, z.core.$strip>;
export declare const Phase2RequirementSchema: z.ZodObject<{
    id: z.ZodString;
    text: z.ZodString;
    dossierItemRefs: z.ZodArray<z.ZodString>;
    priority: z.ZodEnum<{
        "must-have": "must-have";
        "should-have": "should-have";
        "could-have": "could-have";
        "wont-have": "wont-have";
    }>;
}, z.core.$strip>;
export declare const Phase2ConstraintSchema: z.ZodObject<{
    id: z.ZodString;
    text: z.ZodString;
    dossierItemRefs: z.ZodArray<z.ZodString>;
    enforcedBy: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
export declare const Phase2SuccessCriterionSchema: z.ZodObject<{
    id: z.ZodString;
    text: z.ZodString;
    metric: z.ZodOptional<z.ZodString>;
    threshold: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
export declare const Phase2SpecificationSchema: z.ZodObject<{
    requirements: z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        text: z.ZodString;
        dossierItemRefs: z.ZodArray<z.ZodString>;
        priority: z.ZodEnum<{
            "must-have": "must-have";
            "should-have": "should-have";
            "could-have": "could-have";
            "wont-have": "wont-have";
        }>;
    }, z.core.$strip>>;
    constraints: z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        text: z.ZodString;
        dossierItemRefs: z.ZodArray<z.ZodString>;
        enforcedBy: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
    successCriteria: z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        text: z.ZodString;
        metric: z.ZodOptional<z.ZodString>;
        threshold: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
    scope: z.ZodString;
}, z.core.$strip>;
export declare const Phase2PseudocodeModuleSchema: z.ZodObject<{
    name: z.ZodString;
    description: z.ZodString;
    steps: z.ZodArray<z.ZodString>;
    tddAnchors: z.ZodArray<z.ZodString>;
    dataStructures: z.ZodArray<z.ZodString>;
}, z.core.$strip>;
export declare const Phase2PseudocodeSchema: z.ZodObject<{
    modules: z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        description: z.ZodString;
        steps: z.ZodArray<z.ZodString>;
        tddAnchors: z.ZodArray<z.ZodString>;
        dataStructures: z.ZodArray<z.ZodString>;
    }, z.core.$strip>>;
}, z.core.$strip>;
export declare const Phase2ServiceDefinitionSchema: z.ZodObject<{
    name: z.ZodString;
    responsibility: z.ZodString;
    api: z.ZodArray<z.ZodString>;
    dependencies: z.ZodArray<z.ZodString>;
    boundedContext: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
export declare const Phase2ArchitectureSchema: z.ZodObject<{
    services: z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        responsibility: z.ZodString;
        api: z.ZodArray<z.ZodString>;
        dependencies: z.ZodArray<z.ZodString>;
        boundedContext: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
    boundaries: z.ZodArray<z.ZodString>;
    dataFlow: z.ZodString;
    apiContracts: z.ZodArray<z.ZodString>;
}, z.core.$strip>;
export declare const Phase2RefinementSchema: z.ZodObject<{
    securityConsiderations: z.ZodArray<z.ZodString>;
    performanceTargets: z.ZodArray<z.ZodString>;
    testStrategy: z.ZodString;
    edgeCases: z.ZodOptional<z.ZodArray<z.ZodString>>;
}, z.core.$strip>;
export declare const Phase2CompletionSchema: z.ZodObject<{
    integrationPlan: z.ZodString;
    documentation: z.ZodArray<z.ZodString>;
    monitoringSetup: z.ZodArray<z.ZodString>;
    deploymentChecklist: z.ZodOptional<z.ZodArray<z.ZodString>>;
}, z.core.$strip>;
export declare const Phase2SPARCOutputSchema: z.ZodObject<{
    specification: z.ZodObject<{
        requirements: z.ZodArray<z.ZodObject<{
            id: z.ZodString;
            text: z.ZodString;
            dossierItemRefs: z.ZodArray<z.ZodString>;
            priority: z.ZodEnum<{
                "must-have": "must-have";
                "should-have": "should-have";
                "could-have": "could-have";
                "wont-have": "wont-have";
            }>;
        }, z.core.$strip>>;
        constraints: z.ZodArray<z.ZodObject<{
            id: z.ZodString;
            text: z.ZodString;
            dossierItemRefs: z.ZodArray<z.ZodString>;
            enforcedBy: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>;
        successCriteria: z.ZodArray<z.ZodObject<{
            id: z.ZodString;
            text: z.ZodString;
            metric: z.ZodOptional<z.ZodString>;
            threshold: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>;
        scope: z.ZodString;
    }, z.core.$strip>;
    pseudocode: z.ZodObject<{
        modules: z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            description: z.ZodString;
            steps: z.ZodArray<z.ZodString>;
            tddAnchors: z.ZodArray<z.ZodString>;
            dataStructures: z.ZodArray<z.ZodString>;
        }, z.core.$strip>>;
    }, z.core.$strip>;
    architecture: z.ZodObject<{
        services: z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            responsibility: z.ZodString;
            api: z.ZodArray<z.ZodString>;
            dependencies: z.ZodArray<z.ZodString>;
            boundedContext: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>;
        boundaries: z.ZodArray<z.ZodString>;
        dataFlow: z.ZodString;
        apiContracts: z.ZodArray<z.ZodString>;
    }, z.core.$strip>;
    refinement: z.ZodObject<{
        securityConsiderations: z.ZodArray<z.ZodString>;
        performanceTargets: z.ZodArray<z.ZodString>;
        testStrategy: z.ZodString;
        edgeCases: z.ZodOptional<z.ZodArray<z.ZodString>>;
    }, z.core.$strip>;
    completion: z.ZodObject<{
        integrationPlan: z.ZodString;
        documentation: z.ZodArray<z.ZodString>;
        monitoringSetup: z.ZodArray<z.ZodString>;
        deploymentChecklist: z.ZodOptional<z.ZodArray<z.ZodString>>;
    }, z.core.$strip>;
}, z.core.$strip>;
export declare const Phase2ADRAlternativeSchema: z.ZodObject<{
    title: z.ZodString;
    description: z.ZodString;
    tradeoffs: z.ZodArray<z.ZodString>;
}, z.core.$strip>;
export declare const Phase2ADRConsequenceSchema: z.ZodObject<{
    description: z.ZodString;
    type: z.ZodEnum<{
        positive: "positive";
        negative: "negative";
        neutral: "neutral";
    }>;
}, z.core.$strip>;
export declare const Phase2ADRRecordSchema: z.ZodObject<{
    id: z.ZodString;
    title: z.ZodString;
    status: z.ZodEnum<{
        accepted: "accepted";
        deprecated: "deprecated";
        proposed: "proposed";
        superseded: "superseded";
    }>;
    date: z.ZodString;
    context: z.ZodString;
    decision: z.ZodString;
    alternatives: z.ZodArray<z.ZodObject<{
        title: z.ZodString;
        description: z.ZodString;
        tradeoffs: z.ZodArray<z.ZodString>;
    }, z.core.$strip>>;
    consequences: z.ZodArray<z.ZodObject<{
        description: z.ZodString;
        type: z.ZodEnum<{
            positive: "positive";
            negative: "negative";
            neutral: "neutral";
        }>;
    }, z.core.$strip>>;
    dossierItemRefs: z.ZodOptional<z.ZodArray<z.ZodString>>;
}, z.core.$strip>;
export declare const Phase2EntitySchema: z.ZodObject<{
    name: z.ZodString;
    properties: z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        type: z.ZodString;
        required: z.ZodBoolean;
    }, z.core.$strip>>;
    invariants: z.ZodOptional<z.ZodArray<z.ZodString>>;
}, z.core.$strip>;
export declare const Phase2ValueObjectSchema: z.ZodObject<{
    name: z.ZodString;
    properties: z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        type: z.ZodString;
    }, z.core.$strip>>;
    validationRules: z.ZodOptional<z.ZodArray<z.ZodString>>;
}, z.core.$strip>;
export declare const Phase2AggregateDefinitionSchema: z.ZodObject<{
    name: z.ZodString;
    root: z.ZodString;
    entities: z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        properties: z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            type: z.ZodString;
            required: z.ZodBoolean;
        }, z.core.$strip>>;
        invariants: z.ZodOptional<z.ZodArray<z.ZodString>>;
    }, z.core.$strip>>;
    valueObjects: z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        properties: z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            type: z.ZodString;
        }, z.core.$strip>>;
        validationRules: z.ZodOptional<z.ZodArray<z.ZodString>>;
    }, z.core.$strip>>;
    invariants: z.ZodOptional<z.ZodArray<z.ZodString>>;
}, z.core.$strip>;
export declare const Phase2DomainEventSchema: z.ZodObject<{
    name: z.ZodString;
    aggregate: z.ZodString;
    payload: z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        type: z.ZodString;
    }, z.core.$strip>>;
    description: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
export declare const Phase2CommandSchema: z.ZodObject<{
    name: z.ZodString;
    aggregate: z.ZodString;
    parameters: z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        type: z.ZodString;
        required: z.ZodBoolean;
    }, z.core.$strip>>;
    emits: z.ZodArray<z.ZodString>;
}, z.core.$strip>;
export declare const Phase2QuerySchema: z.ZodObject<{
    name: z.ZodString;
    parameters: z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        type: z.ZodString;
    }, z.core.$strip>>;
    returns: z.ZodString;
}, z.core.$strip>;
export declare const UbiquitousLanguageTermSchema: z.ZodObject<{
    term: z.ZodString;
    definition: z.ZodString;
    context: z.ZodString;
    aliases: z.ZodOptional<z.ZodArray<z.ZodString>>;
}, z.core.$strip>;
export declare const Phase2DDDBoundedContextSchema: z.ZodObject<{
    name: z.ZodString;
    description: z.ZodString;
    aggregates: z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        root: z.ZodString;
        entities: z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            properties: z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                type: z.ZodString;
                required: z.ZodBoolean;
            }, z.core.$strip>>;
            invariants: z.ZodOptional<z.ZodArray<z.ZodString>>;
        }, z.core.$strip>>;
        valueObjects: z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            properties: z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                type: z.ZodString;
            }, z.core.$strip>>;
            validationRules: z.ZodOptional<z.ZodArray<z.ZodString>>;
        }, z.core.$strip>>;
        invariants: z.ZodOptional<z.ZodArray<z.ZodString>>;
    }, z.core.$strip>>;
    domainEvents: z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        aggregate: z.ZodString;
        payload: z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            type: z.ZodString;
        }, z.core.$strip>>;
        description: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
    commands: z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        aggregate: z.ZodString;
        parameters: z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            type: z.ZodString;
            required: z.ZodBoolean;
        }, z.core.$strip>>;
        emits: z.ZodArray<z.ZodString>;
    }, z.core.$strip>>;
    queries: z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        parameters: z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            type: z.ZodString;
        }, z.core.$strip>>;
        returns: z.ZodString;
    }, z.core.$strip>>;
    ubiquitousLanguage: z.ZodOptional<z.ZodArray<z.ZodObject<{
        term: z.ZodString;
        definition: z.ZodString;
        context: z.ZodString;
        aliases: z.ZodOptional<z.ZodArray<z.ZodString>>;
    }, z.core.$strip>>>;
    subdomain: z.ZodOptional<z.ZodEnum<{
        core: "core";
        supporting: "supporting";
        generic: "generic";
    }>>;
}, z.core.$strip>;
export declare const Phase2ContextRelationSchema: z.ZodObject<{
    upstream: z.ZodString;
    downstream: z.ZodString;
    type: z.ZodEnum<{
        partnership: "partnership";
        "customer-supplier": "customer-supplier";
        conformist: "conformist";
        "anticorruption-layer": "anticorruption-layer";
        "open-host-service": "open-host-service";
        "shared-kernel": "shared-kernel";
        "published-language": "published-language";
    }>;
    description: z.ZodOptional<z.ZodString>;
    integration_pattern: z.ZodOptional<z.ZodString>;
    data_flows: z.ZodOptional<z.ZodArray<z.ZodString>>;
    anti_corruption_strategy: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
export declare const Phase2DomainModelSchema: z.ZodObject<{
    contexts: z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        description: z.ZodString;
        aggregates: z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            root: z.ZodString;
            entities: z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                properties: z.ZodArray<z.ZodObject<{
                    name: z.ZodString;
                    type: z.ZodString;
                    required: z.ZodBoolean;
                }, z.core.$strip>>;
                invariants: z.ZodOptional<z.ZodArray<z.ZodString>>;
            }, z.core.$strip>>;
            valueObjects: z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                properties: z.ZodArray<z.ZodObject<{
                    name: z.ZodString;
                    type: z.ZodString;
                }, z.core.$strip>>;
                validationRules: z.ZodOptional<z.ZodArray<z.ZodString>>;
            }, z.core.$strip>>;
            invariants: z.ZodOptional<z.ZodArray<z.ZodString>>;
        }, z.core.$strip>>;
        domainEvents: z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            aggregate: z.ZodString;
            payload: z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                type: z.ZodString;
            }, z.core.$strip>>;
            description: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>;
        commands: z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            aggregate: z.ZodString;
            parameters: z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                type: z.ZodString;
                required: z.ZodBoolean;
            }, z.core.$strip>>;
            emits: z.ZodArray<z.ZodString>;
        }, z.core.$strip>>;
        queries: z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            parameters: z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                type: z.ZodString;
            }, z.core.$strip>>;
            returns: z.ZodString;
        }, z.core.$strip>>;
        ubiquitousLanguage: z.ZodOptional<z.ZodArray<z.ZodObject<{
            term: z.ZodString;
            definition: z.ZodString;
            context: z.ZodString;
            aliases: z.ZodOptional<z.ZodArray<z.ZodString>>;
        }, z.core.$strip>>>;
        subdomain: z.ZodOptional<z.ZodEnum<{
            core: "core";
            supporting: "supporting";
            generic: "generic";
        }>>;
    }, z.core.$strip>>;
    contextMap: z.ZodArray<z.ZodObject<{
        upstream: z.ZodString;
        downstream: z.ZodString;
        type: z.ZodEnum<{
            partnership: "partnership";
            "customer-supplier": "customer-supplier";
            conformist: "conformist";
            "anticorruption-layer": "anticorruption-layer";
            "open-host-service": "open-host-service";
            "shared-kernel": "shared-kernel";
            "published-language": "published-language";
        }>;
        description: z.ZodOptional<z.ZodString>;
        integration_pattern: z.ZodOptional<z.ZodString>;
        data_flows: z.ZodOptional<z.ZodArray<z.ZodString>>;
        anti_corruption_strategy: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
    ubiquitousLanguage: z.ZodOptional<z.ZodArray<z.ZodObject<{
        term: z.ZodString;
        definition: z.ZodString;
        context: z.ZodString;
        aliases: z.ZodOptional<z.ZodArray<z.ZodString>>;
    }, z.core.$strip>>>;
}, z.core.$strip>;
export declare const TestPyramidLevelSchema: z.ZodObject<{
    level: z.ZodEnum<{
        contract: "contract";
        integration: "integration";
        unit: "unit";
        e2e: "e2e";
    }>;
    targetCount: z.ZodNumber;
    description: z.ZodString;
}, z.core.$strip>;
export declare const TestPyramidSchema: z.ZodObject<{
    levels: z.ZodArray<z.ZodObject<{
        level: z.ZodEnum<{
            contract: "contract";
            integration: "integration";
            unit: "unit";
            e2e: "e2e";
        }>;
        targetCount: z.ZodNumber;
        description: z.ZodString;
    }, z.core.$strip>>;
    coverageTarget: z.ZodNumber;
}, z.core.$strip>;
export declare const TDDTestCaseSchema: z.ZodObject<{
    id: z.ZodString;
    name: z.ZodString;
    level: z.ZodEnum<{
        contract: "contract";
        integration: "integration";
        unit: "unit";
        e2e: "e2e";
    }>;
    description: z.ZodString;
    givenWhenThen: z.ZodObject<{
        given: z.ZodString;
        when: z.ZodString;
        then: z.ZodString;
    }, z.core.$strip>;
    boundedContext: z.ZodOptional<z.ZodString>;
    aggregate: z.ZodOptional<z.ZodString>;
    dossierItemRefs: z.ZodOptional<z.ZodArray<z.ZodString>>;
}, z.core.$strip>;
export declare const TDDTestSuiteSchema: z.ZodObject<{
    name: z.ZodString;
    boundedContext: z.ZodString;
    testCases: z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        name: z.ZodString;
        level: z.ZodEnum<{
            contract: "contract";
            integration: "integration";
            unit: "unit";
            e2e: "e2e";
        }>;
        description: z.ZodString;
        givenWhenThen: z.ZodObject<{
            given: z.ZodString;
            when: z.ZodString;
            then: z.ZodString;
        }, z.core.$strip>;
        boundedContext: z.ZodOptional<z.ZodString>;
        aggregate: z.ZodOptional<z.ZodString>;
        dossierItemRefs: z.ZodOptional<z.ZodArray<z.ZodString>>;
    }, z.core.$strip>>;
}, z.core.$strip>;
export declare const MockContractMethodSchema: z.ZodObject<{
    name: z.ZodString;
    parameters: z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        type: z.ZodString;
    }, z.core.$strip>>;
    returns: z.ZodString;
    behavior: z.ZodString;
}, z.core.$strip>;
export declare const MockContractSchema: z.ZodObject<{
    name: z.ZodString;
    targetService: z.ZodString;
    methods: z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        parameters: z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            type: z.ZodString;
        }, z.core.$strip>>;
        returns: z.ZodString;
        behavior: z.ZodString;
    }, z.core.$strip>>;
}, z.core.$strip>;
export declare const SeamDefinitionSchema: z.ZodObject<{
    name: z.ZodString;
    type: z.ZodEnum<{
        adapter: "adapter";
        "service-boundary": "service-boundary";
        port: "port";
        gateway: "gateway";
    }>;
    from: z.ZodString;
    to: z.ZodString;
    mockContract: z.ZodOptional<z.ZodString>;
    description: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
export declare const TDDPlanSchema: z.ZodObject<{
    approach: z.ZodLiteral<"london-school">;
    pyramid: z.ZodObject<{
        levels: z.ZodArray<z.ZodObject<{
            level: z.ZodEnum<{
                contract: "contract";
                integration: "integration";
                unit: "unit";
                e2e: "e2e";
            }>;
            targetCount: z.ZodNumber;
            description: z.ZodString;
        }, z.core.$strip>>;
        coverageTarget: z.ZodNumber;
    }, z.core.$strip>;
    testSuites: z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        boundedContext: z.ZodString;
        testCases: z.ZodArray<z.ZodObject<{
            id: z.ZodString;
            name: z.ZodString;
            level: z.ZodEnum<{
                contract: "contract";
                integration: "integration";
                unit: "unit";
                e2e: "e2e";
            }>;
            description: z.ZodString;
            givenWhenThen: z.ZodObject<{
                given: z.ZodString;
                when: z.ZodString;
                then: z.ZodString;
            }, z.core.$strip>;
            boundedContext: z.ZodOptional<z.ZodString>;
            aggregate: z.ZodOptional<z.ZodString>;
            dossierItemRefs: z.ZodOptional<z.ZodArray<z.ZodString>>;
        }, z.core.$strip>>;
    }, z.core.$strip>>;
    mockContracts: z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        targetService: z.ZodString;
        methods: z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            parameters: z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                type: z.ZodString;
            }, z.core.$strip>>;
            returns: z.ZodString;
            behavior: z.ZodString;
        }, z.core.$strip>>;
    }, z.core.$strip>>;
    seams: z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        type: z.ZodEnum<{
            adapter: "adapter";
            "service-boundary": "service-boundary";
            port: "port";
            gateway: "gateway";
        }>;
        from: z.ZodString;
        to: z.ZodString;
        mockContract: z.ZodOptional<z.ZodString>;
        description: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
}, z.core.$strip>;
export declare const Phase2ManifestSchema: z.ZodObject<{
    schema_version: z.ZodLiteral<"2.0.0">;
    run_id: z.ZodString;
    phase1_run_id: z.ZodString;
    created_at: z.ZodString;
    timing_ms: z.ZodNumber;
    query: z.ZodString;
    dossier: z.ZodObject<{
        items: z.ZodArray<z.ZodObject<{
            id: z.ZodString;
            source: z.ZodEnum<{
                "executive-summary": "executive-summary";
                scenario: "scenario";
                "decision-memo": "decision-memo";
                roadmap: "roadmap";
                "risk-assessment": "risk-assessment";
                "agent-result": "agent-result";
                "user-context": "user-context";
            }>;
            category: z.ZodEnum<{
                decision: "decision";
                recommendation: "recommendation";
                timeline: "timeline";
                risk: "risk";
                requirement: "requirement";
                constraint: "constraint";
                stakeholder: "stakeholder";
                "success-criterion": "success-criterion";
                "decision-rationale": "decision-rationale";
                assumption: "assumption";
                dependency: "dependency";
            }>;
            title: z.ZodString;
            content: z.ZodString;
            severity: z.ZodOptional<z.ZodString>;
            phase: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>;
        crossReferences: z.ZodArray<z.ZodObject<{
            fromId: z.ZodString;
            toId: z.ZodString;
            relationship: z.ZodEnum<{
                mitigates: "mitigates";
                "depends-on": "depends-on";
                constrains: "constrains";
                "conflicts-with": "conflicts-with";
                blocks: "blocks";
                refines: "refines";
            }>;
        }, z.core.$strip>>;
        summary: z.ZodObject<{
            totalItems: z.ZodNumber;
            bySource: z.ZodRecord<z.ZodString, z.ZodNumber>;
            byCategory: z.ZodRecord<z.ZodString, z.ZodNumber>;
            keyRisks: z.ZodArray<z.ZodString>;
            criticalConstraints: z.ZodArray<z.ZodString>;
        }, z.core.$strip>;
        generatedAt: z.ZodString;
        sourceManifest: z.ZodString;
    }, z.core.$strip>;
    sparc: z.ZodObject<{
        specification: z.ZodObject<{
            requirements: z.ZodArray<z.ZodObject<{
                id: z.ZodString;
                text: z.ZodString;
                dossierItemRefs: z.ZodArray<z.ZodString>;
                priority: z.ZodEnum<{
                    "must-have": "must-have";
                    "should-have": "should-have";
                    "could-have": "could-have";
                    "wont-have": "wont-have";
                }>;
            }, z.core.$strip>>;
            constraints: z.ZodArray<z.ZodObject<{
                id: z.ZodString;
                text: z.ZodString;
                dossierItemRefs: z.ZodArray<z.ZodString>;
                enforcedBy: z.ZodOptional<z.ZodString>;
            }, z.core.$strip>>;
            successCriteria: z.ZodArray<z.ZodObject<{
                id: z.ZodString;
                text: z.ZodString;
                metric: z.ZodOptional<z.ZodString>;
                threshold: z.ZodOptional<z.ZodString>;
            }, z.core.$strip>>;
            scope: z.ZodString;
        }, z.core.$strip>;
        pseudocode: z.ZodObject<{
            modules: z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                description: z.ZodString;
                steps: z.ZodArray<z.ZodString>;
                tddAnchors: z.ZodArray<z.ZodString>;
                dataStructures: z.ZodArray<z.ZodString>;
            }, z.core.$strip>>;
        }, z.core.$strip>;
        architecture: z.ZodObject<{
            services: z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                responsibility: z.ZodString;
                api: z.ZodArray<z.ZodString>;
                dependencies: z.ZodArray<z.ZodString>;
                boundedContext: z.ZodOptional<z.ZodString>;
            }, z.core.$strip>>;
            boundaries: z.ZodArray<z.ZodString>;
            dataFlow: z.ZodString;
            apiContracts: z.ZodArray<z.ZodString>;
        }, z.core.$strip>;
        refinement: z.ZodObject<{
            securityConsiderations: z.ZodArray<z.ZodString>;
            performanceTargets: z.ZodArray<z.ZodString>;
            testStrategy: z.ZodString;
            edgeCases: z.ZodOptional<z.ZodArray<z.ZodString>>;
        }, z.core.$strip>;
        completion: z.ZodObject<{
            integrationPlan: z.ZodString;
            documentation: z.ZodArray<z.ZodString>;
            monitoringSetup: z.ZodArray<z.ZodString>;
            deploymentChecklist: z.ZodOptional<z.ZodArray<z.ZodString>>;
        }, z.core.$strip>;
    }, z.core.$strip>;
    adrs: z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        title: z.ZodString;
        status: z.ZodEnum<{
            accepted: "accepted";
            deprecated: "deprecated";
            proposed: "proposed";
            superseded: "superseded";
        }>;
        date: z.ZodString;
        context: z.ZodString;
        decision: z.ZodString;
        alternatives: z.ZodArray<z.ZodObject<{
            title: z.ZodString;
            description: z.ZodString;
            tradeoffs: z.ZodArray<z.ZodString>;
        }, z.core.$strip>>;
        consequences: z.ZodArray<z.ZodObject<{
            description: z.ZodString;
            type: z.ZodEnum<{
                positive: "positive";
                negative: "negative";
                neutral: "neutral";
            }>;
        }, z.core.$strip>>;
        dossierItemRefs: z.ZodOptional<z.ZodArray<z.ZodString>>;
    }, z.core.$strip>>;
    domainModel: z.ZodObject<{
        contexts: z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            description: z.ZodString;
            aggregates: z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                root: z.ZodString;
                entities: z.ZodArray<z.ZodObject<{
                    name: z.ZodString;
                    properties: z.ZodArray<z.ZodObject<{
                        name: z.ZodString;
                        type: z.ZodString;
                        required: z.ZodBoolean;
                    }, z.core.$strip>>;
                    invariants: z.ZodOptional<z.ZodArray<z.ZodString>>;
                }, z.core.$strip>>;
                valueObjects: z.ZodArray<z.ZodObject<{
                    name: z.ZodString;
                    properties: z.ZodArray<z.ZodObject<{
                        name: z.ZodString;
                        type: z.ZodString;
                    }, z.core.$strip>>;
                    validationRules: z.ZodOptional<z.ZodArray<z.ZodString>>;
                }, z.core.$strip>>;
                invariants: z.ZodOptional<z.ZodArray<z.ZodString>>;
            }, z.core.$strip>>;
            domainEvents: z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                aggregate: z.ZodString;
                payload: z.ZodArray<z.ZodObject<{
                    name: z.ZodString;
                    type: z.ZodString;
                }, z.core.$strip>>;
                description: z.ZodOptional<z.ZodString>;
            }, z.core.$strip>>;
            commands: z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                aggregate: z.ZodString;
                parameters: z.ZodArray<z.ZodObject<{
                    name: z.ZodString;
                    type: z.ZodString;
                    required: z.ZodBoolean;
                }, z.core.$strip>>;
                emits: z.ZodArray<z.ZodString>;
            }, z.core.$strip>>;
            queries: z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                parameters: z.ZodArray<z.ZodObject<{
                    name: z.ZodString;
                    type: z.ZodString;
                }, z.core.$strip>>;
                returns: z.ZodString;
            }, z.core.$strip>>;
            ubiquitousLanguage: z.ZodOptional<z.ZodArray<z.ZodObject<{
                term: z.ZodString;
                definition: z.ZodString;
                context: z.ZodString;
                aliases: z.ZodOptional<z.ZodArray<z.ZodString>>;
            }, z.core.$strip>>>;
            subdomain: z.ZodOptional<z.ZodEnum<{
                core: "core";
                supporting: "supporting";
                generic: "generic";
            }>>;
        }, z.core.$strip>>;
        contextMap: z.ZodArray<z.ZodObject<{
            upstream: z.ZodString;
            downstream: z.ZodString;
            type: z.ZodEnum<{
                partnership: "partnership";
                "customer-supplier": "customer-supplier";
                conformist: "conformist";
                "anticorruption-layer": "anticorruption-layer";
                "open-host-service": "open-host-service";
                "shared-kernel": "shared-kernel";
                "published-language": "published-language";
            }>;
            description: z.ZodOptional<z.ZodString>;
            integration_pattern: z.ZodOptional<z.ZodString>;
            data_flows: z.ZodOptional<z.ZodArray<z.ZodString>>;
            anti_corruption_strategy: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>;
        ubiquitousLanguage: z.ZodOptional<z.ZodArray<z.ZodObject<{
            term: z.ZodString;
            definition: z.ZodString;
            context: z.ZodString;
            aliases: z.ZodOptional<z.ZodArray<z.ZodString>>;
        }, z.core.$strip>>>;
    }, z.core.$strip>;
    tddPlan: z.ZodObject<{
        approach: z.ZodLiteral<"london-school">;
        pyramid: z.ZodObject<{
            levels: z.ZodArray<z.ZodObject<{
                level: z.ZodEnum<{
                    contract: "contract";
                    integration: "integration";
                    unit: "unit";
                    e2e: "e2e";
                }>;
                targetCount: z.ZodNumber;
                description: z.ZodString;
            }, z.core.$strip>>;
            coverageTarget: z.ZodNumber;
        }, z.core.$strip>;
        testSuites: z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            boundedContext: z.ZodString;
            testCases: z.ZodArray<z.ZodObject<{
                id: z.ZodString;
                name: z.ZodString;
                level: z.ZodEnum<{
                    contract: "contract";
                    integration: "integration";
                    unit: "unit";
                    e2e: "e2e";
                }>;
                description: z.ZodString;
                givenWhenThen: z.ZodObject<{
                    given: z.ZodString;
                    when: z.ZodString;
                    then: z.ZodString;
                }, z.core.$strip>;
                boundedContext: z.ZodOptional<z.ZodString>;
                aggregate: z.ZodOptional<z.ZodString>;
                dossierItemRefs: z.ZodOptional<z.ZodArray<z.ZodString>>;
            }, z.core.$strip>>;
        }, z.core.$strip>>;
        mockContracts: z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            targetService: z.ZodString;
            methods: z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                parameters: z.ZodArray<z.ZodObject<{
                    name: z.ZodString;
                    type: z.ZodString;
                }, z.core.$strip>>;
                returns: z.ZodString;
                behavior: z.ZodString;
            }, z.core.$strip>>;
        }, z.core.$strip>>;
        seams: z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            type: z.ZodEnum<{
                adapter: "adapter";
                "service-boundary": "service-boundary";
                port: "port";
                gateway: "gateway";
            }>;
            from: z.ZodString;
            to: z.ZodString;
            mockContract: z.ZodOptional<z.ZodString>;
            description: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>;
    }, z.core.$strip>;
    artifacts: z.ZodArray<z.ZodString>;
}, z.core.$strip>;
export type ValidatedPhase1Manifest = z.infer<typeof Phase1ManifestSchema>;
export type ValidatedScenarioArtifact = z.infer<typeof ScenarioArtifactSchema>;
export type ValidatedRoadmapArtifact = z.infer<typeof RoadmapArtifactSchema>;
export type ValidatedRiskAssessmentArtifact = z.infer<typeof RiskAssessmentArtifactSchema>;
export type ValidatedDossierItem = z.infer<typeof DossierItemSchema>;
export type ValidatedDossierCrossReference = z.infer<typeof DossierCrossReferenceSchema>;
export type ValidatedDossierSummary = z.infer<typeof DossierSummarySchema>;
export type ValidatedResearchDossier = z.infer<typeof ResearchDossierSchema>;
export type ValidatedPhase2Requirement = z.infer<typeof Phase2RequirementSchema>;
export type ValidatedPhase2Constraint = z.infer<typeof Phase2ConstraintSchema>;
export type ValidatedPhase2SuccessCriterion = z.infer<typeof Phase2SuccessCriterionSchema>;
export type ValidatedPhase2Specification = z.infer<typeof Phase2SpecificationSchema>;
export type ValidatedPhase2PseudocodeModule = z.infer<typeof Phase2PseudocodeModuleSchema>;
export type ValidatedPhase2Pseudocode = z.infer<typeof Phase2PseudocodeSchema>;
export type ValidatedPhase2ServiceDefinition = z.infer<typeof Phase2ServiceDefinitionSchema>;
export type ValidatedPhase2Architecture = z.infer<typeof Phase2ArchitectureSchema>;
export type ValidatedPhase2Refinement = z.infer<typeof Phase2RefinementSchema>;
export type ValidatedPhase2Completion = z.infer<typeof Phase2CompletionSchema>;
export type ValidatedPhase2SPARCOutput = z.infer<typeof Phase2SPARCOutputSchema>;
export type ValidatedPhase2ADRAlternative = z.infer<typeof Phase2ADRAlternativeSchema>;
export type ValidatedPhase2ADRConsequence = z.infer<typeof Phase2ADRConsequenceSchema>;
export type ValidatedPhase2ADRRecord = z.infer<typeof Phase2ADRRecordSchema>;
export type ValidatedPhase2Entity = z.infer<typeof Phase2EntitySchema>;
export type ValidatedPhase2ValueObject = z.infer<typeof Phase2ValueObjectSchema>;
export type ValidatedPhase2AggregateDefinition = z.infer<typeof Phase2AggregateDefinitionSchema>;
export type ValidatedPhase2DomainEvent = z.infer<typeof Phase2DomainEventSchema>;
export type ValidatedPhase2Command = z.infer<typeof Phase2CommandSchema>;
export type ValidatedPhase2Query = z.infer<typeof Phase2QuerySchema>;
export type ValidatedUbiquitousLanguageTerm = z.infer<typeof UbiquitousLanguageTermSchema>;
export type ValidatedPhase2DDDBoundedContext = z.infer<typeof Phase2DDDBoundedContextSchema>;
export type ValidatedPhase2ContextRelation = z.infer<typeof Phase2ContextRelationSchema>;
export type ValidatedPhase2DomainModel = z.infer<typeof Phase2DomainModelSchema>;
export type ValidatedTestPyramidLevel = z.infer<typeof TestPyramidLevelSchema>;
export type ValidatedTestPyramid = z.infer<typeof TestPyramidSchema>;
export type ValidatedTDDTestCase = z.infer<typeof TDDTestCaseSchema>;
export type ValidatedTDDTestSuite = z.infer<typeof TDDTestSuiteSchema>;
export type ValidatedMockContractMethod = z.infer<typeof MockContractMethodSchema>;
export type ValidatedMockContract = z.infer<typeof MockContractSchema>;
export type ValidatedSeamDefinition = z.infer<typeof SeamDefinitionSchema>;
export type ValidatedTDDPlan = z.infer<typeof TDDPlanSchema>;
export type ValidatedPhase2Manifest = z.infer<typeof Phase2ManifestSchema>;
//# sourceMappingURL=schemas.d.ts.map