import type { SubagentInputRequestHookPayload } from "#channel/types.js"; import type { HarnessSession, SessionStateMap } from "#harness/types.js"; /** * Returns the proxy-routing map as a fresh `Map`. Never returns a live * reference so accidental mutation cannot corrupt session state. */ export declare function getProxyInputRequests(state: SessionStateMap | undefined): ReadonlyMap; /** * Returns true when the session is currently proxying one or more * HITL requests on behalf of a descendant subagent. */ export declare function hasProxyInputRequests(state: SessionStateMap | undefined): boolean; /** * Replaces prior entries for `forChildContinuationToken` with the * provided ones. A child raising a fresh batch overwrites its prior * batch — the parent never keeps stale request metadata. */ export declare function upsertProxyInputRequests(input: { readonly entries: readonly (readonly [requestId: string, childContinuationToken: string])[]; readonly forChildContinuationToken: string; readonly session: HarnessSession; }): HarnessSession; /** * Removes every entry for `childContinuationToken`. Called when a * child subagent finishes so stale clicks no longer route to it. */ export declare function clearProxyInputRequestsForChild(session: HarnessSession, childContinuationToken: string): HarnessSession; /** * Projects a {@link SubagentInputRequestHookPayload} into the * `(requestId, childContinuationToken)` tuples the session stores. */ export declare function toProxyInputRequestEntries(payload: SubagentInputRequestHookPayload): readonly (readonly [requestId: string, childContinuationToken: string])[];