
export interface IMessage {

    type: 'call' | 'result' | 'error';

}

export interface MethodCallMessage extends IMessage {

    type: 'call';

    endpoint: string;

    args: any[];

}

export interface MethodCallResultMessage extends IMessage {

    type: 'result';

    value: any;

}

export interface ErrorMessage extends IMessage {

    type: 'error';

    errorCode: number;
    errorMessage: string;

}
