import type { IBrokerMessageRoutingOptions, IMessageBrokerService } from '../../types'; /** Config can be a full url or host/port/auth (we build amqp URL) */ type RabbitMQConfig = { url: string; } | { host?: string; port?: number; username?: string; password?: string; vhost?: string; protocol?: 'amqp' | 'amqps'; }; export declare class RabbitMQService implements IMessageBrokerService { private connection; private channel; private readonly logPrefix; private readonly connectionUrl; constructor(config: RabbitMQConfig); private maskUrl; connect(): Promise; publish(topic: string, message: object, options?: IBrokerMessageRoutingOptions): Promise; subscribe(topic: string, callback: (message: object) => Promise, options?: IBrokerMessageRoutingOptions): Promise; private logicalQueue; disconnect(): Promise; } export {};