/** * Message kinds. */ export declare namespace Message { /** * A request message usually send from the client to the server */ var Request: string; /** * A message response usually send from the server to the client */ var Response: string; /** * A event message usually send asynchronously from the server to the client */ var Event: string; } /** * Tests if the given message is a request message */ export declare function isRequestMessage(message: Message): message is RequestMessage; /** * Tests if the given message is a event message */ export declare function isEventMessage(message: Message): message is EventMessage; /** * Tests if the given message is a response message */ export declare function isReponseMessage(message: Message): message is ResponseMessage; export declare function isString(str: any): str is string; export declare function isResponse(value: any): value is Response; export declare function isFailedResponse(value: any): value is Response; export declare function isSuccessfulResponse(value: any): value is Response; /** * An OpenTools message */ export interface Message { /** * One of 'request', 'response', or 'event' * See also namespace Message */ type: string; /** * Sequence number of the message */ seq: number; } export interface Request { /** * Object containing arguments for the command */ arguments?: any; } /** * Request message */ export interface RequestMessage extends Message, Request { /** * The command to execute */ command: string; } export interface RequestType { command: string; } export interface Response { /** * Outcome of the request. */ success: boolean; /** * Contains error message if success === false. */ message?: string; /** * Contains error code if success === false. Can * be omitted if not available */ code?: number; /** * Indicates whether the response can be retried * after the provided message has been showed to * the user. */ retry?: boolean; /** * Contains message body if success === true. */ body?: any; } /** * Response by server to client request message. */ export interface ResponseMessage extends Message, Response { /** * Sequence number of the request message. */ request_seq: number; /** * The command requested. */ command: string; } /** * Event message */ export interface EventMessage extends Message { /** * Name of event */ event: string; /** * Event-specific information */ body?: any; } export interface EventType { event: string; }