import type { AgentAdapter } from './types.js'; export interface LLMJudgeConfig { /** Agent name used as the judge. Must already be registered. */ agentName: string; /** Score threshold below which the LLM is consulted (default 1.0). */ threshold?: number; /** Override the default 5s response timeout. */ timeoutMs?: number; } export declare function configureLLMJudge(cfg: LLMJudgeConfig | null): void; /** Read the judge configuration. Used by classifyIntent to know whether * to attempt a fallback at all. */ export declare function getLLMJudge(): LLMJudgeConfig | null; /** * True when intent fallback can run — either via the legacy CLI judge * (`AGIM_LLM_JUDGE_AGENT` env / configureLLMJudge) OR via a native * 'cheap' LLM backend from D+ Stage 1. Router uses this to gate the * fallback path; previously it could only gate on `getLLMJudge()`, * which forced operators to set AGIM_LLM_JUDGE_AGENT even when they * only had a native backend wired. */ export declare function hasIntentFallback(): boolean; /** * Ask the judge agent which candidate to use. Returns null on any * failure path (timeout, judge unavailable, malformed response) so * the caller can keep its rule-based decision. */ export declare function classifyWithLLM(text: string, candidates: string[], resolveAgent: (name: string) => AgentAdapter | undefined): Promise<{ agent: string; reason: string; } | null>; /** Test-only: clear cache so memoization doesn't leak between cases. */ export declare function _clearLLMCache(): void; /** Test/diagnostic: current cache size. */ export declare function _cacheSize(): number; //# sourceMappingURL=intent-llm.d.ts.map