/** * Runtime attestation (ADR 0005 H9). Declares the implementation status * of each runtime export in this module. See CONTRIBUTING.md ยง Module * attestations for the category definitions and the convention for * updating these when sync or rebrand changes the surface. */ export declare const MODULE_ATTESTATIONS: { readonly decodeStrictBase64: "live"; readonly splitModelRef: "live"; readonly spawnSubagentDirect: "live"; }; export declare const SUBAGENT_SPAWN_MODES: readonly ["run", "session"]; export type SpawnSubagentMode = (typeof SUBAGENT_SPAWN_MODES)[number]; export declare const SUBAGENT_SPAWN_SANDBOX_MODES: readonly ["inherit", "require"]; export type SpawnSubagentSandboxMode = (typeof SUBAGENT_SPAWN_SANDBOX_MODES)[number]; export declare function decodeStrictBase64(value: string, maxDecodedBytes: number): Buffer | null; export type SpawnSubagentParams = { task: string; label?: string; agentId?: string; model?: string; runTimeoutSeconds?: number; thread?: boolean; mode?: SpawnSubagentMode; cleanup?: "delete" | "keep"; sandbox?: SpawnSubagentSandboxMode; expectsCompletionMessage?: boolean; attachments?: Array<{ name: string; content: string; encoding?: "utf8" | "base64"; mimeType?: string; }>; attachMountPath?: string; }; export type SpawnSubagentContext = { agentSessionKey?: string; agentChannel?: string; agentAccountId?: string; agentTo?: string; agentThreadId?: string | number; agentGroupId?: string | null; agentGroupChannel?: string | null; agentGroupSpace?: string | null; requesterAgentIdOverride?: string; }; export declare const SUBAGENT_SPAWN_ACCEPTED_NOTE = "auto-announces on completion, do not poll/sleep. The response will be sent back as an user message."; export declare const SUBAGENT_SPAWN_SESSION_ACCEPTED_NOTE = "thread-bound session stays active after this task; continue in-thread for follow-ups."; export type SpawnSubagentResult = { status: "accepted" | "forbidden" | "error"; childSessionKey?: string; runId?: string; mode?: SpawnSubagentMode; note?: string; modelApplied?: boolean; error?: string; attachments?: { count: number; totalBytes: number; files: Array<{ name: string; bytes: number; sha256: string; }>; relDir: string; }; }; export declare function splitModelRef(ref?: string): { provider: undefined; model: undefined; } | { provider: string; model: string; } | { provider: undefined; model: string; }; export declare function spawnSubagentDirect(params: SpawnSubagentParams, ctx: SpawnSubagentContext): Promise;