/**
 * Detailed Report Generator
 * Generates comprehensive reports with actionable recommendations
 */
export interface ReportOptions {
    format: 'console' | 'markdown' | 'html' | 'json';
    outputPath?: string;
    includeDetails: boolean;
    includeExamples: boolean;
    includeTrends: boolean;
    maxIssuesPerCategory: number;
}
export interface AnalysisReport {
    projectName: string;
    timestamp: string;
    summary: ReportSummary;
    securityReport?: SecurityReport;
    performanceReport?: PerformanceReport;
    documentationReport?: DocumentationReport;
    codeQualityReport?: CodeQualityReport;
    crossPlatformReport?: CrossPlatformReport;
    unusedCodeReport?: UnusedCodeReport;
    recommendations: PrioritizedRecommendations;
}
export interface ReportSummary {
    overallScore: number;
    overallGrade: string;
    totalIssues: number;
    criticalIssues: number;
    analyzersRun: number;
    executionTime: number;
    topConcerns: string[];
}
export interface SecurityReport {
    score: number;
    grade: string;
    riskLevel: string;
    vulnerabilities: {
        critical: number;
        high: number;
        medium: number;
        low: number;
    };
    topVulnerabilities: Array<{
        type: string;
        severity: string;
        count: number;
        impact: string;
        recommendation: string;
    }>;
    owaspCompliance?: {
        score: number;
        failingCategories: string[];
    };
    recommendations: string[];
}
export interface PerformanceReport {
    score: number;
    grade: string;
    metrics: {
        bundleSize?: {
            current: number;
            recommended: number;
        };
        loadTime?: {
            current: number;
            recommended: number;
        };
        memoryUsage?: {
            current: number;
            recommended: number;
        };
    };
    bottlenecks: Array<{
        type: string;
        location: string;
        impact: string;
        solution: string;
    }>;
    optimizationOpportunities: string[];
}
export interface DocumentationReport {
    score: number;
    grade: string;
    coverage: number;
    missingDocs: string[];
    qualityIssues: Array<{
        file: string;
        issue: string;
        suggestion: string;
    }>;
    recommendations: string[];
}
export interface CodeQualityReport {
    score: number;
    grade: string;
    metrics: {
        duplicateCode: number;
        complexity: number;
        maintainability: number;
        testCoverage?: number;
    };
    codeSmells: Array<{
        type: string;
        locations: string[];
        refactoringSuggestion: string;
    }>;
    improvements: string[];
}
export interface CrossPlatformReport {
    score: number;
    grade: string;
    platformScores: {
        windows: number;
        macOS: number;
        linux: number;
    };
    compatibility: string;
    criticalIssues: Array<{
        issue: string;
        platforms: string[];
        solution: string;
    }>;
    recommendations: string[];
}
export interface UnusedCodeReport {
    score: number;
    grade: string;
    statistics: {
        unusedFunctions: number;
        unusedFiles: number;
        deadCode: number;
        potentialSavingsKB: number;
    };
    topUnused: Array<{
        type: string;
        name: string;
        location: string;
        lastModified: string;
    }>;
    cleanupPlan: string[];
}
export interface PrioritizedRecommendations {
    immediate: Recommendation[];
    shortTerm: Recommendation[];
    longTerm: Recommendation[];
}
export interface Recommendation {
    title: string;
    impact: 'critical' | 'high' | 'medium' | 'low';
    effort: 'low' | 'medium' | 'high';
    category: string;
    description: string;
    steps: string[];
    expectedOutcome: string;
    resources?: string[];
}
export declare class DetailedReportGenerator {
    private options;
    constructor(options?: Partial<ReportOptions>);
    generateReport(analysisResults: any, projectPath: string): Promise<void>;
    private buildReport;
    private calculateSummary;
    private buildSecurityReport;
    private buildPerformanceReport;
    private buildDocumentationReport;
    private buildCodeQualityReport;
    private buildCrossPlatformReport;
    private buildUnusedCodeReport;
    private generatePrioritizedRecommendations;
    private scoreToGrade;
    private outputConsoleReport;
    private outputMarkdownReport;
    private generateMarkdownReport;
    private outputHTMLReport;
    private generateHTMLReport;
    private outputJSONReport;
    private getGradeColor;
    private getRiskColor;
}
//# sourceMappingURL=DetailedReportGenerator.d.ts.map