import * as signalR from '@microsoft/signalr';
import { ICallback, IEventBus } from './../models';
export default class SignalRClient {
    /**
     * 5 sec 重连 计时器
     */
    private pingTimer;
    /**
     * hub connection
     */
    private connection;
    /**
     * signalr events
     */
    events: IEventBus;
    constructor();
    /**
     * 连接SignalR，返回SignalR的Promise连接
     * @param {string} baseUrl 连接 SignalR 地址
     * @param {string} queryString 地址的拼接参数，可空，如：id=xxx&name=xxxx；
     */
    connect: (baseUrl: string, queryString: string) => Promise<signalR.HubConnection>;
    /**
     * 发送消息
     * @param {string} methodName 发送的方法名
     * @param {any} request 发送的请求参数
     */
    sendMessage: (methodName: string, request: any) => Promise<any>;
    /**
     * 接受消息
     * @param {string} methodName 接受消息的方法名
     * @param {ICallback} callback 回调函数
     */
    receiveMessage: (methodName: string, callback: ICallback) => void;
    /**
     * 重新连接
     */
    private reconnect;
}
