import { type AgentTool, type AgentToolResult, type AgentToolUpdateCallback } from "@oh-my-pi/pi-agent-core"; import type { ToolSession } from "./index.js"; import type { CoordinationDetails } from "@oh-my-pi/pi-tui/tools/wait"; declare const waitSchema: import("@oh-my-pi/omptype").FluentType<{}, {}>; /** Whether `session` has the `wait` tool active, so prompts may point blocked callers at it. */ export declare function hasWaitTool(session: ToolSession): boolean; /** * Blocks on background jobs and services the calling agent started, or on * the reply to a message it sent this run. Other agents' work never sustains * a wait: a peer owes no message. A reply wait ends once no agent asked can * still answer soon: each one finished its turn, is blocked on the caller * itself (the cycle that would park both sides), or is waiting on the user. * With nothing new, a wait returns after a window from {@link WAIT_LADDER_MS} * that climbs across back-to-back idle waits. A direct message arriving * mid-wait ends any wait, returning every message queued by then. Broadcast * legs and progress notes ask the caller nothing, so they never end a wait * and inject as asides once it returns; the exception is a broadcast from an * agent a reply wait asked, which answers it (see `IrcBus.unansweredSends`). * A progress note leaves its sender's reply owed, so the reply wait goes on. */ export declare class WaitTool implements AgentTool { #private; private readonly session; readonly name = "wait"; readonly label = "Wait"; readonly summary = "Wait for the next result of a background job or service you started, or a reply you asked for"; readonly description: string; readonly parameters: import("@oh-my-pi/omptype").FluentType<{}, {}>; readonly strict = true; readonly interruptible = true; readonly handlesToolInterrupt = true; readonly approval = "read"; readonly loadMode = "essential"; readonly intent = "optional"; constructor(session: ToolSession); execute(_toolCallId: string, _params: typeof waitSchema.infer, signal?: AbortSignal, onUpdate?: AgentToolUpdateCallback): Promise>; } export {};