import { EventPublisher } from './event-publisher.interface';
import { BrokerConfigInterface } from '../subscriber/broker-config.interface';
export declare class RabbitMQPublisher implements EventPublisher {
    private readonly config;
    private logger;
    private channel;
    private server;
    constructor(config: BrokerConfigInterface);
    publishRetry<T>(message: T, routingKey: string, maxRetries?: number, logEvent?: boolean): Promise<void>;
    private publishAndRetry;
    publish<T>(message: T, routingKey: string, logEvent?: boolean): Promise<void>;
    close(): Promise<void>;
    hasActiveConnection(): Promise<boolean>;
    private getChannel;
    private getServer;
    private connect;
}
