/**
 * SOLID Checker - Hauptklasse für SOLID-Prinzipien-Analyse
 * Koordiniert alle SOLID-Prinzipien-Checker und erstellt Gesamtberichte
 */
import { SOLIDCheckResult, ProjectSOLIDResult, SOLIDPrinciple } from './types/solid-types';
export declare class SOLIDChecker {
    private checkers;
    constructor();
    /**
     * Analysiert eine einzelne Datei auf SOLID-Verstöße
     */
    analyzeFile(filePath: string, language: string): Promise<SOLIDCheckResult>;
    /**
     * Analysiert ein gesamtes Projekt auf SOLID-Verstöße
     */
    analyzeProject(filePaths: string[], language: string): Promise<ProjectSOLIDResult>;
    /**
     * Prüft ob eine Sprache unterstützt wird
     */
    supportsLanguage(language: string): boolean;
    /**
     * Gibt verfügbare SOLID-Prinzipien für eine Sprache zurück
     */
    getAvailablePrinciples(language: string): SOLIDPrinciple[];
    /**
     * Berechnet Metriken für eine Datei
     */
    private calculateFileMetrics;
    /**
     * Berechnet einen SOLID-Score für eine Datei (0-100)
     */
    private calculateFileSOLIDScore;
    /**
     * Berechnet den Gesamt-SOLID-Score für ein Projekt
     */
    private calculateOverallSOLIDScore;
    /**
     * Gruppiert Verstöße nach SOLID-Prinzipien
     */
    private groupViolationsByPrinciple;
    /**
     * Generiert Verbesserungsvorschläge für eine Datei
     */
    private generateFileSuggestions;
    /**
     * Generiert Projekt-weite Empfehlungen
     */
    private generateProjectRecommendations;
}
//# sourceMappingURL=SOLIDChecker.d.ts.map