/**
 * SpecWeave Configuration Types
 *
 * Defines the structure for .specweave/config.json
 * which stores all research insights and project settings.
 */
import { z } from 'zod';
/**
 * Research configuration schema
 */
export declare const ResearchConfigSchema: z.ZodObject<{
    vision: z.ZodOptional<z.ZodObject<{
        keywords: z.ZodArray<z.ZodString>;
        market: z.ZodEnum<{
            unknown: "unknown";
            healthcare: "healthcare";
            fintech: "fintech";
            education: "education";
            iot: "iot";
            gaming: "gaming";
            marketplace: "marketplace";
            blockchain: "blockchain";
            "productivity-saas": "productivity-saas";
            "e-commerce": "e-commerce";
            "social-network": "social-network";
            "enterprise-b2b": "enterprise-b2b";
            "consumer-b2c": "consumer-b2c";
            "ai-ml": "ai-ml";
        }>;
        competitors: z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            url: z.ZodOptional<z.ZodString>;
            strengths: z.ZodArray<z.ZodString>;
            weaknesses: z.ZodArray<z.ZodString>;
        }, z.core.$strip>>;
        opportunityScore: z.ZodNumber;
        viralPotential: z.ZodBoolean;
        followUpQuestions: z.ZodArray<z.ZodObject<{
            question: z.ZodString;
            type: z.ZodEnum<{
                open: "open";
                "multiple-choice": "multiple-choice";
                scale: "scale";
            }>;
            options: z.ZodOptional<z.ZodArray<z.ZodString>>;
            rationale: z.ZodString;
        }, z.core.$strip>>;
        confidence: z.ZodOptional<z.ZodNumber>;
        rawVision: z.ZodString;
    }, z.core.$strip>>;
    compliance: z.ZodOptional<z.ZodObject<{
        standards: z.ZodArray<z.ZodObject<{
            id: z.ZodString;
            name: z.ZodString;
            dataTypes: z.ZodArray<z.ZodEnum<{
                healthcare: "healthcare";
                children: "children";
                location: "location";
                personal: "personal";
                payment: "payment";
                financial: "financial";
                government: "government";
                student: "student";
                biometric: "biometric";
                sensitive: "sensitive";
            }>>;
            regions: z.ZodArray<z.ZodString>;
            teamImpact: z.ZodArray<z.ZodEnum<{
                "auth-team": "auth-team";
                "data-team": "data-team";
                "devsecops-team": "devsecops-team";
                ciso: "ciso";
                dpo: "dpo";
                "privacy-engineering": "privacy-engineering";
                "payments-team": "payments-team";
                "compliance-team": "compliance-team";
            }>>;
            costImpact: z.ZodString;
            certificationRequired: z.ZodBoolean;
            auditFrequency: z.ZodEnum<{
                none: "none";
                annual: "annual";
                quarterly: "quarterly";
                continuous: "continuous";
            }>;
            description: z.ZodOptional<z.ZodString>;
            documentationUrl: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>;
        teamRequirements: z.ZodArray<z.ZodString>;
        totalCostEstimate: z.ZodString;
        recommendations: z.ZodArray<z.ZodString>;
    }, z.core.$strip>>;
    teams: z.ZodOptional<z.ZodArray<z.ZodObject<{
        teamName: z.ZodString;
        role: z.ZodString;
        required: z.ZodBoolean;
        reason: z.ZodString;
        size: z.ZodString;
        skills: z.ZodArray<z.ZodString>;
        serverlessAlternative: z.ZodOptional<z.ZodObject<{
            service: z.ZodString;
            costSavings: z.ZodNumber;
            tradeoffs: z.ZodArray<z.ZodString>;
            pricingModel: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>;
        priority: z.ZodOptional<z.ZodNumber>;
    }, z.core.$strip>>>;
    architecture: z.ZodOptional<z.ZodObject<{
        architecture: z.ZodEnum<{
            microservices: "microservices";
            hybrid: "hybrid";
            serverless: "serverless";
            "traditional-monolith": "traditional-monolith";
            "modular-monolith": "modular-monolith";
            jamstack: "jamstack";
        }>;
        infrastructure: z.ZodArray<z.ZodString>;
        rationale: z.ZodString;
        costEstimate: z.ZodObject<{
            at1K: z.ZodString;
            at10K: z.ZodString;
            at100K: z.ZodString;
            at1M: z.ZodString;
        }, z.core.$strip>;
        cloudCredits: z.ZodArray<z.ZodObject<{
            provider: z.ZodString;
            amount: z.ZodString;
            duration: z.ZodString;
            requirements: z.ZodOptional<z.ZodString>;
            url: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>;
        projects: z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            description: z.ZodString;
            stack: z.ZodArray<z.ZodString>;
        }, z.core.$strip>>;
        methodology: z.ZodEnum<{
            agile: "agile";
            waterfall: "waterfall";
        }>;
        alternatives: z.ZodOptional<z.ZodArray<z.ZodObject<{
            architecture: z.ZodEnum<{
                microservices: "microservices";
                hybrid: "hybrid";
                serverless: "serverless";
                "traditional-monolith": "traditional-monolith";
                "modular-monolith": "modular-monolith";
                jamstack: "jamstack";
            }>;
            pros: z.ZodArray<z.ZodString>;
            cons: z.ZodArray<z.ZodString>;
        }, z.core.$strip>>>;
    }, z.core.$strip>>;
    methodology: z.ZodOptional<z.ZodEnum<{
        agile: "agile";
        waterfall: "waterfall";
    }>>;
    repositories: z.ZodOptional<z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        url: z.ZodString;
        owner: z.ZodString;
        language: z.ZodOptional<z.ZodString>;
        stars: z.ZodOptional<z.ZodNumber>;
        lastUpdated: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>>;
}, z.core.$strip>;
/**
 * Living Docs configuration schema
 */
export declare const LivingDocsConfigSchema: z.ZodObject<{
    copyBasedSync: z.ZodDefault<z.ZodObject<{
        enabled: z.ZodDefault<z.ZodBoolean>;
    }, z.core.$strip>>;
    threeLayerSync: z.ZodDefault<z.ZodBoolean>;
}, z.core.$strip>;
/**
 * Main SpecWeave configuration schema
 */
export declare const SpecWeaveConfigSchema: z.ZodObject<{
    version: z.ZodDefault<z.ZodString>;
    projectName: z.ZodString;
    research: z.ZodOptional<z.ZodObject<{
        vision: z.ZodOptional<z.ZodObject<{
            keywords: z.ZodArray<z.ZodString>;
            market: z.ZodEnum<{
                unknown: "unknown";
                healthcare: "healthcare";
                fintech: "fintech";
                education: "education";
                iot: "iot";
                gaming: "gaming";
                marketplace: "marketplace";
                blockchain: "blockchain";
                "productivity-saas": "productivity-saas";
                "e-commerce": "e-commerce";
                "social-network": "social-network";
                "enterprise-b2b": "enterprise-b2b";
                "consumer-b2c": "consumer-b2c";
                "ai-ml": "ai-ml";
            }>;
            competitors: z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                url: z.ZodOptional<z.ZodString>;
                strengths: z.ZodArray<z.ZodString>;
                weaknesses: z.ZodArray<z.ZodString>;
            }, z.core.$strip>>;
            opportunityScore: z.ZodNumber;
            viralPotential: z.ZodBoolean;
            followUpQuestions: z.ZodArray<z.ZodObject<{
                question: z.ZodString;
                type: z.ZodEnum<{
                    open: "open";
                    "multiple-choice": "multiple-choice";
                    scale: "scale";
                }>;
                options: z.ZodOptional<z.ZodArray<z.ZodString>>;
                rationale: z.ZodString;
            }, z.core.$strip>>;
            confidence: z.ZodOptional<z.ZodNumber>;
            rawVision: z.ZodString;
        }, z.core.$strip>>;
        compliance: z.ZodOptional<z.ZodObject<{
            standards: z.ZodArray<z.ZodObject<{
                id: z.ZodString;
                name: z.ZodString;
                dataTypes: z.ZodArray<z.ZodEnum<{
                    healthcare: "healthcare";
                    children: "children";
                    location: "location";
                    personal: "personal";
                    payment: "payment";
                    financial: "financial";
                    government: "government";
                    student: "student";
                    biometric: "biometric";
                    sensitive: "sensitive";
                }>>;
                regions: z.ZodArray<z.ZodString>;
                teamImpact: z.ZodArray<z.ZodEnum<{
                    "auth-team": "auth-team";
                    "data-team": "data-team";
                    "devsecops-team": "devsecops-team";
                    ciso: "ciso";
                    dpo: "dpo";
                    "privacy-engineering": "privacy-engineering";
                    "payments-team": "payments-team";
                    "compliance-team": "compliance-team";
                }>>;
                costImpact: z.ZodString;
                certificationRequired: z.ZodBoolean;
                auditFrequency: z.ZodEnum<{
                    none: "none";
                    annual: "annual";
                    quarterly: "quarterly";
                    continuous: "continuous";
                }>;
                description: z.ZodOptional<z.ZodString>;
                documentationUrl: z.ZodOptional<z.ZodString>;
            }, z.core.$strip>>;
            teamRequirements: z.ZodArray<z.ZodString>;
            totalCostEstimate: z.ZodString;
            recommendations: z.ZodArray<z.ZodString>;
        }, z.core.$strip>>;
        teams: z.ZodOptional<z.ZodArray<z.ZodObject<{
            teamName: z.ZodString;
            role: z.ZodString;
            required: z.ZodBoolean;
            reason: z.ZodString;
            size: z.ZodString;
            skills: z.ZodArray<z.ZodString>;
            serverlessAlternative: z.ZodOptional<z.ZodObject<{
                service: z.ZodString;
                costSavings: z.ZodNumber;
                tradeoffs: z.ZodArray<z.ZodString>;
                pricingModel: z.ZodOptional<z.ZodString>;
            }, z.core.$strip>>;
            priority: z.ZodOptional<z.ZodNumber>;
        }, z.core.$strip>>>;
        architecture: z.ZodOptional<z.ZodObject<{
            architecture: z.ZodEnum<{
                microservices: "microservices";
                hybrid: "hybrid";
                serverless: "serverless";
                "traditional-monolith": "traditional-monolith";
                "modular-monolith": "modular-monolith";
                jamstack: "jamstack";
            }>;
            infrastructure: z.ZodArray<z.ZodString>;
            rationale: z.ZodString;
            costEstimate: z.ZodObject<{
                at1K: z.ZodString;
                at10K: z.ZodString;
                at100K: z.ZodString;
                at1M: z.ZodString;
            }, z.core.$strip>;
            cloudCredits: z.ZodArray<z.ZodObject<{
                provider: z.ZodString;
                amount: z.ZodString;
                duration: z.ZodString;
                requirements: z.ZodOptional<z.ZodString>;
                url: z.ZodOptional<z.ZodString>;
            }, z.core.$strip>>;
            projects: z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                description: z.ZodString;
                stack: z.ZodArray<z.ZodString>;
            }, z.core.$strip>>;
            methodology: z.ZodEnum<{
                agile: "agile";
                waterfall: "waterfall";
            }>;
            alternatives: z.ZodOptional<z.ZodArray<z.ZodObject<{
                architecture: z.ZodEnum<{
                    microservices: "microservices";
                    hybrid: "hybrid";
                    serverless: "serverless";
                    "traditional-monolith": "traditional-monolith";
                    "modular-monolith": "modular-monolith";
                    jamstack: "jamstack";
                }>;
                pros: z.ZodArray<z.ZodString>;
                cons: z.ZodArray<z.ZodString>;
            }, z.core.$strip>>>;
        }, z.core.$strip>>;
        methodology: z.ZodOptional<z.ZodEnum<{
            agile: "agile";
            waterfall: "waterfall";
        }>>;
        repositories: z.ZodOptional<z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            url: z.ZodString;
            owner: z.ZodString;
            language: z.ZodOptional<z.ZodString>;
            stars: z.ZodOptional<z.ZodNumber>;
            lastUpdated: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>>;
    }, z.core.$strip>>;
    livingDocs: z.ZodDefault<z.ZodObject<{
        copyBasedSync: z.ZodDefault<z.ZodObject<{
            enabled: z.ZodDefault<z.ZodBoolean>;
        }, z.core.$strip>>;
        threeLayerSync: z.ZodDefault<z.ZodBoolean>;
    }, z.core.$strip>>;
    lastUpdated: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
/**
 * Type definitions
 */
export type ResearchConfig = z.infer<typeof ResearchConfigSchema>;
export type LivingDocsConfig = z.infer<typeof LivingDocsConfigSchema>;
export type SpecWeaveConfig = z.infer<typeof SpecWeaveConfigSchema>;
//# sourceMappingURL=types.d.ts.map