// src/types/socket.ts

/**
 * Socket 配置项接口
 */
export interface SocketOptions {
  /** 心跳间隔（ms），默认 30000 */
  heartbeatInterval?: number;
  /** 初始重连间隔（ms），默认 3000 */
  reconnectInterval?: number;
  /** 最大重连次数，默认 10 */
  maxReconnectCount?: number;
  /** 消息接收回调 */
  onMessage?: (data: string | ArrayBuffer | Blob) => void;
  /** 错误回调 */
  onError?: (error: Event) => void;
  /** 关闭回调 */
  onClose?: (event: CloseEvent) => void;
  /** 连接成功回调 */
  onOpen?: () => void;
}

/**
 * 消息记录类型
 */
export interface MessageItem {
  time: string;
  type: 'send' | 'receive' | 'system';
  content: string | object;
}

/**
 * 心跳包类型（可根据后端格式调整）
 */
export interface HeartbeatData {
  type: 'ping' | 'pong';
  timestamp?: number;
}