import { Settings } from '../types/index.cjs'; /** * Model factory — hybrid Strands-native + Vercel AI SDK bridge. * * Native Strands models are used where they work cleanly in the browser: * - anthropic → AnthropicModel (dangerouslyAllowBrowser) * - openai → OpenAIModel (dangerouslyAllowBrowser) * - google → GoogleModel (browser-friendly by default) * * Everything else — including Bedrock with bearer-token auth — goes * through VercelModel wrapping the corresponding @ai-sdk/. * This unlocks ~8 extra providers without writing any glue: * - bedrock → @ai-sdk/amazon-bedrock (bearer token, no SigV4) * - openrouter → @openrouter/ai-sdk-provider (300+ models behind 1 key) * - groq, mistral, deepseek, cohere, perplexity, xai → their @ai-sdk/* pkgs * - webllm → VercelModel + @browser-ai/web-llm (on-device) * * Why hybrid? Native models have slightly richer event shapes (reasoning, * cache deltas, citations) that don't round-trip through LanguageModelV3 * cleanly yet. For the providers where that matters (Anthropic / OpenAI / * Google direct) we stay native; for the rest VercelModel is excellent. * * See: * - https://github.com/strands-agents/sdk-typescript/tree/main/packages/sdk/src/models * - https://sdk.vercel.ai/providers/ai-sdk-providers */ declare function createModel(settings: Settings): Promise; export { createModel };