///
import { Logger } from '@nestjs/common/services/logger.service';
import { EventEmitter } from 'events';
import { Observable } from 'rxjs';
import { ClientOptions } from '../interfaces';
import { WritePacket } from './../interfaces';
import { ClientProxy } from './client-proxy';
export declare class ClientRMQ extends ClientProxy {
protected readonly options: ClientOptions['options'];
protected readonly logger: Logger;
protected connection: Promise;
protected client: any;
protected channel: any;
protected urls: string[];
protected queue: string;
protected prefetchCount: number;
protected isGlobalPrefetchCount: boolean;
protected queueOptions: any;
protected replyQueue: string;
protected responseEmitter: EventEmitter;
constructor(options: ClientOptions['options']);
close(): void;
consumeChannel(): void;
connect(): Promise;
createChannel(): Promise;
createClient(): T;
mergeDisconnectEvent(instance: any, source$: Observable): Observable;
setupChannel(channel: any, resolve: Function): Promise;
protected publish(message: any, callback: (packet: WritePacket) => any): Function;
handleMessage(packet: WritePacket, callback: (packet: WritePacket) => any): void;
handleError(client: any): void;
}