///
import amqp, { Channel, Connection } from 'amqplib';
import { EventEmitter } from 'events';
import { RabbitmqComponentConfig, RabbitQueueMetadata, SubscribeResponse } from './index';
export declare class RabbitmqConsumer extends EventEmitter {
private componentConfig;
private connection;
private channel;
private timeoutId;
private retry;
private readonly retries;
private interval;
constructor(componentConfig: Required);
getConnection(): Promise;
private timeout;
getChannel(): Promise;
private setupInitChannel;
setupSubscriberChannel(handler: (msg: T | undefined, rawMessage?: amqp.ConsumeMessage) => Promise, msgOptions: RabbitQueueMetadata): Promise;
private handleMessage;
}