import { EventEmitter } from 'events'; import { ProjectContext } from '../types'; import { SessionState } from './session-manager'; import { MemoryConfig, ConversationMessage, UserFeedback, UserProfile, KnowledgeGraph, AdaptationDecision } from '../types/memory'; export interface EnhancedChatOptions { model?: string; maxTokens?: number; userId?: string; sessionId?: string; projectPath?: string; enableMemory?: boolean; enableLearning?: boolean; enableAdaptation?: boolean; contextWindow?: number; } export interface EnhancedChatDependencies { projectContext?: ProjectContext; userProfile: UserProfile; sessionState: SessionState; conversationHistory: ConversationMessage[]; relevantKnowledge: KnowledgeGraph; adaptationRules: AdaptationDecision[]; sessionData: { startTime: Date; messageCount: number; topics: string[]; outcomes: string[]; }; } export interface ChatResponse { content: string; messageId: string; sessionId: string; adaptationsApplied: string[]; suggestions: string[]; learnedInsights: string[]; contextUsed: { conversationHistory: number; projectContext: boolean; userProfile: boolean; knowledgeGraph: boolean; }; metrics: { responseTime: number; tokensUsed: number; confidence: number; adaptationConfidence: number; }; } export declare class EnhancedChatService extends EventEmitter { private logger; private projectAnalyzer; private configManager; private antiHallucinationValidator; private agent; private memoryManager; private conversationMemory; private projectStorage; private knowledgeGraph; private learningEngine; private sessionManager; private currentSession?; private memoryEnabled; private learningEnabled; private adaptationEnabled; constructor(memoryConfig?: Partial); sendMessage(message: string, options?: EnhancedChatOptions): Promise; addUserFeedback(messageId: string, feedback: UserFeedback): Promise; createSessionBranch(reason: string, description?: string): Promise; restoreSession(sessionId: string, restorePoint?: Date | string): Promise; getConversationHistory(limit?: number): Promise; searchSimilarConversations(query: string, limit?: number): Promise; getProjectInsights(projectPath?: string): Promise; getUserProfile(userId?: string): Promise; getSessionSummary(): Promise; setMemoryEnabled(enabled: boolean): void; setLearningEnabled(enabled: boolean): void; setAdaptationEnabled(enabled: boolean): void; private ensureSession; private analyzeIncomingMessage; private buildConversationContext; private applyAdaptations; private mapActionToType; private createChatDependencies; private learnFromInteraction; private updateKnowledgeGraph; private generateSuggestions; private extractLearnedInsights; private getSystemPrompt; private setupEventListeners; private classifyIntent; private detectCodeGeneration; private assessUnderstanding; private needsFollowUp; private extractConcepts; private detectSkillImprovement; private estimateTokens; private createDefaultProfile; initialize(): Promise; shutdown(): Promise; } //# sourceMappingURL=enhanced-chat-service.d.ts.map