import { EMessageUnacknowledgedCause, IRequiredConfig } from '../../../../types';
import { Message } from '../../message/message';
import { ICallback, IRedisClientMulti } from 'redis-smq-common/dist/types';
import { RedisClient } from 'redis-smq-common';
export declare enum ERetryStatus {
    MESSAGE_DELAYED = 0,
    MESSAGE_REQUEUED = 1,
    MESSAGE_DEAD_LETTERED = 2
}
export declare type TRetryStatus = {
    status: ERetryStatus;
    message: Message;
};
export declare function retryMessage(config: IRequiredConfig, mixed: IRedisClientMulti, processingQueue: string, message: Message, unacknowledgedCause: EMessageUnacknowledgedCause): TRetryStatus;
export declare function retryMessage(config: IRequiredConfig, mixed: RedisClient, processingQueue: string, message: Message, unacknowledgedCause: EMessageUnacknowledgedCause, cb: ICallback<TRetryStatus>): void;
