/** * Ask Tool - the model asks the user to fill in one HTML `
`. * * Hosts with a form surface (`ui.formDialog`: the interactive TUI, ACP) render * the form whole; every other host walks its named fields one prompt at a time * through `select`/`input`/`editor`. The model receives the submitted form data * as JSON. Outside plan mode a configurable timeout submits the form's * preselected values. */ import type { AgentTool, AgentToolContext, AgentToolResult, AgentToolUpdateCallback } from "@oh-my-pi/pi-agent-core"; import type { ToolExample } from "@oh-my-pi/pi-ai"; import type { AskToolDetails } from "@oh-my-pi/pi-tui/tools/ask"; import type { ToolSession } from "./index.js"; declare const askSchema: import("@oh-my-pi/omptype").FluentType<{ html: string; }, { html: string; }>; export type AskParams = typeof askSchema.infer; /** The `html` of a persisted or streamed `ask` call, for `/tree` re-answer and status lines. */ export declare function recoverAskHtml(toolCallArguments: unknown): string | undefined; /** Asks the user to fill in one HTML form and returns the submitted form data. */ export declare class AskTool implements AgentTool { #private; private readonly session; readonly name = "ask"; readonly approval: "read"; readonly label = "Ask"; readonly summary = "Ask the user to fill in a form"; readonly description: string; readonly parameters: import("@oh-my-pi/omptype").FluentType<{ html: string; }, { html: string; }>; readonly strict = true; readonly examples: readonly ToolExample[]; readonly concurrency = "exclusive"; readonly loadMode = "discoverable"; constructor(session: ToolSession); static createIf(session: ToolSession): AskTool | null; execute(_toolCallId: string, params: AskParams, signal?: AbortSignal, _onUpdate?: AgentToolUpdateCallback, context?: AgentToolContext): Promise>; } export {};