import type { ToolSet, TypedToolCall } from "ai"; import type { ActionPresentationByCallId } from "#protocol/message.js"; import type { HarnessToolDefinition } from "#harness/execute-tool.js"; import type { HarnessToolLookup } from "#harness/types.js"; import type { RuntimeActionRequest } from "#shared/action-types.js"; export interface RuntimeActionRequestProjection { readonly action: RuntimeActionRequest; readonly presentationLabel?: string; } export declare function createPresentedRuntimeActionRequestFromToolCall(input: { readonly toolCall: TypedToolCall; readonly tools: HarnessToolLookup; }): RuntimeActionRequestProjection; /** Calls a tool's label callback with a detached, JSON-safe input copy. */ export declare function projectToolStartLabel(definition: { readonly label?: HarnessToolDefinition["label"]; } | undefined, input: unknown): string | undefined; export declare function collectActionPresentation(actions: readonly RuntimeActionRequestProjection[]): ActionPresentationByCallId | undefined;