import { type AgentRequestBase, type AgentResponder } from "@mono-agent/agent-contracts"; export interface ProcessJobWakeContext { readonly jobId: string; readonly chainDepth: number; } export type ProcessJobWakeContextResolution = { readonly kind: "none"; } | { readonly kind: "resolved"; readonly context: ProcessJobWakeContext; } | { readonly kind: "missed"; }; /** Consume only the exact host-issued wake receipt; never a conversation-level marker. */ export declare function consumeSilentProcessJobWake(deliveryKey: string): boolean; export interface ProcessJobSteeringTargetLease { chainDepth(): number; release(): void; } /** Register the exact active run whose controller can be raised by a host wake. */ export declare function registerProcessJobSteeringTarget(input: { readonly conversationId: string; readonly runId: string; readonly chainDepth: number; }): ProcessJobSteeringTargetLease; /** Run a genuine channel turn with host-owned fan-out depth attached out of band. */ export declare function runWithProcessJobWakeContext(context: ProcessJobWakeContext, operation: () => Promise, deliveryKey: string): Promise; /** * Capture an admitted host wake on the exact request identity that survives * the responder-to-harness queue boundary. The association remains outside * public/string metadata, prompts, history, traces, and serialized payloads. */ export declare function bindProcessJobWakeContextToResponder(responder: AgentResponder): AgentResponder; /** * The live host-wake depth for a conversation's single active run, when it has * exactly one. Exported so a second host-owned wake feature can read the depth * this registry already tracks instead of registering a competing target: the * registry admits a steer only when exactly one candidate matches, so a * duplicate registration would silently disable steering for both. */ export declare function processJobSteeringDepth(conversationId: string): number | undefined; /** Resolve only an association previously issued by the app-owned responder seam. */ export declare function processJobWakeContextForRequest(request: Pick): ProcessJobWakeContextResolution; //# sourceMappingURL=process-jobs-context.d.ts.map