using EasyNetQ;
using System;
using System.Threading.Tasks;

namespace XYY.TaskTrack.Standard
{
    public interface IMQManager
    {
        Task Publish<T>(T message, Action<IPublishConfiguration> configure = null) where T : class;
        Task PublishDeadMessage<T>(DeadMessage<T> deadMessage) where T : class;
        Task Subscribe<T>(IBaseConsumer<T> consumer) where T : class;
    }
}