import { z } from 'zod';
import { MLComparisonResult } from '../services/ml-comparison-engine.js';
import { ValidationResult } from '../services/dutch-benchmark-validator.js';
export declare const CompareProjectsSchema: z.ZodObject<{
    project_ids: z.ZodArray<z.ZodString, "many">;
    comparison_metrics: z.ZodDefault<z.ZodArray<z.ZodEnum<["roi", "payback_period", "npv", "total_investment", "monthly_benefit", "risk_score", "implementation_complexity", "success_probability", "synergies"]>, "many">>;
    time_horizon: z.ZodDefault<z.ZodNumber>;
    enable_ml_insights: z.ZodDefault<z.ZodBoolean>;
    include_visualizations: z.ZodDefault<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
    project_ids: string[];
    comparison_metrics: ("roi" | "payback_period" | "npv" | "total_investment" | "monthly_benefit" | "risk_score" | "implementation_complexity" | "success_probability" | "synergies")[];
    time_horizon: number;
    enable_ml_insights: boolean;
    include_visualizations: boolean;
}, {
    project_ids: string[];
    comparison_metrics?: ("roi" | "payback_period" | "npv" | "total_investment" | "monthly_benefit" | "risk_score" | "implementation_complexity" | "success_probability" | "synergies")[] | undefined;
    time_horizon?: number | undefined;
    enable_ml_insights?: boolean | undefined;
    include_visualizations?: boolean | undefined;
}>;
export type CompareProjectsInput = z.infer<typeof CompareProjectsSchema>;
export interface ComparisonResult {
    projects: Array<{
        id: string;
        name: string;
        client: string;
        industry: string;
        status: string;
        metrics: Record<string, number>;
        mlInsights?: MLComparisonResult;
        dutchMarketValidation?: {
            adjustmentsMade: number;
            validationIssues: ValidationResult['validationIssues'];
            marketInsights: ValidationResult['marketInsights'];
        };
        benchmarkComparison?: {
            metric: string;
            projectValue: number;
            industryAverage: number;
            percentile: number;
        }[];
    }>;
    rankings: {
        byMetric: Record<string, string[]>;
        overall: string[];
        mlBased?: string[];
    };
    insights: {
        bestPerformer: {
            projectId: string;
            reason: string;
        };
        riskiest: {
            projectId: string;
            risks: string[];
        };
        quickestPayback: {
            projectId: string;
            months: number;
        };
        synergies?: Array<{
            projects: string[];
            type: string;
            value: number;
        }>;
    };
    recommendations: string[];
    dutchMarketSummary: {
        totalAdjustments: number;
        commonIssues: string[];
        marketTrends: string[];
        citations: Array<{
            url: string;
            title: string;
        }>;
    };
    visualization?: {
        type: string;
        data: any;
    }[];
}
export declare function compareProjects(input: CompareProjectsInput): Promise<ComparisonResult>;
//# sourceMappingURL=compare-projects.d.ts.map