import type { AgentToolResult, ToolDefinition } from "@earendil-works/pi-coding-agent"; export { canDeliverProtectedOutput, resolveActiveCodexProvider, resolveProtectedOutputScope, protectedAccountScope, bindProtectedOutputScope, protectedOutputScope } from "./tools/code-mode/protected-output.ts"; import type { TSchema } from "typebox"; export { type CodeModeExtensionToolProvider, type CodeModeExtensionToolRegistration, type CodeModeExtensionToolRegistrationOptions, registerCodeModeExtensionTools, } from "./code-mode-extension-tools.ts"; import type { CodeModeToolIdentity, ProgrammaticCodeModeToolDefinition } from "./tools/code-mode/types.ts"; export declare function adaptToolForCodeMode(tool: ToolDefinition, options: ({ discovery: "help"; usage?: string; } | { discovery?: undefined; usage: string; }) & { blocking?: boolean | ((input: unknown) => boolean); deferLoading?: boolean; kind?: "function" | "freeform"; inputOptional?: boolean; promptMetadata?: boolean; /** Capture protected outputs while permitting ordinary local results. */ opaqueResult?: boolean; propagateTermination?: boolean; prepareInput?(input: unknown): unknown; toolName?: CodeModeToolIdentity; resultValue?(result: AgentToolResult>): unknown; }): ProgrammaticCodeModeToolDefinition;