import type { HeartbeatTunnelParams } from '../_vendored-contracts/skill-tunnel.js'; export interface HeartbeatOptions { /** 构造每次 heartbeat 的 local_skill_status 快照 */ buildStatusSnapshot: () => HeartbeatTunnelParams['local_skill_status']; /** 发 heartbeat request(由 client 负责 JSON-RPC 封装 + WS send)*/ sendHeartbeat: (params: HeartbeatTunnelParams) => Promise; /** 心跳超时回调(调用方通常触发重连)*/ onTimeout: () => void; /** 可选: 测试时注入 clock */ nowMs?: () => number; /** 可选: 覆盖 interval(默认 25s)*/ intervalMs?: number; /** 可选: 覆盖 timeout(默认 60s)*/ timeoutMs?: number; } export declare class HeartbeatLoop { private readonly opts; private interval; private timeoutTimer; private lastAckAt; private started; constructor(opts: HeartbeatOptions); start(): void; stop(): void; /** 收到 heartbeat ack (JSON-RPC success response) —— 上层 client 调用 */ onAck(): void; /** 暴露给测试: 手动触发一次 tick */ tick(): Promise; /** 暴露给测试: 手动触发一次超时检查 */ checkTimeout(): void; private scheduleTimeoutCheck; get lastAck(): number; } //# sourceMappingURL=heartbeat.d.ts.map