import { Subject } from "rxjs";
import SocketHandler, { ISocketMessage } from "../socket/socketHandler";
declare abstract class BasicMsgHandler {
    protected protoRoot: any;
    protected enumActionKey: string;
    protected serverToClientKey: string;
    protected clientToServerKey: string;
    protected socketHandler: SocketHandler;
    responseAction: any;
    resultAction: any;
    updateAction: any;
    notifyAction: any;
    constructor();
    protected encodeData(protocolName: string, data?: any): any;
    protected decodeData(data: any): ISocketMessage;
    protected createSubject(subject?: Subject<any>): any;
    protected createResettable(factory: () => any): any;
    protected initResponseAction(enumActionKey: string, filterKey?: string): void;
    protected initResultAction(resultKey: string, filterKey?: string): void;
    protected initUpdateAction(updateKey: string, filterKey?: string): void;
    protected initNotifyAction(enumNotifyKey: string): void;
    protected onMessageNext(evt: any, onMessageCB?: (e: any) => void): void;
    onMessageError(evt: any): void;
    reciveServerToClient(evt: {
        protocolNo: number;
        data: ArrayBuffer;
    }): void;
    protected reciveResultInfo(evt: {
        resultInfo: Array<any>;
    }): void;
    protected reciveUpdateList(evt: {
        updateList: Array<any>;
    }): void;
    protected reciveNotifyList(evt: {
        notifyList: Array<any>;
    }): void;
    initHandler(protoRoot: any, socketHandler: any): void;
}
export default BasicMsgHandler;
