import { LLM } from '../../agents/providers.js';
/**
* Configuration options for the {@link AWSBedrockLLM} provider.
*
* Credentials resolve as explicit option -> environment variable -> the default
* AWS credential chain (IAM role / shared profile).
*/
export type AWSBedrockLLMOptions = {
/** Bedrock model id or inference profile ARN. Falls back to `BEDROCK_INFERENCE_PROFILE_ARN`. Default: `'amazon.nova-lite-v1:0'`. */
model?: string;
/** AWS region for Bedrock Runtime. Falls back to `AWS_DEFAULT_REGION` / `AWS_REGION`, then `'us-east-1'`. */
region?: string;
/** Falls back to the `AWS_ACCESS_KEY_ID` env var. */
awsAccessKeyId?: string;
/** Falls back to the `AWS_SECRET_ACCESS_KEY` env var. */
awsSecretAccessKey?: string;
/** Falls back to the `AWS_SESSION_TOKEN` env var. */
awsSessionToken?: string;
/** Sampling temperature. Default: `0.7`. */
temperature?: number;
/** Max tokens generated per response. Default: `1024`. (Legacy `maxTokens`/`max_tokens` also accepted.) */
maxOutputTokens?: number;
/** Nucleus sampling probability mass. Default: `null`. */
topP?: number | null;
/** Top-K tokens considered (sent via additional request fields; model support varies). Default: `null`. */
topK?: number | null;
/** Sequences that stop generation; a string or list. Default: `null`. */
stopSequences?: string[] | string | null;
/** `'auto'`, `'required'`, `'none'`, or a tool name. Default: `'auto'`. */
toolChoice?: string;
/** Add a prompt-cache checkpoint after the system prompt. Default: `null`. */
cacheSystem?: boolean | null;
/** Add a prompt-cache checkpoint after the tool definitions. Default: `null`. */
cacheTools?: boolean | null;
/** Remove `...` spans from the streamed text. Default: `null` (provider default). */
stripThinking?: boolean | null;
/** Parse function calls a model prints as plain text instead of native Converse tool use. Default: `null` (auto). */
textToolCalls?: boolean | null;
/** Extra `additionalModelRequestFields` merged into the Converse request. Default: `null`. */
additionalRequestFields?: Record | null;
[key: string]: any;
};
declare class AWSBedrockLLMImpl extends LLM {
static readonly displayName = "AWSBedrockLLM";
_providerName: string;
model: string;
region: string;
accessKeyId?: string;
secretAccessKey?: string;
sessionToken?: string;
temperature: number;
maxOutputTokens: number;
topP: number | null;
topK: number | null;
stopSequences: string[] | string | null;
toolChoice: string;
cacheSystem: boolean | null;
cacheTools: boolean | null;
stripThinking: boolean | null;
textToolCalls: boolean | null;
additionalRequestFields: Record | null;
constructor(opts?: AWSBedrockLLMOptions);
getRuntimeConfig(): Record;
}
export type AWSBedrockLLM = AWSBedrockLLMImpl;
/**
* AWS Bedrock LLM provider (Converse API).
*
* Streams text generation and function/tool calling from any Bedrock-hosted
* model (Amazon Nova, Anthropic Claude, Meta Llama, Mistral, Google Gemma).
*/
export declare const AWSBedrockLLM: (opts?: AWSBedrockLLMOptions) => AWSBedrockLLM;
export {};