import { SemanticAnalysisResult, SemanticAnalysisConfig, RefactoringOpportunity, NamingViolation, ArchitecturalViolation } from '@/types/analysis'; import { ProjectContext } from '@/types'; import { EventEmitter } from 'events'; export declare class SerenaSemanticConsistencyService extends EventEmitter { private _projectContext?; private logger; private analysisCache; private patternCache; private lastAnalysisTime; private defaultConfig; constructor(_projectContext?: ProjectContext | undefined); analyzeSemanticConsistency(targetPath?: string, config?: Partial): Promise; private analyzeSemanticPatterns; private detectNamingPatterns; private detectArchitecturalPatterns; private detectAntiPatterns; private detectCustomPatterns; private analyzeNamingConsistency; private analyzeArchitecturalConsistency; private analyzeCrossFileConsistency; private calculateSemanticQualityMetrics; private generateSemanticRecommendations; private identifyRefactoringOpportunities; applySemanticRefactoring(opportunity: RefactoringOpportunity, options?: { dryRun?: boolean; createBackup?: boolean; validateAfter?: boolean; }): Promise<{ success: boolean; filesModified: string[]; summary: string; warnings: string[]; errors: string[]; }>; validateConsistency(files: string[], config?: Partial): Promise<{ isConsistent: boolean; violations: NamingViolation[]; architecturalIssues: ArchitecturalViolation[]; recommendations: string[]; score: number; }>; private getCachedResult; private cacheResult; private generateCacheKey; private generateRegexFromPattern; private mapPatternToCase; private assessCodebaseMaturity; private extractDominantPatterns; private identifyArchitecturalStyles; private validateFileConsistency; private createRefactoringBackup; private eliminateCodeDuplication; private consolidatePatterns; private standardizeNaming; private validateRefactoringResult; getOrchestrationTools(): Array<{ name: string; description: string; parameters: Record; handler: (ctx: any, args: any) => Promise; }>; private generateMarkdownReport; private generateSummaryReport; registerWithOrchestrator(orchestrator: any): Promise; getServiceStatus(): { id: string; status: 'healthy' | 'degraded' | 'error'; metrics: { cacheSize: number; lastAnalysisTime: number; analysisCount: number; averageAnalysisTime: number; }; capabilities: string[]; }; cleanup(): Promise; } //# sourceMappingURL=serena-semantic-consistency.d.ts.map