import type { Readable, Writable } from "stream"; import { RpcPeer } from "./rpc"; export declare function createDuplexRpcPeer(selfName: string, peerName: string, readable: Readable, writable: Writable): RpcPeer; export declare function createRpcSerializer(options: { sendMessageBuffer: (buffer: Buffer) => void; sendMessageFinish: (message: any) => void; }): { kill: (message: string) => void; sendMessage: (message: any, reject?: (e: Error) => void, serializationContext?: any) => void; setupRpcPeer: (peer: RpcPeer) => void; onMessageBuffer: (buffer: Buffer) => void; onMessageFinish: (message: any) => void; onDisconnected: () => void; }; export declare function createRpcDuplexSerializer(writable: { write: (data: Buffer) => void; }): { onData: (data: Buffer) => void; setupRpcPeer: (peer: RpcPeer) => void; sendMessage: (message: any, reject?: (e: Error) => void, serializationContext?: any) => void; onDisconnected: () => void; }; export declare function createDataChannelSerializer(dc: { send: (data: Buffer) => void; }): { onData: (data: Buffer) => void; setupRpcPeer: (peer: RpcPeer) => void; sendMessage: (message: any, reject?: (e: Error) => void, serializationContext?: any) => void; onDisconnected: () => void; };