interface ChangeAnalysisSummary {
    summary: string;
    category: string;
    impact: string;
    userFacing: boolean;
    [key: string]: any;
}
export declare class AnalysisEngine {
    [key: string]: any;
    constructor(gitService: any, aiAnalysisService: any, gitManager?: any);
    _ensureGitAnalyzer(): Promise<any>;
    analyze(type: any, config?: Record<string, any>): Promise<any>;
    analyzeCurrentChanges(config?: Record<string, any>): Promise<{
        changes: never[];
        analysis: null;
        summary?: undefined;
        error?: undefined;
    } | {
        changes: any[];
        analysis: ChangeAnalysisSummary | Record<string, any> | null;
        summary: {
            primaryChanges: string[];
            impactLevel: string;
            technicalScope: string;
            businessRelevance: string;
            frameworks: string[];
            patterns: string[];
            recommendations: string[];
            riskFactors: string[];
        };
        error?: undefined;
    } | {
        summary?: undefined;
        changes: any[];
        analysis: {
            summary: string;
            category: string;
            impact: string;
            userFacing: boolean;
        } | null;
        error: any;
    }>;
    analyzeRecentCommits(limit?: number, config?: Record<string, any>): Promise<{
        summary?: undefined;
        commits: never[];
        analysis: null;
        error?: undefined;
    } | {
        commits: any[];
        analysis: {
            totalCommits: any;
            commitTypes: Record<string, number>;
            totalFiles: number;
            totalLines: number;
            breakingChanges: number;
            highRiskCommits: number;
            riskLevel: string;
            complexity: string;
            trends: {
                dominantCategory: string;
                frequency: number;
                pattern: string;
            };
        };
        summary: string;
        error?: undefined;
    } | {
        summary?: undefined;
        commits: never[];
        analysis: null;
        error: any;
    }>;
    enhanceCommitAnalysis(commitAnalysis: any): any;
    analyzeChangesRuleBased(changes: any): {
        categories: Record<string, any[]>;
        complexity: string;
        risk: string;
        totalFiles: any;
        primaryCategory: string;
        impact: string;
        userFacing: any;
    };
    categorizeChanges(changes: any): Record<string, any[]>;
    assessOverallChangeComplexity(changes: any): "high" | "low" | "medium";
    assessOverallChangeRisk(changes: any): "high" | "low" | "medium";
    assessChangeImpact(changes: any): "high" | "low" | "medium";
    hasUserFacingChanges(changes: any): any;
    generateOverallCommitAnalysis(commits: any): {
        totalCommits: any;
        commitTypes: Record<string, number>;
        totalFiles: number;
        totalLines: number;
        breakingChanges: number;
        highRiskCommits: number;
        riskLevel: string;
        complexity: string;
        trends: {
            dominantCategory: string;
            frequency: number;
            pattern: string;
        };
    };
    calculateOverallRisk(commits: any): "high" | "low" | "medium";
    calculateOverallComplexity(commits: any): "high" | "low" | "medium";
    analyzeTrends(commits: any): {
        dominantCategory: string;
        frequency: number;
        pattern: string;
    };
    identifyPattern(categories: any): "diverse" | "focused" | "mixed";
    combineAnalyses(aiAnalysis: any, ruleBasedAnalysis: any): any;
    generateCommitsSummary(_commits: any, analysis: any): string;
    analyzeBranches(config: any): Promise<any>;
    analyzeComprehensive(config: any): Promise<any>;
    assessRepositoryHealth(config: any): Promise<any>;
    analyzeCommitPatterns(commits: any): {
        patterns: never[];
        compliance: number;
        suggestions: string[];
        conventionalCommits?: undefined;
        semanticCommits?: undefined;
        totalCommits?: undefined;
    } | {
        patterns: string[];
        compliance: number;
        conventionalCommits: number;
        semanticCommits: number;
        totalCommits: any;
        suggestions: string[];
    };
    detectChangeTypes(changes: any): {
        types: never[];
        confidence: string;
        details: string;
        totalChanges?: undefined;
    } | {
        types: any[];
        confidence: string;
        totalChanges: any;
        details: string;
    };
    assessCodeQuality(files: any): {
        score: number;
        issues: any[];
        recommendations: any[];
        filesAnalyzed: any;
    } | {
        filesAnalyzed?: undefined;
        score: number;
        issues: string[];
        recommendations: string[];
    };
    identifyDependencies(changes: any): {
        added: Array<{
            name: string;
            version: string;
            file: string;
        }>;
        removed: Array<{
            name: string;
            version: string;
            file: string;
        }>;
        updated: Array<{
            name: string;
            version: string;
            file: string;
        }>;
        details: string[];
    };
    evaluatePerformanceImpact(changes: any): {
        impact: string;
        metrics: Record<string, number | string>;
        concerns: string[];
        improvements: string[];
    } | {
        impact: string;
        metrics: {
            error: any;
        };
        concerns: never[];
        improvements: never[];
    };
    checkSecurityImplications(changes: any): {
        issues: string[];
        score: 'safe' | 'caution' | 'warning' | 'critical';
        warnings: string[];
        recommendations: string[];
    } | {
        issues: string[];
        score: string;
        warnings: never[];
        recommendations: never[];
    };
    analyzeDocumentationChanges(changes: any): {
        coverage: string;
        changes: Array<{
            file: string;
            type: string;
            status: string;
        }>;
        statistics: Record<string, number | string>;
        recommendations: string[];
    } | {
        coverage: string;
        changes: never[];
        statistics: {
            error: any;
        };
        recommendations: never[];
    };
    assessTestCoverage(changes: any): {
        coverage: number;
        missing: string[];
        statistics: Record<string, number | string>;
        recommendations: string[];
    } | {
        coverage: number;
        missing: never[];
        statistics: {
            error: any;
        };
        recommendations: never[];
    };
    evaluateArchitecturalChanges(changes: any): {
        impact: string;
        changes: Array<{
            file: string;
            pattern: string;
            type: string;
        }>;
        patterns: string[];
        recommendations: string[];
    };
    getMetrics(): {
        analysisCount: number;
        averageTime: number;
        successRate: number;
    };
}
export {};
