import { Connection, Channel } from 'amqplib';
import { Logger } from '../log/LogManager';
import { RabbitmqClientConfig } from './RabbitmqConfig';
export declare abstract class RabbitmqClient {
    protected channel: Channel;
    protected connection: Connection;
    protected logger: Logger;
    protected clientConfig: RabbitmqClientConfig;
    protected name: string;
    constructor(clientConfig: RabbitmqClientConfig, name: string);
    init(): Promise<void>;
    /**
     * Connect to RabbitMQ broker
     */
    protected connect(): Promise<void>;
    protected createChannel(): Promise<void>;
    close(): Promise<void>;
    closeChannel(): Promise<void>;
    closeConnection(): Promise<void>;
}
