import { Intent, IntentRecognitionConfig, ConfidenceLevel } from '../types/nl.js'; import { IntentMatch } from './patterns.js'; export type RecognitionStrategy = 'pattern' | 'llm' | 'hybrid'; export interface RecognitionResult { intent: Intent; confidence: number; confidenceLevel: ConfidenceLevel; entities: Record; strategy: RecognitionStrategy; alternatives: Array<{ intent: Intent; confidence: number; strategy: RecognitionStrategy; }>; processingTime: number; metadata: { patternMatches?: IntentMatch[]; llmUsed?: boolean; fallbackReason?: string; timestamp: Date; }; } export declare class IntentRecognitionEngine { private static instance; private config; private patternEngine; private llmFallback; private recognitionStats; private constructor(); static getInstance(): IntentRecognitionEngine; private initializeConfig; private updateConfigFromLoaded; private getDefaultConfig; recognizeIntent(text: string, context?: Record): Promise; private recognizeWithPatterns; private recognizeWithLLM; private recognizeWithHybrid; private tryFallbackStrategy; disambiguateIntents(text: string, candidates: RecognitionResult[], _context?: Record): Promise; private buildDisambiguationPrompt; learnFromFeedback(originalText: string, recognizedIntent: Intent, correctIntent: Intent, userFeedback: string): Promise; getStatistics(): { successRate: number; totalRequests: number; successfulRecognitions: number; failedRecognitions: number; strategyUsage: { pattern: number; llm: number; hybrid: number; }; }; updateConfig(config: Partial): void; getConfig(): IntentRecognitionConfig; resetStatistics(): void; } //# sourceMappingURL=intent-recognizer.d.ts.map