import type { Api, Context, Model, SimpleStreamOptions, StreamOptions, ThinkingBudgets, ThinkingLevel } from "../types.js"; /** Approximate input token count for a request context (system + messages). */ export declare function estimateContextTokens(context: Context): number; /** * Resolve the per-request output token budget. * * The model's own `maxTokens` is the ceiling. When a request context is * available and the model advertises a context window, we additionally cap so * `input + output` fits the window (a hard API requirement for Anthropic, * Bedrock and Gemini), leaving a small margin for estimate error and never * dropping below MIN_OUTPUT_TOKENS. This replaces a flat 32k clamp that both * throttled large-output models and ignored the window constraint entirely. */ export declare function resolveMaxOutputTokens(model: Model, context?: Context): number; export declare function buildBaseOptions(model: Model, options?: SimpleStreamOptions, apiKey?: string, context?: Context): StreamOptions; export declare function clampReasoning(effort: ThinkingLevel | undefined): Exclude | undefined; export declare function adjustMaxTokensForThinking(baseMaxTokens: number, modelMaxTokens: number, reasoningLevel: ThinkingLevel, customBudgets?: ThinkingBudgets): { maxTokens: number; thinkingBudget: number; }; //# sourceMappingURL=simple-options.d.ts.map