/**
 * BedrockAdapter -- AWS Bedrock transport adapter.
 *
 * Implements LlmProviderAdapter for AWS Bedrock InvokeModel and
 * InvokeModelWithResponseStream REST endpoints.
 *
 * Wire format:
 *   POST https://bedrock-runtime.<region>.amazonaws.com/model/<modelId>/invoke
 *   POST https://bedrock-runtime.<region>.amazonaws.com/model/<modelId>/invoke-with-response-stream
 *
 * Auth: AWS Signature Version 4 (inline -- no AWS SDK).
 *
 * Model families (LlmModelFamily):
 *   anthropic.*   -> 'claude'
 *   amazon.*      -> 'titan'
 *   meta.*        -> 'llama'
 *   mistral.*     -> 'mistral'
 *   <other>       -> 'unknown'
 *
 * Region: required at initialize(). No env fallback. Silent region
 * selection is a data-sovereignty risk (spec AC 10).
 *
 * No AWS SDK. All signing done inline per AWS SigV4 spec.
 *
 * Spec: P3-SUB-01 AC 8-11 (BedrockAdapter)
 *
 * @connexum/ai-governance
 */
import { BaseProviderAdapter } from './base';
import type { LlmAdapterConfig, LlmAdapterCapabilities, LlmChatRequest, LlmChatResponse, LlmStreamChunk, LlmModelFamily, LlmToolUseRequest, LlmToolUseResponse, LlmModelDescriptor } from './index';
import { LlmProviderError } from './index';
/** Bedrock runtime API date-version this adapter was tested against */
export declare const TESTED_API_VERSION = "2023-05-31";
export interface BedrockAdapterConfig extends LlmAdapterConfig {
    /** AWS region (required -- no env fallback per AC 10) */
    region: string;
    /** AWS access key ID */
    awsAccessKeyId?: string;
    /** AWS secret access key */
    awsSecretAccessKey?: string;
    /** AWS session token (for temporary credentials) */
    awsSessionToken?: string;
    /** Base URL override (useful for tests pointing at local mock servers) */
    baseUrl?: string;
}
export declare function detectModelFamily(modelId: string): LlmModelFamily;
export declare class BedrockAdapter extends BaseProviderAdapter {
    readonly adapterId = "bedrock";
    readonly providerId = "amazon";
    private bedrockConfig;
    initialize(config: LlmAdapterConfig): void;
    private buildUrl;
    private buildSignedHeaders;
    private convertMessages;
    private validateModelId;
    chat(request: LlmChatRequest): Promise<LlmChatResponse>;
    private chatOnce;
    chatStream(request: LlmChatRequest): AsyncIterable<LlmStreamChunk>;
    invokeToolUse(request: LlmToolUseRequest): Promise<LlmToolUseResponse>;
    private invokeToolUseOnce;
    enumerateModels(): Promise<LlmModelDescriptor[]>;
    translateError(raw: unknown): LlmProviderError;
    getCapabilities(): LlmAdapterCapabilities;
    private handleHttpErrors;
    private mapStopReason;
}
//# sourceMappingURL=bedrock.d.ts.map