import { type Experimental_EvaluationModel as EvaluationModel } from "ai";
import { type DynamicSentinel } from "#dynamic/definition.js";
import type { AgentReasoningDefinition, PublicAgentDynamicModelResult, PublicAgentStaticModelDefinition } from "#shared/agent-definition.js";
type AutoOption = string | {
    readonly model: PublicAgentStaticModelDefinition;
    readonly description: string;
    readonly reasoning?: AgentReasoningDefinition;
};
interface AutoConfig<T extends Readonly<Record<string, AutoOption>> = Readonly<Record<string, AutoOption>>> {
    /** Evaluation model instance or ID. Defaults to TypeSafe Jev through AI SDK model resolution. */
    readonly model?: EvaluationModel;
    readonly options: T;
}
/** Select a language model from the current prompt with an AI SDK evaluation model. */
export declare function auto<const T extends Readonly<Record<string, AutoOption>>>(config: AutoConfig<T>): DynamicSentinel<PublicAgentDynamicModelResult>;
export {};
