import { Observable, Observer } from 'rxjs'; import { ClientOptions, PacketId, ReadPacket, WritePacket } from '../interfaces'; export declare abstract class ClientProxy { abstract connect(): Promise; abstract close(): any; protected routingMap: Map; send(pattern: any, data: TInput): Observable; protected abstract publish(packet: ReadPacket, callback: (packet: WritePacket) => void): Function | void; protected createObserver(observer: Observer): (packet: WritePacket) => void; protected assignPacketId(packet: ReadPacket): ReadPacket & PacketId; protected connect$(instance: any, errorEvent?: string, connectEvent?: string): Observable; protected getOptionsProp(obj: ClientOptions['options'], prop: keyof T['options'], defaultValue?: any): any; protected normalizePattern(pattern: T): string; }