import amqp from 'amqplib';
import Debug from 'debug';
import { PubSubAMQPConfig } from './interfaces';
export declare class AMQPSubscriber {
    private logger;
    private connection;
    private exchange;
    private queue;
    private channelPromise;
    constructor(config: PubSubAMQPConfig, logger: Debug.IDebugger);
    subscribe(routingKey: string, action: (routingKey: string, content: any, message: amqp.ConsumeMessage | null) => void, arguments_?: any, options?: amqp.Options.Consume): Promise<() => Promise<void>>;
    private getOrCreateChannel;
}
