import { Logger } from '@nestjs/common/services/logger.service'; import { EventEmitter } from 'events'; import { Observable, ReplaySubject } from 'rxjs'; import { RmqUrl } from '../external/rmq-url.interface'; import { ReadPacket, RmqOptions, WritePacket } from '../interfaces'; import { ClientProxy } from './client-proxy'; type Channel = any; type ChannelWrapper = any; type AmqpConnectionManager = any; /** * @publicApi */ export declare class ClientRMQ extends ClientProxy { protected readonly options: RmqOptions['options']; protected readonly logger: Logger; protected connection$: ReplaySubject; protected connection: Promise; protected client: AmqpConnectionManager; protected channel: ChannelWrapper; protected urls: string[] | RmqUrl[]; protected queue: string; protected queueOptions: Record; protected responseEmitter: EventEmitter; protected replyQueue: string; protected persistent: boolean; protected noAssert: boolean; constructor(options: RmqOptions['options']); close(): void; connect(): Promise; createChannel(): Promise; createClient(): AmqpConnectionManager; mergeDisconnectEvent(instance: any, source$: Observable): Observable; convertConnectionToPromise(): Promise; setupChannel(channel: Channel, resolve: Function): Promise; consumeChannel(channel: Channel): Promise; handleError(client: AmqpConnectionManager): void; handleDisconnectError(client: AmqpConnectionManager): void; handleMessage(packet: unknown, callback: (packet: WritePacket) => any): any; handleMessage(packet: unknown, options: Record, callback: (packet: WritePacket) => any): any; protected publish(message: ReadPacket, callback: (packet: WritePacket) => any): () => void; protected dispatchEvent(packet: ReadPacket): Promise; protected initializeSerializer(options: RmqOptions['options']): void; protected mergeHeaders(requestHeaders?: Record): Record | undefined; protected parseMessageContent(content: Buffer): any; } export {};