You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
11 lines
569 B
11 lines
569 B
2 years ago
|
import { RpcProcedure, RpcProcedurePayload, RpcProcedureResult } from './RpcProcedure';
|
||
|
import { RpcMessagePort } from './RpcMessagePort';
|
||
|
interface RpcClient {
|
||
|
readonly isConnected: () => boolean;
|
||
|
readonly connect: () => Promise<void>;
|
||
|
readonly disconnect: () => Promise<void>;
|
||
|
readonly dispatchCall: <TProcedure extends RpcProcedure>(procedure: TProcedure, payload: RpcProcedurePayload<TProcedure>) => Promise<RpcProcedureResult<TProcedure>>;
|
||
|
}
|
||
|
declare function createRpcClient(port: RpcMessagePort): RpcClient;
|
||
|
export { RpcClient, createRpcClient };
|