import { AmqpConnectionManager, ChannelWrapper } from "amqp-connection-manager";
import { IRabbitHandler } from "./rabbitmq.interfaces";
import { RabbitMQConsumerOptions, RabbitMQModuleOptions } from "./rabbitmq.types";
export declare class RabbitMQConsumer {
    private logger;
    private readonly connection;
    private readonly options;
    private readonly delayExchange;
    private readonly publishChannel;
    private readonly logType;
    private defaultConsumerOptions;
    constructor(connection: AmqpConnectionManager, options: RabbitMQModuleOptions, publishChannelWrapper: ChannelWrapper);
    createConsumer(consumer: RabbitMQConsumerOptions, messageHandler: IRabbitHandler): Promise<ChannelWrapper>;
    private processConsumerMessage;
    private attachRetryAndDLQ;
    private processRetry;
    private inspectConsumer;
    private ackMessage;
}
