import { CodeSmell, FileAnalysis } from '../types/analysis'; export interface CodeSmellDetectorOptions { enabled: boolean; thresholds: { longMethod: number; largeClass: number; longParameterList: number; deepNesting: number; duplicateCodeLines: number; magicNumberThreshold: number; complexConditional: number; }; sensitivity: 'low' | 'medium' | 'high'; excludePatterns: string[]; } export declare class CodeSmellDetector { private logger; private defaultThresholds; detectSmells(files: FileAnalysis[], options: CodeSmellDetectorOptions): CodeSmell[]; private shouldAnalyzeFile; private detectFileSmells; private detectFunctionSmells; private detectClassSmells; private detectGeneralSmells; private detectCrossFileSmells; private countConditionals; private findMagicNumbers; private findDeadCode; private calculateClassSize; private findDuplicateCode; private detectPrimitiveObsession; private findSwitchStatements; private detectShotgunSurgery; private detectDataClumps; private calculateSeverity; private calculateConfidence; private rankAndFilterSmells; private isStatement; private nodeToLocation; generateSmellReport(smells: CodeSmell[]): CodeSmellReport; private categorizeSmells; private analyzeSeverity; private analyzeSmellTrends; private generateSmellRecommendations; private generateSmellSummary; } interface CodeSmellReport { total: number; categories: Record; severity: Record; trends: any; recommendations: any[]; summary: string; } export {}; //# sourceMappingURL=code-smell-detector.d.ts.map