/**
 * @fileoverview Schema definition for consolidated code reviews with grading.
 *
 * This module defines the TypeScript interfaces and Zod schemas for the consolidated code review schema
 * that includes comprehensive grading across multiple files. The schema is designed to provide
 * a holistic assessment of the entire codebase with detailed grading categories.
 */
import { z } from 'zod';
/**
 * Grade levels following academic grading scale
 */
export declare const GradeLevel: z.ZodEnum<["A+", "A", "A-", "B+", "B", "B-", "C+", "C", "C-", "D+", "D", "D-", "F"]>;
export type GradeLevel = z.infer<typeof GradeLevel>;
/**
 * Grading categories for comprehensive assessment
 */
export declare const GradeCategoriesSchema: z.ZodObject<{
    functionality: z.ZodEnum<["A+", "A", "A-", "B+", "B", "B-", "C+", "C", "C-", "D+", "D", "D-", "F"]>;
    codeQuality: z.ZodEnum<["A+", "A", "A-", "B+", "B", "B-", "C+", "C", "C-", "D+", "D", "D-", "F"]>;
    documentation: z.ZodEnum<["A+", "A", "A-", "B+", "B", "B-", "C+", "C", "C-", "D+", "D", "D-", "F"]>;
    testing: z.ZodEnum<["A+", "A", "A-", "B+", "B", "B-", "C+", "C", "C-", "D+", "D", "D-", "F"]>;
    maintainability: z.ZodEnum<["A+", "A", "A-", "B+", "B", "B-", "C+", "C", "C-", "D+", "D", "D-", "F"]>;
    security: z.ZodEnum<["A+", "A", "A-", "B+", "B", "B-", "C+", "C", "C-", "D+", "D", "D-", "F"]>;
    performance: z.ZodEnum<["A+", "A", "A-", "B+", "B", "B-", "C+", "C", "C-", "D+", "D", "D-", "F"]>;
}, "strip", z.ZodTypeAny, {
    security: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
    performance: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
    functionality: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
    codeQuality: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
    documentation: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
    testing: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
    maintainability: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
}, {
    security: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
    performance: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
    functionality: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
    codeQuality: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
    documentation: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
    testing: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
    maintainability: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
}>;
export type GradeCategories = z.infer<typeof GradeCategoriesSchema>;
/**
 * Issue priority levels
 */
export declare const IssuePriority: z.ZodEnum<["HIGH", "MEDIUM", "LOW"]>;
export type IssuePriority = z.infer<typeof IssuePriority>;
/**
 * A single issue identified in the consolidated review
 */
export declare const ConsolidatedIssueSchema: z.ZodObject<{
    id: z.ZodString;
    priority: z.ZodEnum<["HIGH", "MEDIUM", "LOW"]>;
    title: z.ZodString;
    description: z.ZodString;
    files: z.ZodArray<z.ZodString, "many">;
    recommendation: z.ZodString;
    impact: z.ZodString;
}, "strip", z.ZodTypeAny, {
    description: string;
    id: string;
    priority: "HIGH" | "MEDIUM" | "LOW";
    files: string[];
    title: string;
    recommendation: string;
    impact: string;
}, {
    description: string;
    id: string;
    priority: "HIGH" | "MEDIUM" | "LOW";
    files: string[];
    title: string;
    recommendation: string;
    impact: string;
}>;
export type ConsolidatedIssue = z.infer<typeof ConsolidatedIssueSchema>;
/**
 * Strength identified in the codebase
 */
