export interface QualityResult {
    score: number;
    overallScore?: number;
    issues: QualityIssue[];
    suggestions: string[];
    duplicationAnalysis?: DuplicationAnalysis;
    maintainabilityIndex?: MaintainabilityIndex;
    technicalDebt?: TechnicalDebt;
}
export interface DuplicationAnalysis {
    duplicatedLines: number;
    totalLines: number;
    duplicationPercentage: number;
    duplicatedBlocks: Array<{
        hash: string;
        occurrences: number;
        files: string[];
        lines: number;
        similarity: number;
    }>;
}
export interface MaintainabilityIndex {
    overallScore: number;
    complexity: number;
    volume: number;
    maintainability: 'excellent' | 'good' | 'fair' | 'poor';
    recommendations: string[];
}
export interface TechnicalDebt {
    totalDebtMinutes: number;
    debtRatio: number;
    highDebtFiles: Array<{
        file: string;
        debtMinutes: number;
        issues: string[];
    }>;
}
export interface QualityIssue {
    file: string;
    line?: number;
    severity: 'error' | 'warning' | 'info';
    message: string;
    rule: string;
}
export declare class CodeQualityAnalyzer {
    private projectRoot;
    constructor(projectRoot: string);
    quickScan(): Promise<QualityResult>;
    fullAnalysis(): Promise<QualityResult>;
    analyze(): Promise<QualityResult>;
    private checkForLinter;
    private checkForFormatter;
    private analyzeFile;
    private checkProjectStructure;
    private checkCodePatterns;
    private checkDependencies;
    private analyzeDuplication;
    private calculateMaintainabilityIndex;
    private calculateTechnicalDebt;
    private normalizeCodeBlock;
    private isSignificantBlock;
    private hashCode;
    private calculateScore;
}
//# sourceMappingURL=CodeQualityAnalyzer.d.ts.map