import { AbstractConnectionManager } from '@citrineos/base';
import amqp from 'amqplib';
import { type ILogObj, Logger } from 'tslog';
export declare class RabbitMQConnectionManager extends AbstractConnectionManager<amqp.Connection> {
    private maxReconnectDelay;
    private url;
    private connection;
    private isConnecting;
    private reconnectAttempts;
    private reconnectDelay;
    constructor(maxReconnectDelay: number, url: string, logger?: Logger<ILogObj>);
    connect(): Promise<amqp.Connection>;
    private handleReconnect;
    close(): Promise<void>;
    isConnected(): boolean;
}
