import { Options } from 'amqplib';
import { RabbitmqProducerConfig, RabbitmqClientConfig } from './RabbitmqConfig';
import { RabbitmqClient } from './RabbitmqClient';
export declare class RabbitmqProducer extends RabbitmqClient {
    protected producerConfig: RabbitmqProducerConfig;
    constructor(clientConfig: RabbitmqClientConfig, name: string, producerConfig: RabbitmqProducerConfig);
    /**
     * publish msg with routing key
     * @param msg
     * @param routingKey
     */
    publish(msg: string, routingKey: string, optionsPublish?: Options.Publish): Promise<boolean>;
    init(): Promise<void>;
    close(): Promise<void>;
}
