import { Message } from '../message/message';
import { Base } from '../base';
import { RedisClient } from 'redis-smq-common';
import { ICallback, TUnaryFunction } from 'redis-smq-common/dist/types';
import { TProduceMessageReply, TQueueParams } from '../../../types';
export declare class Producer extends Base {
    protected initProducerEventListeners: (cb: ICallback<void>) => void;
    protected goingUp(): TUnaryFunction<ICallback<void>>[];
    protected enqueue(redisClient: RedisClient, queue: TQueueParams, message: Message, cb: ICallback<void>): void;
    protected produceMessage(redisClient: RedisClient, message: Message, queue: TQueueParams, cb: ICallback<void>): void;
    produce(message: Message, cb: ICallback<TProduceMessageReply>): void;
}
