/**
 * Single Responsibility Principle (SRP) Checker
 * Erkennt Klassen und Methoden, die zu viele Verantwortlichkeiten haben
 */
import { BaseSOLIDChecker } from './BaseSOLIDChecker';
import { SOLIDViolation, SOLIDPrinciple } from '../types/solid-types';
export declare class SRPChecker extends BaseSOLIDChecker {
    protected principle: SOLIDPrinciple;
    protected supportedLanguages: string[];
    private parser;
    constructor();
    /**
     * Führt SRP-Analyse für eine Datei durch
     */
    check(filePath: string, language: string): Promise<SOLIDViolation[]>;
    /**
     * Prüft auf zu viele Methoden in einer Klasse
     */
    private checkMethodCount;
    /**
     * Prüft auf zu hohe Klassen-Komplexität
     */
    private checkComplexity;
    /**
     * Prüft auf zu viele verschiedene Concerns (Verantwortlichkeiten)
     */
    private checkConcernDiversity;
    /**
     * Prüft auf zu große Klassen (Lines of Code)
     */
    private checkClassSize;
    /**
     * Prüft auf Methoden mit zu vielen Parametern
     */
    private checkMethodParameters;
    /**
     * Prüft auf zu viele Klassen in einer Datei
     */
    private checkFileClassCount;
}
//# sourceMappingURL=SRPChecker.d.ts.map