import type { ModelSettings } from '../model';
export type ToolExecutionConfig = {
    /**
     * Maximum number of local function tool calls to execute concurrently.
     * Set to `null` or leave unset to start all function tool calls emitted in a turn.
     * This does not change provider-side `parallelToolCalls` behavior.
     */
    maxFunctionToolConcurrency?: number | null;
    /**
     * Runs function tool input guardrails before emitting a pending human approval interruption.
     * The same guardrails still run again immediately before tool execution after approval.
     */
    preApprovalInputGuardrails?: boolean;
};
export type ToolNameCollisionPolicy = 'warn' | 'error';
export declare function validateToolNameCollisionPolicy(policy: ToolNameCollisionPolicy | undefined): ToolNameCollisionPolicy;
export declare function getImplicitModelSettingsForResolvedModel(explicitlyModelSet: boolean, resolvedModelName?: string): ModelSettings;
export declare function validateToolExecutionConfig(config: ToolExecutionConfig | undefined): ToolExecutionConfig | undefined;
