import type { ContentBlock } from '@aws-sdk/client-bedrock-runtime'; import { type ɵToolStep } from '@hashbrownai/core'; /** Native server invocation owned by Bedrock. @internal */ export interface BedrockProviderCall { readonly id: string; readonly name: string; readonly builtin?: 'web_search' | 'code_execution'; readonly input: unknown; readonly nativeBlock: ContentBlock; readonly startedAt?: number; } /** Settled native tool result and its independent owned provenance. @internal */ export interface BedrockProviderResult { readonly step: ɵToolStep; readonly content: string; readonly nativeBlock: ContentBlock; } /** Reads server-owned invocations, preserving arbitrary JSONDocument inputs. @internal */ export declare function readBedrockProviderCall(block: unknown, startedAt?: number): BedrockProviderCall | undefined; /** Creates a full running step without treating invocation closure as success. @internal */ export declare function bedrockRunningStep(call: BedrockProviderCall): ɵToolStep; /** Matches results only by unique native ID and rejects mismatched concrete families. @internal */ export declare function matchBedrockProviderResult(block: unknown, calls: readonly BedrockProviderCall[]): BedrockProviderCall | undefined; /** Normalizes a completed native result while independently preserving its full native block. @internal */ export declare function readBedrockProviderResult(call: BedrockProviderCall, block: unknown, settledAt?: number): BedrockProviderResult | undefined;