import type { AgentRunResult } from "@catui/agent-core"; import type { AvailableCommand } from "@agentclientprotocol/sdk"; import type { AgentSession } from "../../core/runtime/agent-session.js"; interface AcpModeOptions { createSessionForCwd?: (cwd: string) => Promise; } type AcpSlashCommandDescriptor = { name: string; description?: string | null; }; declare function normalizeAcpCommandName(name: string): string; declare function isAdvertisableAcpCommand(name: string): boolean; declare function createAvailableCommandInput(name: string): AvailableCommand["input"] | undefined; declare function buildAcpAvailableCommands(commands: ReadonlyArray): AvailableCommand[]; declare function deferAcpNotification(task: () => Promise | void): void; declare function formatAcpLoopResultLines(result: AgentRunResult | undefined): string[]; /** * Run in ACP mode. * Listens for JSON-RPC 2.0 messages on stdin, outputs JSON-RPC responses/events on stdout. */ export declare function runAcpMode(session: AgentSession, options?: AcpModeOptions): Promise; export declare const __testUtils: { buildAcpAvailableCommands: typeof buildAcpAvailableCommands; createAvailableCommandInput: typeof createAvailableCommandInput; deferAcpNotification: typeof deferAcpNotification; formatAcpLoopResultLines: typeof formatAcpLoopResultLines; isAdvertisableAcpCommand: typeof isAdvertisableAcpCommand; normalizeAcpCommandName: typeof normalizeAcpCommandName; }; export {};