import type { AgentMode, WeaveAgentName } from "./types"; export type FallbackEntry = { providers: string[]; model: string; variant?: string; }; export type AgentModelRequirement = { fallbackChain: FallbackEntry[]; }; export declare const AGENT_MODEL_REQUIREMENTS: Record; export type ResolveAgentModelOptions = { availableModels: Set; agentMode: AgentMode; uiSelectedModel?: string; categoryModel?: string; overrideModel?: string; systemDefaultModel?: string; /** Custom fallback chain for agents not in AGENT_MODEL_REQUIREMENTS */ customFallbackChain?: FallbackEntry[]; }; /** * Resolve the model for an agent. Accepts any string agent name. * Built-in agents use AGENT_MODEL_REQUIREMENTS for fallback chains. * Custom agents use the customFallbackChain option, or fall through * to system default / hardcoded fallback. */ export declare function resolveAgentModel(agentName: string, options: ResolveAgentModelOptions): string;