/** * Heartbeat loop: ping-pong to detect stale connections. * Enabled via createRouter({ heartbeat: { intervalMs, timeoutMs } }). * * Behavior: * - Send ping every intervalMs * - Expect pong within timeoutMs * - Close connection if timeout * - No new API surface (transparent behavior) */ import type { ServerWebSocket } from "../ws/platform-adapter.js"; export interface HeartbeatConfig { intervalMs?: number; timeoutMs?: number; } /** * Per-connection heartbeat state. */ export interface HeartbeatState { lastPingAt: number; lastPongAt: number; isPending: boolean; } /** * Heartbeat manager (internal). */ export declare class HeartbeatManager { private config; constructor(config: HeartbeatConfig); createState(): HeartbeatState; tick(clientId: string, ws: ServerWebSocket, state: HeartbeatState): Promise; handlePong(state: HeartbeatState): void; } //# sourceMappingURL=heartbeat.d.ts.map