import { ConverseCommandOutput, ContentBlock, ToolUseBlock } from '@aws-sdk/client-bedrock-runtime';
export interface BedrockMessage {
    role: 'user' | 'assistant';
    content: string | ContentBlock[];
}
export interface BedrockTool {
    name: string;
    description: string;
    input_schema: {
        type: 'object';
        properties: Record<string, any>;
        required?: string[];
    };
}
export declare class BedrockClient {
    private client;
    private modelId;
    private retry;
    constructor();
    sendMessage(messages: BedrockMessage[], tools?: BedrockTool[], systemPrompt?: string): Promise<ConverseCommandOutput>;
    streamMessage(messages: BedrockMessage[], tools?: BedrockTool[], systemPrompt?: string): AsyncGenerator<string | ToolUseBlock, void, unknown>;
}
//# sourceMappingURL=bedrock-client.d.ts.map