export interface RequestMessage { msgId: number; payload: Payload; } export interface ResponseMessage { msgId: number; payload?: Payload; error?: string; } export interface EventMessage { payload: Payload; } export function isEventMessage( msg: ResponseMessage | EventMessage, ): msg is EventMessage { return (msg as ResponseMessage).msgId === undefined; }