/** @packageDocumentation * @module RpcInterface */ import { RpcInterface } from "../../RpcInterface"; import { RpcRequestStatus } from "./RpcConstants"; import { RpcOperation } from "./RpcOperation"; import { RpcProtocol, RpcRequestFulfillment, SerializedRpcRequest } from "./RpcProtocol"; /** Notification callback for an RPC invocation. * @public */ export declare type RpcInvocationCallback_T = (invocation: RpcInvocation) => void; /** An RPC operation invocation in response to a request. * @public */ export declare class RpcInvocation { private _threw; private _pending; private _notFound; private _noContent; private _timeIn; private _timeOut; /** The protocol for this invocation. */ readonly protocol: RpcProtocol; /** The received request. */ readonly request: SerializedRpcRequest; /** The operation of the request. */ readonly operation: RpcOperation; /** The implementation response. */ readonly result: Promise; /** The fulfillment for this request. */ readonly fulfillment: Promise; /** The status for this request. */ get status(): RpcRequestStatus; /** The elapsed time for this invocation. */ get elapsed(): number; /** * The invocation for the current RPC operation. * @note The return value of this function is only reliable in an RPC impl class member function where program control was received from the RpcInvocation constructor function. */ static current(rpcImpl: RpcInterface): RpcInvocation; /** Constructs an invocation. */ constructor(protocol: RpcProtocol, request: SerializedRpcRequest); private handleUnknownOperation; private resolve; private applyPolicies; private static compareTokens; private reject; private fulfillResolved; private fulfillRejected; private supportsNoContent; private fulfill; private lookupOperationFunction; } //# sourceMappingURL=RpcInvocation.d.ts.map