/**
 * Hard ceiling on how long ANY marker may suppress rail C, whatever the writer stamped.
 * Bounds a corrupt/hostile/forgotten marker: worst case C is quiet for this long, then
 * resumes. MUST equal check-on-stop.mjs INFLIGHT_MAX_MS.
 */
export declare const INFLIGHT_MAX_MS = 1800000;
/** Multiplier over COGENT_TIMEOUT_MS covering primary + retry execRemote plus overhead. */
export declare const INFLIGHT_TIMEOUT_FACTOR = 3;
/**
 * `~/.cogent/wake-inflight/<sha256(cwd)[..16]>.<peerId>.json`
 *
 * Deliberately homedir-based (see note 1). `cwd` defaults to the bridge's own process.cwd(),
 * which is what credential-store keys on and what the hook's `input.cwd` reports — using the
 * peer's *registered* cwd string instead would let a symlinked or sub-path registration
 * silently key the two processes differently.
 */
export declare function wakeInflightPath(peerId: string, cwd?: string): string;
/**
 * Announce that rail B is handling `messageId` for `peerId`.
 *
 * Called when the message is ACCEPTED (including when it is queued behind an in-progress
 * wake), not when the subprocess starts: a message sitting in B's queue is equally "about to
 * be answered by B", and rail C firing about it mid-capture corrupts the SAME turn — the
 * message-burst shape that Slack produces constantly.
 *
 * Synchronous on purpose: the marker's whole value is ordering — it must be on disk before
 * the agent's turn can end. Never throws; a marker we could not write degrades to today's
 * behaviour, never to a failed wake.
 */
export declare function markWakeInFlight(peerId: string, messageId: string, traceId?: string, cwd?: string): void;
/**
 * The wakes running RIGHT NOW for this peer — the "active wakes" view.
 *
 * Added for visibility (2026-09-04): an external report described a live worktree being
 * edited by wakes with no way to see that any were running. The markers already existed
 * for the rail-B/rail-C race; this only reads them. Expired entries are omitted rather
 * than reported as live — a leaked marker must not become a phantom "active wake".
 */
export declare function listWakeInFlight(peerId: string, cwd?: string): Array<{
    messageId: string;
    startedAt: number;
    expiresAt: number;
    traceId?: string;
}>;
/**
 * Retract the marker once the outcome is recorded (a captured reply OR a fail-loud notice).
 * Runs from a `finally` — a leaked marker is the one failure mode that would mute rail C.
 * Writes the pruned map back rather than unlinking, so a concurrent bridge's live entries
 * survive (see note 5).
 */
export declare function clearWakeInFlight(peerId: string, messageId: string, cwd?: string): void;
//# sourceMappingURL=wake-inflight.d.ts.map