import type { ProcessedInput } from "../infra/NaturalLanguageProcessor";
import { RouterConfig } from "../types/common-types";
export interface RecognizedIntent {
    command: string;
    confidence: number;
    alternatives?: Array<{
        command: string;
        confidence: number;
    }>;
    reasoning?: string;
}
export interface IntentRecognizerDependencies {
    knownCommands: string[];
}
export declare class IntentRecognizer {
    private config;
    private intentPatterns;
    private contextClues;
    private commandHistory;
    private initialized;
    private dependencies;
    private metrics;
    constructor(config?: RouterConfig, dependencies?: IntentRecognizerDependencies);
    initialize(): Promise<void>;
    recognize(input: ProcessedInput): Promise<RecognizedIntent | null>;
    private calculatePatternScores;
    private calculateKeywordScores;
    private calculateContextScores;
    private calculateEntityScores;
    private calculateHistoricalScores;
    private boostScore;
    private getRelatedCommands;
    private generateReasoning;
    updateModel(_input: string, correctCommand: string, _wasCorrect: boolean): Promise<void>;
    getMetrics(): {
        p95_ms: number;
        avg_ms: number;
        total: number;
        null_rate: number;
        fuzzy_only_blocked: number;
    };
    private initializePatterns;
    private calculateFuzzyCommandScores;
    private calculateEditDistance;
}
