import { Message } from '../model/message';
import { HasSubscribers, Publisher, Subscriber, Subscription } from './publisher';
/**
 * A Publisher that use RabbitMQ to message communications.
 */
export declare class RabbitMQPublisher implements Publisher, HasSubscribers {
    private channel;
    private url;
    private exchanges;
    constructor(url: string);
    publish(message: Message): Promise<boolean>;
    subscribe(aggregation: string, subscriber: Subscriber): Promise<Subscription>;
    private ensureExchange;
    private getChannel;
}
