export declare const REASONING_EFFORTS: readonly ["auto", "none", "minimal", "low", "medium", "high", "xhigh", "max"]; export type ReasoningEffort = (typeof REASONING_EFFORTS)[number]; /** * Shared chat always chooses an explicit reasoning tier. Keep `auto` in the * accepted type only so older persisted selections and external callers can * migrate cleanly; new UI and engine defaults resolve it to Medium. */ export declare const DEFAULT_REASONING_EFFORT: ReasoningEffort; export declare const REASONING_EFFORT_LABELS: Record; export declare function isReasoningEffort(value: unknown): value is ReasoningEffort; export declare function getReasoningEffortOptionsForModel(model: string | undefined): ReasoningEffort[]; export declare function normalizeReasoningEffortForModel(model: string | undefined, effort: ReasoningEffort | undefined): ReasoningEffort | undefined; /** * Normalize a chat request before it reaches an engine. Explicit off/minimal * sentinels must survive this layer so the engine can distinguish them from a * missing selection, which now means the Medium default. */ export declare function normalizeReasoningEffortForRequest(model: string | undefined, effort: ReasoningEffort | undefined): ReasoningEffort | undefined; export declare function reasoningEffortLabel(effort: ReasoningEffort | undefined): string; /** * Resolve a user-facing selection for a model. Legacy `auto`, missing values, * and tiers unsupported by the newly selected model all become Medium. * Non-reasoning models still retain Medium in persisted chat state so moving * back to a reasoning model has a predictable default; their engines omit the * effort through `normalizeReasoningEffortForModel`. */ export declare function resolveReasoningEffortSelection(model: string | undefined, effort: ReasoningEffort | undefined): ReasoningEffort; export declare function stepDownReasoningEffort(effort: ReasoningEffort | undefined): ReasoningEffort | undefined; /** * Anthropic's adaptive-thinking API is only available on the newer Claude * model families. Claude Haiku 4.5 is reasoning-capable, but it still * requires the legacy manual `budget_tokens` configuration. */ export declare function supportsClaudeAdaptiveThinking(model: string | undefined): boolean; /** * Map the shared reasoning ladder to Anthropic's manual thinking budgets for * models that do not support adaptive thinking (currently Claude Haiku 4.5). */ export declare function anthropicManualThinkingBudget(effort: ReasoningEffort): 1024 | 4096 | 8000 | 16000 | 32000; //# sourceMappingURL=reasoning-effort.d.ts.map