import { Logger } from 'pino'; import { WebSocket } from 'ws'; import { Netron } from './netron'; import { Interface } from './interface'; import { Definition } from './definition'; import { AbstractPeer } from './abstract-peer'; import { NetronReadableStream } from './readable-stream'; import { NetronWritableStream } from './writable-stream'; import { NetronOptions, EventSubscriber } from './types'; import { Packet } from './packet'; export declare class RemotePeer extends AbstractPeer { private socket; private events; logger: Logger; private responseHandlers; writableStreams: Map; readableStreams: Map; eventSubscribers: Map; remoteSubscriptions: Map; services: Map; definitions: Map; constructor(socket: WebSocket, netron: Netron, id?: string); init(isConnector?: boolean, options?: NetronOptions): Promise; exposeService(instance: any): Promise; unexposeService(serviceName: string): Promise; subscribe(eventName: string, handler: EventSubscriber): Promise; unsubscribe(eventName: string, handler: EventSubscriber): Promise; getServiceNames(): string[]; get(defId: string, name: string): Promise; set(defId: string, name: string, value: any): Promise; call(defId: string, method: string, args: any[]): Promise; disconnect(): void; once(event: 'manual-disconnect' | 'stream', listener: (...args: any[]) => void): void; private cleanup; runTask(name: string, ...args: any[]): Promise; private sendRequest; private sendResponse; private sendErrorResponse; sendPacket(packet: Packet): Promise; sendStreamChunk(streamId: number, chunk: any, index: number, isLast: boolean, isLive: boolean): Promise; private handleResponse; handlePacket(packet: Packet): Promise; protected releaseInterfaceInternal(iInstance: Interface): Promise; refService(def: Definition, parentDef: Definition): Definition; unrefService(defId?: string): void; private processResult; private processArgs; private deleteResponseHandler; protected getDefinitionById(defId: string): Definition; protected getDefinitionByServiceName(name: string): Definition; }