import type { ContentBlock, ConverseStreamOutput } from '@aws-sdk/client-bedrock-runtime'; type Json = null | boolean | number | string | Json[]; type RecordValue = Record; /** Encodes owned SDK JSON and bytes without colliding with native JSON tags. @internal */ export declare function encodeBedrockNative(value: unknown, omitUndefined?: boolean): Json; /** Decodes strict persisted native values into fresh plain objects and Uint8Arrays. @internal */ export declare function decodeBedrockNative(value: unknown): unknown; interface CapturedBlock { readonly value: RecordValue; readonly input: string; readonly closed: boolean; readonly usable: boolean; } /** Immutable indexed stream capture, including unsupported opaque events. @internal */ export interface BedrockCapture { readonly blocks: Readonly>; readonly messageStopped: boolean; readonly usable: boolean; readonly events: readonly unknown[]; } /** Creates an empty indexed stream capture. @internal */ export declare function createBedrockCapture(): BedrockCapture; /** Adds one SDK stream event while retaining native block order and opaque data. @internal */ export declare function captureBedrockEvent(state: BedrockCapture, event: ConverseStreamOutput): BedrockCapture; /** Returns a fresh fully closed native block for canonical provenance. @internal */ export declare function readBedrockCaptureBlock(state: BedrockCapture, index: number): ContentBlock | undefined; /** Returns complete ordered content only after normal EOF, messageStop and every block STOP. @internal */ export declare function readBedrockCaptureContent(state: BedrockCapture, normalEOF?: boolean): ContentBlock[] | undefined; export {};