export declare const StrengthSchema: z.ZodObject<{
    title: z.ZodString;
    description: z.ZodString;
    files: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, "strip", z.ZodTypeAny, {
    description: string;
    title: string;
    files?: string[] | undefined;
}, {
    description: string;
    title: string;
    files?: string[] | undefined;
}>;
export type Strength = z.infer<typeof StrengthSchema>;
/**
 * Architectural insight or pattern
 */
export declare const ArchitecturalInsightSchema: z.ZodObject<{
    title: z.ZodString;
    description: z.ZodString;
    recommendation: z.ZodOptional<z.ZodString>;
    relatedFiles: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, "strip", z.ZodTypeAny, {
    description: string;
    title: string;
    recommendation?: string | undefined;
    relatedFiles?: string[] | undefined;
}, {
    description: string;
    title: string;
    recommendation?: string | undefined;
    relatedFiles?: string[] | undefined;
}>;
export type ArchitecturalInsight = z.infer<typeof ArchitecturalInsightSchema>;
/**
 * Main consolidated review schema
 */
export declare const ConsolidatedReviewSchema: z.ZodObject<{
    version: z.ZodLiteral<"1.0">;
    timestamp: z.ZodString;
    projectName: z.ZodString;
    filesReviewed: z.ZodNumber;
    executiveSummary: z.ZodString;
    overallGrade: z.ZodEnum<["A+", "A", "A-", "B+", "B", "B-", "C+", "C", "C-", "D+", "D", "D-", "F"]>;
    gradeRationale: z.ZodString;
    gradeCategories: z.ZodObject<{
        functionality: z.ZodEnum<["A+", "A", "A-", "B+", "B", "B-", "C+", "C", "C-", "D+", "D", "D-", "F"]>;
        codeQuality: z.ZodEnum<["A+", "A", "A-", "B+", "B", "B-", "C+", "C", "C-", "D+", "D", "D-", "F"]>;
        documentation: z.ZodEnum<["A+", "A", "A-", "B+", "B", "B-", "C+", "C", "C-", "D+", "D", "D-", "F"]>;
        testing: z.ZodEnum<["A+", "A", "A-", "B+", "B", "B-", "C+", "C", "C-", "D+", "D", "D-", "F"]>;
        maintainability: z.ZodEnum<["A+", "A", "A-", "B+", "B", "B-", "C+", "C", "C-", "D+", "D", "D-", "F"]>;
        security: z.ZodEnum<["A+", "A", "A-", "B+", "B", "B-", "C+", "C", "C-", "D+", "D", "D-", "F"]>;
        performance: z.ZodEnum<["A+", "A", "A-", "B+", "B", "B-", "C+", "C", "C-", "D+", "D", "D-", "F"]>;
    }, "strip", z.ZodTypeAny, {
        security: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
        performance: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
        functionality: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
        codeQuality: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
        documentation: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
        testing: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
        maintainability: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
    }, {
        security: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
        performance: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
        functionality: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
        codeQuality: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
        documentation: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
        testing: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
        maintainability: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
    }>;
    categoryRationale: z.ZodObject<{
        functionality: z.ZodString;
        codeQuality: z.ZodString;
        documentation: z.ZodString;
        testing: z.ZodString;
        maintainability: z.ZodString;
        security: z.ZodString;
        performance: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        security: string;
        performance: string;
        functionality: string;
        codeQuality: string;
        documentation: string;
        testing: string;
        maintainability: string;
    }, {
        security: string;
        performance: string;
        functionality: string;
        codeQuality: string;
        documentation: string;
        testing: string;
        maintainability: string;
    }>;
    issues: z.ZodObject<{
        high: z.ZodArray<z.ZodObject<{
            id: z.ZodString;
            priority: z.ZodEnum<["HIGH", "MEDIUM", "LOW"]>;
            title: z.ZodString;
            description: z.ZodString;
            files: z.ZodArray<z.ZodString, "many">;
            recommendation: z.ZodString;
            impact: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            description: string;
            id: string;
            priority: "HIGH" | "MEDIUM" | "LOW";
            files: string[];
            title: string;
            recommendation: string;
            impact: string;
        }, {
            description: string;
            id: string;
            priority: "HIGH" | "MEDIUM" | "LOW";
            files: string[];
            title: string;
            recommendation: string;
            impact: string;
        }>, "many">;
        medium: z.ZodArray<z.ZodObject<{
            id: z.ZodString;
            priority: z.ZodEnum<["HIGH", "MEDIUM", "LOW"]>;
            title: z.ZodString;
            description: z.ZodString;
            files: z.ZodArray<z.ZodString, "many">;
            recommendation: z.ZodString;
            impact: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            description: string;
            id: string;
            priority: "HIGH" | "MEDIUM" | "LOW";
            files: string[];
            title: string;
            recommendation: string;
            impact: string;
        }, {
            description: string;
            id: string;
            priority: "HIGH" | "MEDIUM" | "LOW";
            files: string[];
            title: string;
            recommendation: string;
            impact: string;
        }>, "many">;
        low: z.ZodArray<z.ZodObject<{
            id: z.ZodString;
            priority: z.ZodEnum<["HIGH", "MEDIUM", "LOW"]>;
            title: z.ZodString;
            description: z.ZodString;
            files: z.ZodArray<z.ZodString, "many">;
            recommendation: z.ZodString;
            impact: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            description: string;
            id: string;
            priority: "HIGH" | "MEDIUM" | "LOW";
            files: string[];
            title: string;
            recommendation: string;
            impact: string;
        }, {
            description: string;
            id: string;
            priority: "HIGH" | "MEDIUM" | "LOW";
            files: string[];
            title: string;
            recommendation: string;
            impact: string;
        }>, "many">;
    }, "strip", z.ZodTypeAny, {
        high: {
            description: string;
            id: string;
            priority: "HIGH" | "MEDIUM" | "LOW";
            files: string[];
            title: string;
            recommendation: string;
            impact: string;
        }[];
        medium: {
            description: string;
            id: string;
            priority: "HIGH" | "MEDIUM" | "LOW";
            files: string[];
            title: string;
            recommendation: string;
            impact: string;
        }[];
        low: {
            description: string;
            id: string;
            priority: "HIGH" | "MEDIUM" | "LOW";
            files: string[];
            title: string;
            recommendation: string;
            impact: string;
        }[];
    }, {
        high: {
            description: string;
            id: string;
            priority: "HIGH" | "MEDIUM" | "LOW";
            files: string[];
            title: string;
            recommendation: string;
            impact: string;
        }[];
        medium: {
            description: string;
            id: string;
            priority: "HIGH" | "MEDIUM" | "LOW";
            files: string[];
            title: string;
            recommendation: string;
            impact: string;
        }[];
        low: {
            description: string;
            id: string;
            priority: "HIGH" | "MEDIUM" | "LOW";
            files: string[];
            title: string;
            recommendation: string;
            impact: string;
        }[];
    }>;
    strengths: z.ZodArray<z.ZodObject<{
        title: z.ZodString;
        description: z.ZodString;
        files: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    }, "strip", z.ZodTypeAny, {
        description: string;
        title: string;
        files?: string[] | undefined;
    }, {
        description: string;
        title: string;
        files?: string[] | undefined;
    }>, "many">;
    architecturalInsights: z.ZodOptional<z.ZodArray<z.ZodObject<{
        title: z.ZodString;
        description: z.ZodString;
        recommendation: z.ZodOptional<z.ZodString>;
        relatedFiles: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    }, "strip", z.ZodTypeAny, {
        description: string;
        title: string;
        recommendation?: string | undefined;
        relatedFiles?: string[] | undefined;
    }, {
        description: string;
        title: string;
        recommendation?: string | undefined;
        relatedFiles?: string[] | undefined;
    }>, "many">>;
    summary: z.ZodObject<{
        totalIssues: z.ZodNumber;
        highPriorityIssues: z.ZodNumber;
        mediumPriorityIssues: z.ZodNumber;
        lowPriorityIssues: z.ZodNumber;
        totalStrengths: z.ZodNumber;
    }, "strip", z.ZodTypeAny, {
        highPriorityIssues: number;
        mediumPriorityIssues: number;
        lowPriorityIssues: number;
        totalIssues: number;
        totalStrengths: number;
    }, {
        highPriorityIssues: number;
        mediumPriorityIssues: number;
        lowPriorityIssues: number;
        totalIssues: number;
        totalStrengths: number;
    }>;
    recommendations: z.ZodObject<{
        immediate: z.ZodArray<z.ZodString, "many">;
        shortTerm: z.ZodArray<z.ZodString, "many">;
        longTerm: z.ZodArray<z.ZodString, "many">;
    }, "strip", z.ZodTypeAny, {
        immediate: string[];
        shortTerm: string[];
        longTerm: string[];
    }, {
        immediate: string[];
        shortTerm: string[];
        longTerm: string[];
    }>;
}, "strip", z.ZodTypeAny, {
    issues: {
        high: {
            description: string;
            id: string;
            priority: "HIGH" | "MEDIUM" | "LOW";
            files: string[];
            title: string;
            recommendation: string;
            impact: string;
        }[];
        medium: {
            description: string;
            id: string;
            priority: "HIGH" | "MEDIUM" | "LOW";
            files: string[];
            title: string;
            recommendation: string;
            impact: string;
        }[];
        low: {
            description: string;
            id: string;
            priority: "HIGH" | "MEDIUM" | "LOW";
            files: string[];
            title: string;
            recommendation: string;
            impact: string;
        }[];
    };
    version: "1.0";
    projectName: string;
    timestamp: string;
    summary: {
        highPriorityIssues: number;
        mediumPriorityIssues: number;
        lowPriorityIssues: number;
        totalIssues: number;
        totalStrengths: number;
    };
    filesReviewed: number;
    executiveSummary: string;
    overallGrade: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
    gradeRationale: string;
    gradeCategories: {
        security: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
        performance: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
        functionality: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
        codeQuality: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
        documentation: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
        testing: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
        maintainability: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
    };
    categoryRationale: {
        security: string;
        performance: string;
        functionality: string;
        codeQuality: string;
        documentation: string;
        testing: string;
        maintainability: string;
    };
    strengths: {
        description: string;
        title: string;
        files?: string[] | undefined;
    }[];
    recommendations: {
        immediate: string[];
        shortTerm: string[];
        longTerm: string[];
    };
    architecturalInsights?: {
        description: string;
        title: string;
        recommendation?: string | undefined;
        relatedFiles?: string[] | undefined;
    }[] | undefined;
}, {
    issues: {
        high: {
            description: string;
            id: string;
            priority: "HIGH" | "MEDIUM" | "LOW";
            files: string[];
            title: string;
            recommendation: string;
            impact: string;
        }[];
        medium: {
            description: string;
            id: string;
            priority: "HIGH" | "MEDIUM" | "LOW";
            files: string[];
            title: string;
            recommendation: string;
            impact: string;
        }[];
        low: {
            description: string;
            id: string;
            priority: "HIGH" | "MEDIUM" | "LOW";
            files: string[];
            title: string;
            recommendation: string;
            impact: string;
        }[];
    };
    version: "1.0";
    projectName: string;
    timestamp: string;
    summary: {
        highPriorityIssues: number;
        mediumPriorityIssues: number;
        lowPriorityIssues: number;
        totalIssues: number;
        totalStrengths: number;
    };
    filesReviewed: number;
    executiveSummary: string;
    overallGrade: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
    gradeRationale: string;
    gradeCategories: {
        security: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
        performance: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
        functionality: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
        codeQuality: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
        documentation: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
        testing: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
        maintainability: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
    };
    categoryRationale: {
        security: string;
        performance: string;
        functionality: string;
        codeQuality: string;
        documentation: string;
        testing: string;
        maintainability: string;
    };
    strengths: {
        description: string;
        title: string;
        files?: string[] | undefined;
    }[];
    recommendations: {
        immediate: string[];
        shortTerm: string[];
        longTerm: string[];
    };
    architecturalInsights?: {
        description: string;
        title: string;
        recommendation?: string | undefined;
        relatedFiles?: string[] | undefined;
    }[] | undefined;
}>;
export type ConsolidatedReview = z.infer<typeof ConsolidatedReviewSchema>;
/**
 * Root object for the consolidated review schema
 */
export declare const ConsolidatedReviewRootSchema: z.ZodObject<{
    review: z.ZodObject<{
        version: z.ZodLiteral<"1.0">;
        timestamp: z.ZodString;
        projectName: z.ZodString;
        filesReviewed: z.ZodNumber;
        executiveSummary: z.ZodString;
        overallGrade: z.ZodEnum<["A+", "A", "A-", "B+", "B", "B-", "C+", "C", "C-", "D+", "D", "D-", "F"]>;
        gradeRationale: z.ZodString;
        gradeCategories: z.ZodObject<{
            functionality: z.ZodEnum<["A+", "A", "A-", "B+", "B", "B-", "C+", "C", "C-", "D+", "D", "D-", "F"]>;
            codeQuality: z.ZodEnum<["A+", "A", "A-", "B+", "B", "B-", "C+", "C", "C-", "D+", "D", "D-", "F"]>;
            documentation: z.ZodEnum<["A+", "A", "A-", "B+", "B", "B-", "C+", "C", "C-", "D+", "D", "D-", "F"]>;
            testing: z.ZodEnum<["A+", "A", "A-", "B+", "B", "B-", "C+", "C", "C-", "D+", "D", "D-", "F"]>;
            maintainability: z.ZodEnum<["A+", "A", "A-", "B+", "B", "B-", "C+", "C", "C-", "D+", "D", "D-", "F"]>;
            security: z.ZodEnum<["A+", "A", "A-", "B+", "B", "B-", "C+", "C", "C-", "D+", "D", "D-", "F"]>;
            performance: z.ZodEnum<["A+", "A", "A-", "B+", "B", "B-", "C+", "C", "C-", "D+", "D", "D-", "F"]>;
        }, "strip", z.ZodTypeAny, {
            security: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
            performance: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
            functionality: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
            codeQuality: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
            documentation: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
            testing: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
            maintainability: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
        }, {
            security: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
            performance: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
            functionality: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
            codeQuality: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
            documentation: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
            testing: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
            maintainability: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
        }>;
        categoryRationale: z.ZodObject<{
            functionality: z.ZodString;
            codeQuality: z.ZodString;
            documentation: z.ZodString;
            testing: z.ZodString;
            maintainability: z.ZodString;
            security: z.ZodString;
            performance: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            security: string;
            performance: string;
            functionality: string;
            codeQuality: string;
            documentation: string;
            testing: string;
            maintainability: string;
        }, {
            security: string;
            performance: string;
            functionality: string;
            codeQuality: string;
            documentation: string;
            testing: string;
            maintainability: string;
        }>;
        issues: z.ZodObject<{
            high: z.ZodArray<z.ZodObject<{
                id: z.ZodString;
                priority: z.ZodEnum<["HIGH", "MEDIUM", "LOW"]>;
                title: z.ZodString;
                description: z.ZodString;
                files: z.ZodArray<z.ZodString, "many">;
                recommendation: z.ZodString;
                impact: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                description: string;
                id: string;
                priority: "HIGH" | "MEDIUM" | "LOW";
                files: string[];
                title: string;
                recommendation: string;
                impact: string;
            }, {
                description: string;
                id: string;
                priority: "HIGH" | "MEDIUM" | "LOW";
                files: string[];
                title: string;
                recommendation: string;
                impact: string;
            }>, "many">;
            medium: z.ZodArray<z.ZodObject<{
                id: z.ZodString;
                priority: z.ZodEnum<["HIGH", "MEDIUM", "LOW"]>;
                title: z.ZodString;
                description: z.ZodString;
                files: z.ZodArray<z.ZodString, "many">;
                recommendation: z.ZodString;
                impact: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                description: string;
                id: string;
                priority: "HIGH" | "MEDIUM" | "LOW";
                files: string[];
                title: string;
                recommendation: string;
                impact: string;
            }, {
                description: string;
                id: string;
                priority: "HIGH" | "MEDIUM" | "LOW";
                files: string[];
                title: string;
                recommendation: string;
                impact: string;
            }>, "many">;
            low: z.ZodArray<z.ZodObject<{
                id: z.ZodString;
                priority: z.ZodEnum<["HIGH", "MEDIUM", "LOW"]>;
                title: z.ZodString;
                description: z.ZodString;
                files: z.ZodArray<z.ZodString, "many">;
                recommendation: z.ZodString;
                impact: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                description: string;
                id: string;
                priority: "HIGH" | "MEDIUM" | "LOW";
                files: string[];
                title: string;
                recommendation: string;
                impact: string;
            }, {
                description: string;
                id: string;
                priority: "HIGH" | "MEDIUM" | "LOW";
                files: string[];
                title: string;
                recommendation: string;
                impact: string;
            }>, "many">;
        }, "strip", z.ZodTypeAny, {
            high: {
                description: string;
                id: string;
                priority: "HIGH" | "MEDIUM" | "LOW";
                files: string[];
                title: string;
                recommendation: string;
                impact: string;
            }[];
            medium: {
                description: string;
                id: string;
                priority: "HIGH" | "MEDIUM" | "LOW";
                files: string[];
                title: string;
                recommendation: string;
                impact: string;
            }[];
            low: {
                description: string;
                id: string;
                priority: "HIGH" | "MEDIUM" | "LOW";
                files: string[];
                title: string;
                recommendation: string;
                impact: string;
            }[];
        }, {
            high: {
                description: string;
                id: string;
                priority: "HIGH" | "MEDIUM" | "LOW";
                files: string[];
                title: string;
                recommendation: string;
                impact: string;
            }[];
            medium: {
                description: string;
                id: string;
                priority: "HIGH" | "MEDIUM" | "LOW";
                files: string[];
                title: string;
                recommendation: string;
                impact: string;
            }[];
            low: {
                description: string;
                id: string;
                priority: "HIGH" | "MEDIUM" | "LOW";
                files: string[];
                title: string;
                recommendation: string;
                impact: string;
            }[];
        }>;
        strengths: z.ZodArray<z.ZodObject<{
            title: z.ZodString;
            description: z.ZodString;
            files: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        }, "strip", z.ZodTypeAny, {
            description: string;
            title: string;
            files?: string[] | undefined;
        }, {
            description: string;
            title: string;
            files?: string[] | undefined;
        }>, "many">;
        architecturalInsights: z.ZodOptional<z.ZodArray<z.ZodObject<{
            title: z.ZodString;
            description: z.ZodString;
            recommendation: z.ZodOptional<z.ZodString>;
            relatedFiles: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        }, "strip", z.ZodTypeAny, {
            description: string;
            title: string;
            recommendation?: string | undefined;
            relatedFiles?: string[] | undefined;
        }, {
            description: string;
            title: string;
            recommendation?: string | undefined;
            relatedFiles?: string[] | undefined;
        }>, "many">>;
        summary: z.ZodObject<{
            totalIssues: z.ZodNumber;
            highPriorityIssues: z.ZodNumber;
            mediumPriorityIssues: z.ZodNumber;
            lowPriorityIssues: z.ZodNumber;
            totalStrengths: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            highPriorityIssues: number;
            mediumPriorityIssues: number;
            lowPriorityIssues: number;
            totalIssues: number;
            totalStrengths: number;
        }, {
            highPriorityIssues: number;
            mediumPriorityIssues: number;
            lowPriorityIssues: number;
            totalIssues: number;
            totalStrengths: number;
        }>;
        recommendations: z.ZodObject<{
            immediate: z.ZodArray<z.ZodString, "many">;
            shortTerm: z.ZodArray<z.ZodString, "many">;
            longTerm: z.ZodArray<z.ZodString, "many">;
        }, "strip", z.ZodTypeAny, {
            immediate: string[];
            shortTerm: string[];
            longTerm: string[];
        }, {
            immediate: string[];
            shortTerm: string[];
            longTerm: string[];
        }>;
    }, "strip", z.ZodTypeAny, {
        issues: {
            high: {
                description: string;
                id: string;
                priority: "HIGH" | "MEDIUM" | "LOW";
                files: string[];
                title: string;
                recommendation: string;
                impact: string;
            }[];
            medium: {
                description: string;
                id: string;
                priority: "HIGH" | "MEDIUM" | "LOW";
                files: string[];
                title: string;
                recommendation: string;
                impact: string;
            }[];
            low: {
                description: string;
                id: string;
                priority: "HIGH" | "MEDIUM" | "LOW";
                files: string[];
                title: string;
                recommendation: string;
                impact: string;
            }[];
        };
        version: "1.0";
        projectName: string;
        timestamp: string;
        summary: {
            highPriorityIssues: number;
            mediumPriorityIssues: number;
            lowPriorityIssues: number;
            totalIssues: number;
            totalStrengths: number;
        };
        filesReviewed: number;
        executiveSummary: string;
        overallGrade: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
        gradeRationale: string;
        gradeCategories: {
            security: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
            performance: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
            functionality: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
            codeQuality: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
            documentation: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
            testing: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
            maintainability: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
        };
        categoryRationale: {
            security: string;
            performance: string;
            functionality: string;
            codeQuality: string;
            documentation: string;
            testing: string;
            maintainability: string;
        };
        strengths: {
            description: string;
            title: string;
            files?: string[] | undefined;
        }[];
        recommendations: {
            immediate: string[];
            shortTerm: string[];
            longTerm: string[];
        };
        architecturalInsights?: {
            description: string;
            title: string;
            recommendation?: string | undefined;
            relatedFiles?: string[] | undefined;
        }[] | undefined;
    }, {
        issues: {
            high: {
                description: string;
                id: string;
                priority: "HIGH" | "MEDIUM" | "LOW";
                files: string[];
                title: string;
                recommendation: string;
                impact: string;
            }[];
            medium: {
                description: string;
                id: string;
                priority: "HIGH" | "MEDIUM" | "LOW";
                files: string[];
                title: string;
                recommendation: string;
                impact: string;
            }[];
            low: {
                description: string;
                id: string;
                priority: "HIGH" | "MEDIUM" | "LOW";
                files: string[];
                title: string;
                recommendation: string;
                impact: string;
            }[];
        };
        version: "1.0";
        projectName: string;
        timestamp: string;
        summary: {
            highPriorityIssues: number;
            mediumPriorityIssues: number;
            lowPriorityIssues: number;
            totalIssues: number;
            totalStrengths: number;
        };
        filesReviewed: number;
        executiveSummary: string;
        overallGrade: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
        gradeRationale: string;
        gradeCategories: {
            security: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
            performance: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
            functionality: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
            codeQuality: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
            documentation: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
            testing: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
            maintainability: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
        };
        categoryRationale: {
            security: string;
            performance: string;
            functionality: string;
            codeQuality: string;
            documentation: string;
            testing: string;
            maintainability: string;
        };
        strengths: {
            description: string;
            title: string;
            files?: string[] | undefined;
        }[];
        recommendations: {
            immediate: string[];
            shortTerm: string[];
            longTerm: string[];
        };
        architecturalInsights?: {
            description: string;
            title: string;
            recommendation?: string | undefined;
            relatedFiles?: string[] | undefined;
        }[] | undefined;
    }>;
}, "strip", z.ZodTypeAny, {
    review: {
        issues: {
            high: {
                description: string;
                id: string;
                priority: "HIGH" | "MEDIUM" | "LOW";
                files: string[];
                title: string;
                recommendation: string;
                impact: string;
            }[];
            medium: {
                description: string;
                id: string;
                priority: "HIGH" | "MEDIUM" | "LOW";
                files: string[];
                title: string;
                recommendation: string;
                impact: string;
            }[];
            low: {
                description: string;
                id: string;
                priority: "HIGH" | "MEDIUM" | "LOW";
                files: string[];
                title: string;
                recommendation: string;
                impact: string;
            }[];
        };
        version: "1.0";
        projectName: string;
        timestamp: string;
        summary: {
            highPriorityIssues: number;
            mediumPriorityIssues: number;
            lowPriorityIssues: number;
            totalIssues: number;
            totalStrengths: number;
        };
        filesReviewed: number;
        executiveSummary: string;
        overallGrade: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
        gradeRationale: string;
        gradeCategories: {
            security: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
            performance: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
            functionality: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
            codeQuality: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
            documentation: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
            testing: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
            maintainability: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
        };
        categoryRationale: {
            security: string;
            performance: string;
            functionality: string;
            codeQuality: string;
            documentation: string;
            testing: string;
            maintainability: string;
        };
        strengths: {
            description: string;
            title: string;
            files?: string[] | undefined;
        }[];
        recommendations: {
            immediate: string[];
            shortTerm: string[];
            longTerm: string[];
        };
        architecturalInsights?: {
            description: string;
            title: string;
            recommendation?: string | undefined;
            relatedFiles?: string[] | undefined;
        }[] | undefined;
    };
}, {
    review: {
        issues: {
            high: {
                description: string;
                id: string;
                priority: "HIGH" | "MEDIUM" | "LOW";
                files: string[];
                title: string;
                recommendation: string;
                impact: string;
            }[];
            medium: {
                description: string;
                id: string;
                priority: "HIGH" | "MEDIUM" | "LOW";
                files: string[];
                title: string;
                recommendation: string;
                impact: string;
            }[];
            low: {
                description: string;
                id: string;
                priority: "HIGH" | "MEDIUM" | "LOW";
                files: string[];
                title: string;
                recommendation: string;
                impact: string;
            }[];
        };
        version: "1.0";
        projectName: string;
        timestamp: string;
        summary: {
            highPriorityIssues: number;
            mediumPriorityIssues: number;
            lowPriorityIssues: number;
            totalIssues: number;
            totalStrengths: number;
        };
        filesReviewed: number;
        executiveSummary: string;
        overallGrade: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
        gradeRationale: string;
        gradeCategories: {
            security: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
            performance: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
            functionality: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
            codeQuality: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
            documentation: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
            testing: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
            maintainability: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
        };
        categoryRationale: {
            security: string;
            performance: string;
            functionality: string;
            codeQuality: string;
            documentation: string;
            testing: string;
            maintainability: string;
        };
        strengths: {
            description: string;
            title: string;
            files?: string[] | undefined;
        }[];
        recommendations: {
            immediate: string[];
            shortTerm: string[];
            longTerm: string[];
        };
        architecturalInsights?: {
            description: string;
            title: string;
            recommendation?: string | undefined;
            relatedFiles?: string[] | undefined;
        }[] | undefined;
    };
}>;
export type ConsolidatedReviewRoot = z.infer<typeof ConsolidatedReviewRootSchema>;
/**
 * Get the schema as a string for inclusion in prompts
 */
export declare function getConsolidatedSchemaAsString(): string;
/**
 * Get schema instructions for consolidated reviews
 */
export declare function getConsolidatedSchemaInstructions(): string;
/**
 * Export schema for use in other modules
 */
export declare const consolidatedReviewSchema: z.ZodObject<{
    review: z.ZodObject<{
        version: z.ZodLiteral<"1.0">;
        timestamp: z.ZodString;
        projectName: z.ZodString;
        filesReviewed: z.ZodNumber;
        executiveSummary: z.ZodString;
        overallGrade: z.ZodEnum<["A+", "A", "A-", "B+", "B", "B-", "C+", "C", "C-", "D+", "D", "D-", "F"]>;
        gradeRationale: z.ZodString;
        gradeCategories: z.ZodObject<{
            functionality: z.ZodEnum<["A+", "A", "A-", "B+", "B", "B-", "C+", "C", "C-", "D+", "D", "D-", "F"]>;
            codeQuality: z.ZodEnum<["A+", "A", "A-", "B+", "B", "B-", "C+", "C", "C-", "D+", "D", "D-", "F"]>;
            documentation: z.ZodEnum<["A+", "A", "A-", "B+", "B", "B-", "C+", "C", "C-", "D+", "D", "D-", "F"]>;
            testing: z.ZodEnum<["A+", "A", "A-", "B+", "B", "B-", "C+", "C", "C-", "D+", "D", "D-", "F"]>;
            maintainability: z.ZodEnum<["A+", "A", "A-", "B+", "B", "B-", "C+", "C", "C-", "D+", "D", "D-", "F"]>;
            security: z.ZodEnum<["A+", "A", "A-", "B+", "B", "B-", "C+", "C", "C-", "D+", "D", "D-", "F"]>;
            performance: z.ZodEnum<["A+", "A", "A-", "B+", "B", "B-", "C+", "C", "C-", "D+", "D", "D-", "F"]>;
        }, "strip", z.ZodTypeAny, {
            security: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
            performance: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
            functionality: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
            codeQuality: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
            documentation: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
            testing: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
            maintainability: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
        }, {
            security: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
            performance: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
            functionality: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
            codeQuality: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
            documentation: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
            testing: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
            maintainability: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
        }>;
        categoryRationale: z.ZodObject<{
            functionality: z.ZodString;
            codeQuality: z.ZodString;
            documentation: z.ZodString;
            testing: z.ZodString;
            maintainability: z.ZodString;
            security: z.ZodString;
            performance: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            security: string;
            performance: string;
            functionality: string;
            codeQuality: string;
            documentation: string;
            testing: string;
            maintainability: string;
        }, {
            security: string;
            performance: string;
            functionality: string;
            codeQuality: string;
            documentation: string;
            testing: string;
            maintainability: string;
        }>;
        issues: z.ZodObject<{
            high: z.ZodArray<z.ZodObject<{
                id: z.ZodString;
                priority: z.ZodEnum<["HIGH", "MEDIUM", "LOW"]>;
                title: z.ZodString;
                description: z.ZodString;
                files: z.ZodArray<z.ZodString, "many">;
                recommendation: z.ZodString;
                impact: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                description: string;
                id: string;
                priority: "HIGH" | "MEDIUM" | "LOW";
                files: string[];
                title: string;
                recommendation: string;
                impact: string;
            }, {
                description: string;
                id: string;
                priority: "HIGH" | "MEDIUM" | "LOW";
                files: string[];
                title: string;
                recommendation: string;
                impact: string;
            }>, "many">;
            medium: z.ZodArray<z.ZodObject<{
                id: z.ZodString;
                priority: z.ZodEnum<["HIGH", "MEDIUM", "LOW"]>;
                title: z.ZodString;
                description: z.ZodString;
                files: z.ZodArray<z.ZodString, "many">;
                recommendation: z.ZodString;
                impact: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                description: string;
                id: string;
                priority: "HIGH" | "MEDIUM" | "LOW";
                files: string[];
                title: string;
                recommendation: string;
                impact: string;
            }, {
                description: string;
                id: string;
                priority: "HIGH" | "MEDIUM" | "LOW";
                files: string[];
                title: string;
                recommendation: string;
                impact: string;
            }>, "many">;
            low: z.ZodArray<z.ZodObject<{
                id: z.ZodString;
                priority: z.ZodEnum<["HIGH", "MEDIUM", "LOW"]>;
                title: z.ZodString;
                description: z.ZodString;
                files: z.ZodArray<z.ZodString, "many">;
                recommendation: z.ZodString;
                impact: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                description: string;
                id: string;
                priority: "HIGH" | "MEDIUM" | "LOW";
                files: string[];
                title: string;
                recommendation: string;
                impact: string;
            }, {
                description: string;
                id: string;
                priority: "HIGH" | "MEDIUM" | "LOW";
                files: string[];
                title: string;
                recommendation: string;
                impact: string;
            }>, "many">;
        }, "strip", z.ZodTypeAny, {
            high: {
                description: string;
                id: string;
                priority: "HIGH" | "MEDIUM" | "LOW";
                files: string[];
                title: string;
                recommendation: string;
                impact: string;
            }[];
            medium: {
                description: string;
                id: string;
                priority: "HIGH" | "MEDIUM" | "LOW";
                files: string[];
                title: string;
                recommendation: string;
                impact: string;
            }[];
            low: {
                description: string;
                id: string;
                priority: "HIGH" | "MEDIUM" | "LOW";
                files: string[];
                title: string;
                recommendation: string;
                impact: string;
            }[];
        }, {
            high: {
                description: string;
                id: string;
                priority: "HIGH" | "MEDIUM" | "LOW";
                files: string[];
                title: string;
                recommendation: string;
                impact: string;
            }[];
            medium: {
                description: string;
                id: string;
                priority: "HIGH" | "MEDIUM" | "LOW";
                files: string[];
                title: string;
                recommendation: string;
                impact: string;
            }[];
            low: {
                description: string;
                id: string;
                priority: "HIGH" | "MEDIUM" | "LOW";
                files: string[];
                title: string;
                recommendation: string;
                impact: string;
            }[];
        }>;
        strengths: z.ZodArray<z.ZodObject<{
            title: z.ZodString;
            description: z.ZodString;
            files: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        }, "strip", z.ZodTypeAny, {
            description: string;
            title: string;
            files?: string[] | undefined;
        }, {
            description: string;
            title: string;
            files?: string[] | undefined;
        }>, "many">;
        architecturalInsights: z.ZodOptional<z.ZodArray<z.ZodObject<{
            title: z.ZodString;
            description: z.ZodString;
            recommendation: z.ZodOptional<z.ZodString>;
            relatedFiles: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        }, "strip", z.ZodTypeAny, {
            description: string;
            title: string;
            recommendation?: string | undefined;
            relatedFiles?: string[] | undefined;
        }, {
            description: string;
            title: string;
            recommendation?: string | undefined;
            relatedFiles?: string[] | undefined;
        }>, "many">>;
        summary: z.ZodObject<{
            totalIssues: z.ZodNumber;
            highPriorityIssues: z.ZodNumber;
            mediumPriorityIssues: z.ZodNumber;
            lowPriorityIssues: z.ZodNumber;
            totalStrengths: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            highPriorityIssues: number;
            mediumPriorityIssues: number;
            lowPriorityIssues: number;
            totalIssues: number;
            totalStrengths: number;
        }, {
            highPriorityIssues: number;
            mediumPriorityIssues: number;
            lowPriorityIssues: number;
            totalIssues: number;
            totalStrengths: number;
        }>;
        recommendations: z.ZodObject<{
            immediate: z.ZodArray<z.ZodString, "many">;
            shortTerm: z.ZodArray<z.ZodString, "many">;
            longTerm: z.ZodArray<z.ZodString, "many">;
        }, "strip", z.ZodTypeAny, {
            immediate: string[];
            shortTerm: string[];
            longTerm: string[];
        }, {
            immediate: string[];
            shortTerm: string[];
            longTerm: string[];
        }>;
    }, "strip", z.ZodTypeAny, {
        issues: {
            high: {
                description: string;
                id: string;
                priority: "HIGH" | "MEDIUM" | "LOW";
                files: string[];
                title: string;
                recommendation: string;
                impact: string;
            }[];
            medium: {
                description: string;
                id: string;
                priority: "HIGH" | "MEDIUM" | "LOW";
                files: string[];
                title: string;
                recommendation: string;
                impact: string;
            }[];
            low: {
                description: string;
                id: string;
                priority: "HIGH" | "MEDIUM" | "LOW";
                files: string[];
                title: string;
                recommendation: string;
                impact: string;
            }[];
        };
        version: "1.0";
        projectName: string;
        timestamp: string;
        summary: {
            highPriorityIssues: number;
            mediumPriorityIssues: number;
            lowPriorityIssues: number;
            totalIssues: number;
            totalStrengths: number;
        };
        filesReviewed: number;
        executiveSummary: string;
        overallGrade: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
        gradeRationale: string;
        gradeCategories: {
            security: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
            performance: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
            functionality: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
            codeQuality: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
            documentation: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
            testing: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
            maintainability: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
        };
        categoryRationale: {
            security: string;
            performance: string;
            functionality: string;
            codeQuality: string;
            documentation: string;
            testing: string;
            maintainability: string;
        };
        strengths: {
            description: string;
            title: string;
            files?: string[] | undefined;
        }[];
        recommendations: {
            immediate: string[];
            shortTerm: string[];
            longTerm: string[];
        };
        architecturalInsights?: {
            description: string;
            title: string;
            recommendation?: string | undefined;
            relatedFiles?: string[] | undefined;
        }[] | undefined;
    }, {
        issues: {
            high: {
                description: string;
                id: string;
                priority: "HIGH" | "MEDIUM" | "LOW";
                files: string[];
                title: string;
                recommendation: string;
                impact: string;
            }[];
            medium: {
                description: string;
                id: string;
                priority: "HIGH" | "MEDIUM" | "LOW";
                files: string[];
                title: string;
                recommendation: string;
                impact: string;
            }[];
            low: {
                description: string;
                id: string;
                priority: "HIGH" | "MEDIUM" | "LOW";
                files: string[];
                title: string;
                recommendation: string;
                impact: string;
            }[];
        };
        version: "1.0";
        projectName: string;
        timestamp: string;
        summary: {
            highPriorityIssues: number;
            mediumPriorityIssues: number;
            lowPriorityIssues: number;
            totalIssues: number;
            totalStrengths: number;
        };
        filesReviewed: number;
        executiveSummary: string;
        overallGrade: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
        gradeRationale: string;
        gradeCategories: {
            security: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
            performance: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
            functionality: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
            codeQuality: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
            documentation: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
            testing: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
            maintainability: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
        };
        categoryRationale: {
            security: string;
            performance: string;
            functionality: string;
            codeQuality: string;
            documentation: string;
            testing: string;
            maintainability: string;
        };
        strengths: {
            description: string;
            title: string;
            files?: string[] | undefined;
        }[];
        recommendations: {
            immediate: string[];
            shortTerm: string[];
            longTerm: string[];
        };
        architecturalInsights?: {
            description: string;
            title: string;
            recommendation?: string | undefined;
            relatedFiles?: string[] | undefined;
        }[] | undefined;
    }>;
}, "strip", z.ZodTypeAny, {
    review: {
        issues: {
            high: {
                description: string;
                id: string;
                priority: "HIGH" | "MEDIUM" | "LOW";
                files: string[];
                title: string;
                recommendation: string;
                impact: string;
            }[];
            medium: {
                description: string;
                id: string;
                priority: "HIGH" | "MEDIUM" | "LOW";
                files: string[];
                title: string;
                recommendation: string;
                impact: string;
            }[];
            low: {
                description: string;
                id: string;
                priority: "HIGH" | "MEDIUM" | "LOW";
                files: string[];
                title: string;
                recommendation: string;
                impact: string;
            }[];
        };
        version: "1.0";
        projectName: string;
        timestamp: string;
        summary: {
            highPriorityIssues: number;
            mediumPriorityIssues: number;
            lowPriorityIssues: number;
            totalIssues: number;
            totalStrengths: number;
        };
        filesReviewed: number;
        executiveSummary: string;
        overallGrade: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
        gradeRationale: string;
        gradeCategories: {
            security: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
            performance: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
            functionality: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
            codeQuality: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
            documentation: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
            testing: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
            maintainability: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
        };
        categoryRationale: {
            security: string;
            performance: string;
            functionality: string;
            codeQuality: string;
            documentation: string;
            testing: string;
            maintainability: string;
        };
        strengths: {
            description: string;
            title: string;
            files?: string[] | undefined;
        }[];
        recommendations: {
            immediate: string[];
            shortTerm: string[];
            longTerm: string[];
        };
        architecturalInsights?: {
            description: string;
            title: string;
            recommendation?: string | undefined;
            relatedFiles?: string[] | undefined;
        }[] | undefined;
    };
}, {
    review: {
        issues: {
            high: {
                description: string;
                id: string;
                priority: "HIGH" | "MEDIUM" | "LOW";
                files: string[];
                title: string;
                recommendation: string;
                impact: string;
            }[];
            medium: {
                description: string;
                id: string;
                priority: "HIGH" | "MEDIUM" | "LOW";
                files: string[];
                title: string;
                recommendation: string;
                impact: string;
            }[];
            low: {
                description: string;
                id: string;
                priority: "HIGH" | "MEDIUM" | "LOW";
                files: string[];
                title: string;
                recommendation: string;
                impact: string;
            }[];
        };
        version: "1.0";
        projectName: string;
        timestamp: string;
        summary: {
            highPriorityIssues: number;
            mediumPriorityIssues: number;
            lowPriorityIssues: number;
            totalIssues: number;
            totalStrengths: number;
        };
        filesReviewed: number;
        executiveSummary: string;
        overallGrade: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
        gradeRationale: string;
        gradeCategories: {
            security: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
            performance: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
            functionality: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
            codeQuality: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
            documentation: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
            testing: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
            maintainability: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F";
        };
        categoryRationale: {
            security: string;
            performance: string;
            functionality: string;
            codeQuality: string;
            documentation: string;
            testing: string;
            maintainability: string;
        };
        strengths: {
            description: string;
            title: string;
            files?: string[] | undefined;
        }[];
        recommendations: {
            immediate: string[];
            shortTerm: string[];
            longTerm: string[];
        };
        architecturalInsights?: {
            description: string;
            title: string;
            recommendation?: string | undefined;
            relatedFiles?: string[] | undefined;
        }[] | undefined;
    };
}>;
