import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
/**
 * Why this resolution cannot produce a wakeable session id, or null when it can.
 *
 * 🔴 ASK THE CONDITION, NOT A PROXY. The old guard tested `candidateCount === 0`. An AMBIGUOUS
 * resolution has candidates but no chosen id (`decideResolution` returns `sessionId: null` when
 * two transcripts are within the margin), so it slipped straight through the zero-check and the
 * caller's value was pinned unchecked — during the 2026-09-02 ring exercise that value was a
 * CHANNEL UUID, which `--resume` can never open, and every subsequent wake failed in ~2s with no
 * warning ever emitted. The question that decides correctness is "did we end up with an id
 * `--resume` can open?", not "were there zero candidates?".
 */
export declare function unresolvedSessionReason(r: {
    sessionId: string | null;
    candidateCount: number;
}): "no-candidates" | "ambiguous" | null;
export declare function registerRegisterPeerTool(server: McpServer): void;
//# sourceMappingURL=register-peer.d.ts.map