import { type Message, type SystemContentBlock, type ToolConfiguration } from "@aws-sdk/client-bedrock-runtime";
import type { Context, Model, SimpleStreamOptions, StreamFunction, StreamOptions, ThinkingBudgets, ThinkingLevel } from "../types.js";
export interface BedrockOptions extends StreamOptions {
    region?: string;
    profile?: string;
    toolChoice?: "auto" | "any" | "none" | {
        type: "tool";
        name: string;
    };
    reasoning?: ThinkingLevel;
    thinkingBudgets?: ThinkingBudgets;
    interleavedThinking?: boolean;
}
export declare class BedrockRequestBuilder {
    private readonly model;
    private readonly context;
    private readonly options;
    constructor(model: Model<"bedrock-converse-stream">, context: Context, options: BedrockOptions);
    build(): {
        modelId: string;
        messages: Message[];
        system: SystemContentBlock[] | undefined;
        inferenceConfig: {
            maxTokens: number | undefined;
            temperature: number | undefined;
        };
        toolConfig: ToolConfiguration | undefined;
        additionalModelRequestFields: Record<string, any> | undefined;
    };
}
export declare const streamBedrock: StreamFunction<"bedrock-converse-stream", BedrockOptions>;
export declare const streamSimpleBedrock: StreamFunction<"bedrock-converse-stream", SimpleStreamOptions>;
