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.
10 lines
569 B
10 lines
569 B
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 };
|
|
|