import { RpcBaseData } from '../rpc-base'; /** * Forward up stream / inbound RPC call name and version. */ export declare class RpcForwardUpKey { static command: string; static version: string; } /** * Forward down stream / outbound RPC call name and version. */ export declare class RpcForwardDownKey { static command: string; static version: string; } /** * The Rpc Forward type */ export declare const enum RpcForwardType { /** * The execute forward type. * This type should execute a method and return a result on the receiver */ Execute = 0, /** * The notify forward type. * This type should notify the receiver that some change has occurred */ Notify = 1, /** * The init forward type. * This type should be used to initialize a service with its corresponding parent service on the receiver */ Init = 2 } /** * Defines a Rpc Report for forwarded messages */ export interface RpcForwardReportData extends RpcBaseData { /** * The name of the service that should receive this report */ service: string; /** * An name (key) of the property or method to act upon */ name?: string; /** * The type of forward report */ type: RpcForwardType; } /** * Rpc forward execute report data. */ export interface RpcForwardExecuteReportData extends RpcForwardReportData { /** * An arguments to apply to the method */ arguments: any[]; } /** * Defines a forward notify rpc report. * These are fire and forget. simply notifying other windows of a value change */ export interface RpcForwardNotifyReportData extends RpcForwardReportData { /** * An value of the changed property */ value: any; } /** * Defines the response to a forward report through rpc */ export interface RpcForwardResponse extends RpcBaseData { /** * The result of the report. * for execute, this is the result of the executed method * for notify, this is always void * for init, this is the initialization data */ result?: T; /** * An error that was thrown on the receiving side of the report */ error?: any; }