import { Observable, Observer } from 'rxjs'; import { ClientOptions, MsPattern, PacketId, ReadPacket, WritePacket } from '../interfaces'; import { ProducerDeserializer } from '../interfaces/deserializer.interface'; import { ProducerSerializer } from '../interfaces/serializer.interface'; export declare abstract class ClientProxy { abstract connect(): Promise; abstract close(): any; protected routingMap: Map; protected serializer: ProducerSerializer; protected deserializer: ProducerDeserializer; send(pattern: any, data: TInput): Observable; emit(pattern: any, data: TInput): Observable; protected abstract publish(packet: ReadPacket, callback: (packet: WritePacket) => void): () => void; protected abstract dispatchEvent(packet: ReadPacket): Promise; protected createObserver(observer: Observer): (packet: WritePacket) => void; protected serializeError(err: any): any; protected serializeResponse(response: any): any; protected assignPacketId(packet: ReadPacket): ReadPacket & PacketId; protected connect$(instance: any, errorEvent?: string, connectEvent?: string): Observable; protected getOptionsProp(obj: T, prop: K, defaultValue?: T[K]): T[K]; protected normalizePattern(pattern: MsPattern): string; protected initializeSerializer(options: ClientOptions['options']): void; protected initializeDeserializer(options: ClientOptions['options']): void; }