import { type ModelMessage } from "ai"; import type { HarnessToolDefinition } from "#harness/execute-tool.js"; import type { HandleMessageStreamEvent } from "#protocol/message.js"; import type { ResolvedDynamicToolResolver } from "#runtime/types.js"; import type { ContextContainer } from "#context/container.js"; import type { DurableDynamicToolMetadata } from "#context/keys.js"; /** * Reconstructs tool definitions from durable metadata using * registered step functions. No resolver re-invocation — the * execute function is looked up by step ID and called with stored * closure vars. */ export declare function replayDynamicSessionTools(metadata: readonly DurableDynamicToolMetadata[], _resolvers: readonly ResolvedDynamicToolResolver[]): readonly HarnessToolDefinition[]; /** * Dispatches a stream event to dynamic tool resolvers. Each * resolver's metadata replaces its slot (by slug) in the * scope-appropriate durable key. The tool-loop calls * {@link buildDynamicTools} to assemble the effective toolset. */ export declare function dispatchDynamicToolEvent(input: { readonly ctx: ContextContainer; readonly resolvers: readonly ResolvedDynamicToolResolver[]; readonly event: HandleMessageStreamEvent; readonly messages: readonly ModelMessage[]; }): Promise;