import { HeartbeatOptions, SocketMessage } from "./types";
/**
 * Socket心跳管理器
 * 处理WebSocket连接的心跳检测
 */
export declare class HeartbeatManager {
    private options;
    private intervalTimer;
    private timeoutTimer;
    private lastHeartbeatTime;
    private lastHeartbeatResponse;
    private active;
    private sendHeartbeat;
    private onTimeout;
    private onResponse;
    /**
     * 创建心跳管理器
     * @param options 心跳配置选项
     * @param sendHeartbeat 发送心跳的回调函数
     * @param callbacks 回调函数集合
     */
    constructor(options: HeartbeatOptions, sendHeartbeat: (msg: SocketMessage) => void, callbacks?: {
        onTimeout?: () => void;
        onResponse?: () => void;
    });
    /**
     * 启动心跳检测
     */
    start(): void;
    /**
     * 停止心跳检测
     */
    stop(): void;
    /**
     * 重启心跳检测
     */
    restart(): void;
    /**
     * 接收到心跳响应
     */
    receiveHeartbeatResponse(): void;
    /**
     * 获取上次心跳时间
     */
    getLastHeartbeatTime(): number;
    /**
     * 获取上次心跳响应时间
     */
    getLastHeartbeatResponseTime(): number;
    /**
     * 获取心跳是否活跃
     */
    isActive(): boolean;
    /**
     * 安排下一次心跳
     */
    private scheduleHeartbeat;
    /**
     * 发送心跳消息
     */
    private sendHeartbeatMessage;
    /**
     * 清除所有计时器
     */
    private clearTimers;
}
