import { Violation, FileViolations } from '../types/sarif.js';
/**
 * Analyze code quality and provide insights based on SARIF violations
 */
export declare class CodeAnalyzer {
    private violations;
    constructor(violations: Violation[]);
    /**
     * Get code quality score (0-100)
     */
    getQualityScore(): number;
    /**
     * Get severity distribution
     */
    getSeverityDistribution(): {
        error: number;
        warning: number;
        info: number;
        note: number;
        none: number;
    };
    /**
     * Get most problematic rules
     */
    getProblematicRules(limit?: number): Array<{
        ruleId: string;
        count: number;
        severity: string;
    }>;
    /**
     * Get code hotspots (files with most violations)
     */
    getCodeHotspots(fileViolations: FileViolations, limit?: number): Array<{
        file: string;
        violations: number;
        score: number;
    }>;
    /**
     * Get improvement recommendations
     */
    getRecommendations(): Array<{
        type: string;
        message: string;
        priority: 'high' | 'medium' | 'low';
    }>;
    /**
     * Get trend analysis (if historical data is available)
     */
    getTrendAnalysis(previousViolations?: Violation[]): {
        trend: 'improving' | 'declining' | 'stable';
        change: number;
    };
    /**
     * Get compliance status
     */
    getComplianceStatus(): {
        compliant: boolean;
        issues: string[];
    };
    /**
     * Get file type analysis
     */
    getFileTypeAnalysis(fileViolations: FileViolations): Map<string, {
        count: number;
        violations: number;
        avgViolations: number;
    }>;
    /**
     * Get line density analysis
     */
    getLineDensityAnalysis(): {
        highDensityLines: number[];
        densityMap: Map<number, number>;
    };
    /**
     * Helper method to get severity weight
     */
    private getSeverityWeight;
    /**
     * Helper method to get file extension
     */
    private getFileExtension;
}
//# sourceMappingURL=code-analyzer.d.ts.map