type Contract = Record any>; type RpcSocket = { emit(event: string, ...args: unknown[]): unknown; on(event: string, listener: (...args: any[]) => void): unknown; timeout(ms: number): { emitWithAck(event: string, ...args: unknown[]): Promise; }; }; export declare function createRpcClient(socket: RpcSocket, timeoutMs: number): T; export declare function createRpcServer(socket: RpcSocket, handlers: T): void; export declare function createNotifyClient(socket: RpcSocket): T; export declare function createNotifyServer(socket: RpcSocket, handlers: T): void; export {}; //# sourceMappingURL=rpc.d.ts.map