import { FileAnalysis, ArchitecturePattern, ModuleGraph } from '../types/analysis'; export interface PatternRecognizerOptions { enabled: boolean; confidenceThreshold: number; analyzeDesignPatterns: boolean; analyzeArchitecturalPatterns: boolean; analyzeFrameworkPatterns: boolean; } interface PatternRecommendation { type: string; priority: 'low' | 'medium' | 'high' | 'critical'; title: string; description: string; patterns: string[]; } export declare class PatternRecognizer { private logger; analyzePatterns(files: FileAnalysis[], moduleGraph: ModuleGraph, options: PatternRecognizerOptions): ArchitecturePattern[]; private detectDesignPatterns; private detectArchitecturalPatterns; private detectFrameworkPatterns; private detectSingletonPattern; private analyzeSingletonClass; private detectFactoryPattern; private analyzeFactoryClass; private analyzeFactoryFunction; private detectObserverPattern; private analyzeObserverClass; private detectStrategyPattern; private detectRepositoryPattern; private analyzeRepositoryClass; private detectMVCPattern; private detectReactPatterns; private findStrategyInterfaces; private findStrategyImplementations; private findMVCModels; private findMVCViews; private findMVCControllers; private findReactComponents; private findReactHooks; private findReactContexts; private detectReactSpecificPatterns; private buildMVCRelationships; private calculateMVCAdherence; private findMVCViolations; private detectDecoratorPattern; private detectBuilderPattern; private detectFacadePattern; private detectAdapterPattern; private detectCommandPattern; private detectMVPPattern; private detectMVVMPattern; private detectLayeredArchitecture; private detectMicroservicePatterns; private detectExpressPatterns; private detectNodejsPatterns; generatePatternReport(patterns: ArchitecturePattern[]): PatternReport; private analyzePatternTypes; private analyzePatternQuality; private generatePatternRecommendations; private generatePatternSummary; } interface PatternReport { total: number; typeDistribution: Record; qualityMetrics: { averageConfidence: number; averageAdherence: number; wellImplemented: number; needsImprovement: number; }; recommendations: PatternRecommendation[]; summary: string; } export {}; //# sourceMappingURL=pattern-recognizer.d.ts.map