export interface WSMessageHandler {
    /**
     * Websocket端连接成功事件响应
     * @param sessionId socket会话ID
     * @param context 客户端连接时所有参数
     */
    onConnected(sessionId: string, context: any): Promise<any>;
    /**
     * Websocket端连接关闭事件响应
     * @param sessionId socket会话ID
     * @param context 客户端连接时所有参数
     */
    onClosed(sessionId: string, context: any): Promise<any>;
    /**
     * 响应接收到服务端发送的[MsgC]类型消息
     * @param data 消息内容
     */
    onMsgMsgC(data: any, sessionId: string, context: any): Promise<any>;
    /**
     * 响应接收到服务端发送的[MsgD]类型消息
     * @param data 消息内容
     */
    onMsgMsgD(data: any, sessionId: string, context: any): Promise<any>;
    /**
     * 响应接收到服务端发送的其他消息
     * @param msg 消息内容
     */
    onOtherMsg(msg: any, sessionId: string, context: any): Promise<any>;
}
export declare class WSServiceBase {
    protected sessionId: string;
    protected context: any;
    protected ws: any;
    protected messageHandler: WSMessageHandler;
    /**
     * 设置消息处理器
     * @param messageHandler 消息处理器
     */
    useMessageHandler(messageHandler: WSMessageHandler): WSServiceBase;
    /**
     * 创建WebSocket连接
     * @param wsUrl WebsocketURL
     * @param msg 消息体
     */
    connectWS(wsUrl: string, context?: any): Promise<any>;
    private processWsUrl;
    /**
     * 连接成功事件响应
     * @param event
     */
    onopen(event: any): Promise<void>;
    /**
     * 接收到新消息响应
     * @param event
     */
    onmessage(event: any): Promise<void>;
    /**
     * 连接关闭事件响应
     * @param event
     */
    onclose(event: any): Promise<void>;
    /**
     * 发送[MsgC]类型消息至服务端
     * @param data 消息内容
     */
    sendMsgMsgC(data: any): Promise<void>;
    /**
     * 发送[MsgD]类型消息至服务端
     * @param data 消息内容
     */
    sendMsgMsgD(data: any): Promise<void>;
    /**
     * 发送消息至服务端
     * @param msg 消息体
     */
    sendMsg(msg: any): Promise<void>;
}
