import { IBusConnection } from '../../port/connection/connection.interface'; import { IConnectionOptions, IConnectionParams } from '../../../application/port/connection.config.inteface'; import { IConnectionFactory } from '../../port/connection/connection.factory.interface'; import { ICustomLogger } from '../../../utils/custom.logger'; import { ConnectionFactoryRabbitMQ } from './connection.factory.rabbitmq'; import { Queue } from '../bus/queue'; import { Exchange } from '../bus/exchange'; import { IExchangeOptions } from '../../../application/port/exchange.option.interface'; import { IQueueOptions } from '../../../application/port/queue.option.interface'; export declare class ConnectionRabbitMQ implements IBusConnection { private readonly _connectionFactory; private readonly _logger; private _connectionId; private _connection?; private _configuration; private _options; private _resourceBus; constructor(_connectionFactory: IConnectionFactory, _logger: ICustomLogger); set configurations(config: IConnectionParams | string); set options(value: IConnectionOptions); get connectionId(): string; get isConnected(): boolean; get conn(): ConnectionFactoryRabbitMQ | undefined; connect(): Promise; getExchange(exchangeName: string, options?: IExchangeOptions): Exchange; getQueue(queueName: string, option?: IQueueOptions): Queue; closeConnection(): Promise; disposeConnection(): Promise; on(event: string | symbol, listener: (...args: any[]) => void): void; }