import { Agent } from '../agent';
import { Model, ModelSettings } from '../model';
import { AgentToolUseTracker } from './toolUseTracker';
export { mergeModelSettings } from './modelSettingsMerge';
/**
 * Resolves the effective model for the next turn by giving precedence to the agent-specific
 * configuration when present, otherwise falling back to the runner-level default.
 */
export declare function selectModel(agentModel: string | Model, runConfigModel: string | Model | undefined): string | Model;
/**
 * Resets the tool choice when the agent is configured to prefer a fresh tool selection after
 * any tool usage. This prevents the provider from reusing stale tool hints across turns.
 */
export declare function maybeResetToolChoice(agent: Agent<any, any>, toolUseTracker: AgentToolUseTracker, modelSettings: ModelSettings): ModelSettings;
/**
 * Preserves legacy settings cleanup for explicitly selected models outside the
 * GPT-5-and-newer reasoning family when the default model belongs to that family.
 */
export declare function adjustModelSettingsForLegacyModel(explicitlyModelSet: boolean, agentModelSettings: ModelSettings, modelSettings: ModelSettings, resolvedModelName?: string): ModelSettings;
