import { type DeliveryContext } from "../utils/delivery-context.js"; import type { SpawnSubagentMode } from "./subagent-spawn.js"; export declare function captureSubagentCompletionReply(sessionKey: string): Promise; export declare function buildSubagentSystemPrompt(params: { requesterSessionKey?: string; requesterOrigin?: DeliveryContext; childSessionKey: string; label?: string; task?: string; /** Whether ACP-specific routing guidance should be included. Defaults to true. */ acpEnabled?: boolean; /** Depth of the child being spawned (1 = sub-agent, 2 = sub-sub-agent). */ childDepth?: number; /** Config value: max allowed spawn depth. */ maxSpawnDepth?: number; }): string; export type SubagentRunOutcome = { status: "ok" | "error" | "timeout" | "unknown"; error?: string; }; export type SubagentAnnounceType = "subagent task" | "cron job"; export declare function runSubagentAnnounceFlow(params: { childSessionKey: string; childRunId: string; requesterSessionKey: string; requesterOrigin?: DeliveryContext; requesterDisplayKey: string; task: string; timeoutMs: number; cleanup: "delete" | "keep"; roundOneReply?: string; /** * Fallback text preserved from the pre-wake run when a wake continuation * completes with NO_REPLY despite an earlier final summary already existing. */ fallbackReply?: string; waitForCompletion?: boolean; startedAt?: number; endedAt?: number; label?: string; outcome?: SubagentRunOutcome; announceType?: SubagentAnnounceType; expectsCompletionMessage?: boolean; spawnMode?: SpawnSubagentMode; wakeOnDescendantSettle?: boolean; signal?: AbortSignal; bestEffortDeliver?: boolean; }): Promise;