import { type DeliveryContext } from "../utils/delivery-context.js"; import type { SubagentRunRecord } from "./subagent-registry.types.js"; /** * 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 markSubagentRunForSteerRestart: "live"; readonly clearSubagentRunSteerRestart: "live"; readonly replaceSubagentRunAfterSteer: "live"; readonly registerSubagentRun: "live"; readonly resetSubagentRegistryForTests: "live"; readonly addSubagentRunForTests: "live"; readonly releaseSubagentRun: "live"; readonly resolveRequesterForChildSession: "live"; readonly isSubagentSessionRunActive: "live"; readonly markSubagentRunTerminated: "live"; readonly listSubagentRunsForRequester: "live"; readonly listSubagentRunsForController: "live"; readonly countActiveRunsForSession: "live"; readonly countActiveDescendantRuns: "live"; readonly countPendingDescendantRuns: "live"; readonly countPendingDescendantRunsExcludingRun: "live"; readonly listDescendantRunsForRequester: "live"; readonly initSubagentRegistry: "live"; readonly shouldIgnorePostCompletionAnnounceForSession: "partial"; }; export type { SubagentRunRecord } from "./subagent-registry.types.js"; export declare function markSubagentRunForSteerRestart(runId: string): boolean; export declare function clearSubagentRunSteerRestart(runId: string): boolean; export declare function replaceSubagentRunAfterSteer(params: { previousRunId: string; nextRunId: string; fallback?: SubagentRunRecord; runTimeoutSeconds?: number; }): boolean; export declare function registerSubagentRun(params: { runId: string; childSessionKey: string; controllerSessionKey?: string; requesterSessionKey: string; requesterOrigin?: DeliveryContext; requesterDisplayKey: string; task: string; cleanup: "delete" | "keep"; label?: string; model?: string; runTimeoutSeconds?: number; expectsCompletionMessage?: boolean; spawnMode?: "run" | "session"; attachmentsDir?: string; attachmentsRootDir?: string; retainAttachmentsOnKeep?: boolean; }): void; export declare function resetSubagentRegistryForTests(opts?: { persist?: boolean; }): void; export declare function addSubagentRunForTests(entry: SubagentRunRecord): void; export declare function releaseSubagentRun(runId: string): void; export declare function resolveRequesterForChildSession(childSessionKey: string): { requesterSessionKey: string; requesterOrigin?: DeliveryContext; } | null; export declare function isSubagentSessionRunActive(childSessionKey: string): boolean; export declare function markSubagentRunTerminated(params: { runId?: string; childSessionKey?: string; reason?: string; }): number; export declare function listSubagentRunsForRequester(requesterSessionKey: string): SubagentRunRecord[]; export declare function listSubagentRunsForController(controllerSessionKey: string): SubagentRunRecord[]; export declare function countActiveRunsForSession(requesterSessionKey: string): number; export declare function countActiveDescendantRuns(rootSessionKey: string): number; export declare function countPendingDescendantRuns(rootSessionKey: string): number; export declare function countPendingDescendantRunsExcludingRun(rootSessionKey: string, excludeRunId: string): number; export declare function listDescendantRunsForRequester(rootSessionKey: string): SubagentRunRecord[]; export declare function initSubagentRegistry(): void; export declare const shouldIgnorePostCompletionAnnounceForSession: (..._args: any[]) => any;