import { EventEmitter } from 'events'; import type { TDDPhase, TDDPhaseConfig, ToolExecutionContext, OrchestrationResult, QualityMetrics } from '../types/ai-tool-integration.js'; import { AIToolIntegrationPlaybookService } from './ai-tool-integration-playbook.js'; interface TDDCycleState { currentPhase: TDDPhase; cycleNumber: number; startTime: Date; testSuite: TDDTestSuite; implementation: TDDImplementation; refactoring: TDDRefactoring; metrics: TDDCycleMetrics; } interface TDDTestSuite { tests: TDDTest[]; coverage: number; passingTests: number; failingTests: number; lastRun: Date; quality: QualityMetrics; } interface TDDTest { id: string; name: string; description: string; status: 'pending' | 'failing' | 'passing' | 'error'; code: string; expectedBehavior: string; actualBehavior?: string; assertionCount: number; executionTime: number; createdAt: Date; lastModified: Date; } interface TDDImplementation { code: string; complexity: number; quality: QualityMetrics; coverage: number; dependencies: string[]; patterns: string[]; lastModified: Date; } interface TDDRefactoring { opportunities: RefactoringOpportunity[]; appliedRefactorings: AppliedRefactoring[]; qualityImprovement: number; complexityReduction: number; lastRefactor: Date; } interface RefactoringOpportunity { type: 'extract_method' | 'rename' | 'remove_duplication' | 'improve_performance' | 'enhance_readability'; description: string; location: string; impact: 'low' | 'medium' | 'high'; effort: number; confidence: number; } interface AppliedRefactoring { opportunity: RefactoringOpportunity; appliedAt: Date; result: 'success' | 'failure' | 'partial'; qualityBefore: QualityMetrics; qualityAfter: QualityMetrics; } interface TDDCycleMetrics { cycleDuration: number; redPhaseDuration: number; greenPhaseDuration: number; refactorPhaseDuration: number; testCount: number; codeChurn: number; qualityImprovement: number; velocityScore: number; } export declare class TDDToolOrchestrationService extends EventEmitter { private readonly logger; private playbook; private cycleState; private phaseConfigs; private cycleHistory; private readonly defaultTDDConfig; constructor(playbook: AIToolIntegrationPlaybookService); startTDDCycle(requirement: string, context: ToolExecutionContext): Promise; executeREDPhase(requirement: string, context: ToolExecutionContext): Promise; executeGREENPhase(context: ToolExecutionContext): Promise; executeREFACTORPhase(context: ToolExecutionContext): Promise; private createTestDesignRequest; private createTestCodeRequest; private createTestValidationRequest; private createImplementationGuidanceRequest; private createImplementationCodeRequest; private createImplementationValidationRequest; private createRefactorAnalysisRequest; private createRefactorStrategyRequest; private createModernPatternsRequest; private runTests; private hasFailingTests; private allTestsPassing; private updateTestSuiteFromResults; private iterativeImplementationImprovement; private createFailureAnalysisRequest; private createImprovementRequest; private applyRefactorings; private finalizeTDDCycle; private initializeDefaultTDDConfigurations; private setupEventHandlers; private onRedPhaseCompleted; private onGreenPhaseCompleted; private onRefactorPhaseCompleted; private onTDDCycleCompleted; private initializeTestSuite; private initializeImplementation; private initializeRefactoring; private initializeCycleMetrics; private initializeQualityMetrics; private detectTestingFramework; private detectFramework; private detectLanguage; private extractRequiredSymbol; private getTestFilePath; private getImplementationFilePath; private createPhaseViolationResult; private createPhaseErrorResult; private createIterativeImprovementResult; private updateTestSuite; private updateImplementation; private extractRefactoringOpportunities; private prioritizeRefactorings; private measureCodeQuality; private applyIndividualRefactoring; private rollbackRefactoring; private rollbackLastRefactoring; private calculateQualityImprovement; private calculateVelocityScore; private getFinalQualityMetrics; private getFinalPerformanceMetrics; private calculateUserSatisfaction; private generateCycleRecommendations; getCurrentCycleState(): Promise; getCycleHistory(): Promise; getCycleMetrics(): Promise; getPhaseConfiguration(phase: TDDPhase): Promise; updatePhaseConfiguration(phase: TDDPhase, config: TDDPhaseConfig): Promise; } export {}; //# sourceMappingURL=tdd-tool-orchestration.d.ts.map