import { type DecideConfig, type ModelType, type SmolConfig } from "smoltalk"; import { type AgencyConfig } from "../config/config.js"; export type LlmBaseUrls = NonNullable & Pick, "typesafe">; /** Prefer the selected provider's record when several providers share a name. */ export declare function modelRecord(config: Partial): ModelType | undefined; /** Switching between text and decision models selects the new model's provider. * An explicit provider or a repeated model keeps the selected route. */ export declare function modelProviderOverride(defaults: Partial, override: Partial): string | undefined; export declare function mergeLlmConfig(defaults: Partial, override: Partial): Partial; /** The smoltalk defaults a `client` config block gives over the baked ones: * the keys and base URLs merged per provider, the log level and the * OpenRouter preferences replaced whole, and the model with its provider * by `defaultRoute`, the compile-time rule, with the baked model and * provider as the fallback. */ export declare function inheritClientDefaults(baked: Partial, client: NonNullable): Partial;