import { socketConfig } from './type';

export declare class socketService {
    /** websocket实例 */
    $ws: any;
    /** websocket地址 */
    url: string;
    /** 请求参数 */
    params: Record<string, any>;
    /** 是否正在重连，避免ws重复连接 */
    lockReturn: boolean;
    /** websocket开启时间 */
    startTime: any;
    /** 心跳检测 */
    heartbeatInterval: any;
    /** 发生错误时是否重连，默认开启 */
    ifReconnect: boolean;
    /** 重连定时器 */
    reconnectId: any;
    /** 重连次数，默认为3，-1 表示一直重连 */
    reconnectNum: number;
    /** 连接close关闭时是否重连，默认关闭 */
    reconnectWhenClose: boolean;
    /** 当前重连次数 */
    currentReconnectNum: number;
    constructor({ url, params, opened, close, error, message, ifReconnect, reconnectNum, reconnectWhenClose, }: socketConfig);
    initWebSocket(): void;
    open(): void;
    opened(ws: any): void;
    close(event: CloseEvent): void;
    message(event: any): void;
    afterMsg(msg: any): void;
    error(err: any): any;
    /** websocket重连 */
    reconnect(): void;
    /** 发送消息给服务器 */
    send(message: any): void;
    startHeartbeat(): void;
    /** 断开连接 */
    disconnect(): void;
}
