import type { AgentTool, AgentToolResult, AgentToolUpdateCallback } from "@oh-my-pi/pi-agent-core"; import type { ToolSession } from ".."; import type { Theme } from "../modes/theme/theme"; import { type TaskToolDetails, type TaskToolSchemaInstance } from "./types"; import "../tools/review"; import { renderResult, renderCall as renderTaskCall } from "./render"; export { loadBundledAgents as BUNDLED_AGENTS } from "./agents"; export { discoverCommands, expandCommand, getCommand } from "./commands"; export { discoverAgents, getAgent } from "./discovery"; export { AgentOutputManager } from "./output-manager"; export type { AgentDefinition, AgentProgress, SingleResult, SubagentLifecyclePayload, SubagentProgressPayload, TaskParams, TaskToolDetails, } from "./types"; export { TASK_SUBAGENT_EVENT_CHANNEL, TASK_SUBAGENT_LIFECYCLE_CHANNEL, TASK_SUBAGENT_PROGRESS_CHANNEL, taskSchema, } from "./types"; /** * Task tool - Delegate tasks to specialized agents. * * Requires async initialization to discover available agents. * Use `TaskTool.create(session)` to instantiate. */ export declare class TaskTool implements AgentTool { #private; private readonly session; readonly name = "task"; readonly label = "Task"; readonly summary = "Spawn a subagent to complete a parallel task"; readonly strict = true; readonly loadMode = "discoverable"; readonly renderResult: typeof renderResult; get parameters(): TaskToolSchemaInstance; renderCall(args: unknown, options: Parameters[1], theme: Theme): import("@oh-my-pi/pi-tui").Component; /** Dynamic description that reflects current disabled-agent settings */ get description(): string; private constructor(); /** * Create a TaskTool instance with async agent discovery. */ static create(session: ToolSession): Promise; execute(_toolCallId: string, rawParams: unknown, signal?: AbortSignal, onUpdate?: AgentToolUpdateCallback): Promise>; }