import { OpenAIBaseChatCompletionsTextAdapter } from '@tanstack/openai-base'; import { Modality } from '@tanstack/ai'; import { BedrockClientConfig } from '../utils/client.js'; import { BedrockMessageMetadataByModality } from '../message-types.js'; import { BedrockChatModelToolCapabilitiesByName, BedrockChatModels, ResolveInputModalities, ResolveProviderOptions } from '../model-meta.js'; export interface BedrockTextConfig extends BedrockClientConfig { } export type { ExternalTextProviderOptions as BedrockTextProviderOptions } from '../text/text-provider-options.js'; type ResolveToolCapabilities = TModel extends keyof BedrockChatModelToolCapabilitiesByName ? NonNullable : readonly []; /** * Bedrock Chat Completions adapter. Drives Bedrock's OpenAI-compatible * `/chat/completions` endpoint via the OpenAI SDK with a baseURL override * (same pattern as ai-groq). Tool conversion, streaming, structured output, * and the agent loop come from the base. */ export declare class BedrockTextAdapter = ResolveProviderOptions, TInputModalities extends ReadonlyArray = ResolveInputModalities, TToolCapabilities extends ReadonlyArray = ResolveToolCapabilities> extends OpenAIBaseChatCompletionsTextAdapter { readonly kind: "text"; readonly name: "bedrock"; constructor(config: BedrockTextConfig, model: TModel); /** * Surface reasoning deltas (gpt-oss / Claude reasoning) the OpenAI-compatible * way. Base types the chunk as `unknown`; narrow with runtime guards — no * `as` casts, no `any`. */ protected extractReasoning(chunk: unknown): { text: string; } | undefined; } /** Chat adapter with an explicit API key (low-level; the public branching factory delegates here). */ export declare function createBedrockChat(model: TModel, apiKey: string, config?: Omit): BedrockTextAdapter;