import type { AgentTypedModel } from '../../../config/schema.js';
/**
 * Coerce PATCH body `models[]` into validated typed model entries.
 * Returns `null` to clear, `undefined` when input should be skipped, or cleaned array.
 * Empty array after filtering → `null` (same as clear).
 */
export declare function normalizePatchTypedModels(v: unknown): AgentTypedModel[] | null | undefined;
/** Read `primary` from an `AgentModelConfig` object. */
export declare function agentModelRefToString(ref: unknown): string | undefined;
export declare function agentModelFallbacksToArray(ref: unknown): string[];
/**
 * Coerce a PATCH body `model` value into the canonical `{ primary, fallbacks? }`
 * object form. Returns `undefined` when the input has no usable primary so the
 * caller can skip the assignment.
 */
export declare function normalizePatchAgentModel(v: unknown): {
    primary: string;
    fallbacks?: string[];
} | undefined;
/** Read `timeoutMs` from an image-generation model ref (only set when ref is an object). */
export declare function agentImageGenerationModelTimeoutMs(ref: unknown): number | null;
/** Read `autoProviderFallback` from an image-generation model ref. Defaults to false. */
export declare function agentImageGenerationModelAutoProviderFallback(ref: unknown): boolean;
/**
 * PATCH body normalizer for `agents.defaults.imageGenerationModel`. Always
 * emits `{ primary, fallbacks?, timeoutMs?, autoProviderFallback? }`. Returns
 * `undefined` when the input has no usable primary so the caller can skip the
 * assignment.
 */
export declare function normalizePatchAgentImageGenerationModel(v: unknown): {
    primary: string;
    fallbacks?: string[];
    timeoutMs?: number;
    autoProviderFallback?: true;
} | undefined;
