import { type LLMModel, type LLMProviders, type LLMPurposes } from '../LLMService.typedefs'; import { type LLMPromptConfig } from '../client/llmConfig.schema'; import { type LLMCapabilityRequirement } from '../client/defineLLMPrompts'; export type GateFailureReason = 'config-parse' | 'unknown-model' | 'unmet-capabilities'; export interface GateInput { rawConfig: unknown; requires: LLMCapabilityRequirement[]; purpose: LLMPurposes; } export type GateResult = { valid: true; config: LLMPromptConfig; model: LLMModel; } | { valid: false; reason: GateFailureReason; detail: string; }; /** * The runtime config gate, run on every prompt fetch (live or fallback). Prompt * variables are a code-owned compile-time contract; this gate validates only * routing configuration and model capabilities. */ export declare function runValidationGate(input: GateInput): GateResult;