import type { AgentToolResult } from "@oh-my-pi/pi-agent-core"; import type { IrcMessage } from "@oh-my-pi/pi-tui/tools/irc"; import type { CoordinationDetails } from "@oh-my-pi/pi-tui/tools/wait"; import type { Settings } from "../config/settings.js"; import type { AgentRegistryApi } from "../registry/agent-registry.js"; /** Messaging is available to subagents and to top-level sessions able to spawn peers. */ export declare function isIrcEnabled(settings: Settings, taskDepth: number): boolean; export declare function formatIncoming(msg: IrcMessage): string; /** Takes every message buffered in `senderId`'s session inbox before automatic injection; with `ifAny`, none unless one satisfies it. */ export declare function drainPendingInbox(registry: AgentRegistryApi, senderId: string, ifAny?: (msg: IrcMessage) => boolean): IrcMessage[]; /** `wait` result carrying the consumed messages, oldest first. */ export declare function messageResult(senderId: string, waited: IrcMessage[]): AgentToolResult; /** Send a direct message or, from a top-level agent only, a broadcast; delivery never waits for a reply. */ export declare function executeSend(deps: { registry: AgentRegistryApi; senderId: string; sessionFileHint?: string | null; }, params: { to: string; message: string; progress?: boolean; }): Promise>;