/** * Model detection utilities for capability checking */ export declare function isGemini3Model(modelName: string): boolean; export declare function isGemini25Model(modelName: string): boolean; export declare function supportsThinkingConfig(modelName: string): boolean; export declare function supportsPromptCaching(modelName: string): boolean; export declare function getMaxThinkingBudgetTokens(modelName: string): number; export declare function getModelFamily(modelName: string): string; /** * Check if a model has restricted output token limit (32768 max) * This applies to: * - All Gemini 3 models (gemini-3-flash, gemini-3-pro, etc.) * - Image generation models (gemini-2.5-flash-image, gemini-3-pro-image-preview) */ export declare function hasRestrictedOutputLimit(modelName: string): boolean; /** * Get the max output tokens for a model (32768 for restricted models) */ export declare const RESTRICTED_OUTPUT_TOKEN_LIMIT = 32768; /** * Normalize an Anthropic-API-style Claude model ID to the Vertex publisher * format. * * The Anthropic API dates models with a trailing dash segment * ("claude-haiku-4-5-20251001") while Vertex publisher IDs separate the date * with "@" ("claude-haiku-4-5@20251001"). Vertex rejects the dash form with a * 404 (verified live against us-east5), so the native Vertex+Claude paths * normalize before calling @anthropic-ai/vertex-sdk. * * Pass-through cases: IDs already in "@" form, bare aliases with no date * ("claude-sonnet-4-6" — Vertex resolves these itself), and non-Claude models. * Legacy v2-suffixed Vertex IDs ("claude-3-5-sonnet-v2@20241022") have no * dash-date equivalent, so those legacy dash IDs stay out of scope: they 404 * today and still 404 after the transform — no regression either way. */ export declare function toVertexAnthropicModelId(modelName: string): string;