/** * @license * Copyright 2026 Steven Roussey * SPDX-License-Identifier: Apache-2.0 */ import type { AnthropicModelConfig } from "./Anthropic_ModelSchema"; export interface AnthropicThinkingParams { readonly thinking?: Record; readonly output_config?: Record; readonly max_tokens: number; } /** * Claude 4.6+ (and 5.x) accept adaptive thinking + `output_config.effort`. * Earlier thinking-capable ids use `thinking.type = "enabled"` + `budget_tokens`. * Unrecognized ids stay on the legacy path (safer than a 400 on adaptive). */ export declare function anthropicSupportsAdaptiveThinking(model: AnthropicModelConfig | undefined): boolean; /** * Builds Anthropic request thinking fields from native `provider_config` or * `model.effort`. Native `thinking` / `output_config.effort` always win. * `effort: "none"` (or unset with no native knobs) omits thinking fields. */ export declare function buildAnthropicThinkingParams(model: AnthropicModelConfig | undefined, maxTokens: number): AnthropicThinkingParams; /** * Merges thinking / output_config / padded max_tokens onto an Anthropic request * body. Call this after `tool_choice` is on `params` and before sampling params * — both of the guards below read what has already been built. */ export declare function applyAnthropicThinkingParams(params: Record, model: AnthropicModelConfig | undefined): void;