#pragma once
#include <string>
#include <drogon/nosql/RedisResult.h>
namespace drogon::nosql
{
class RedisSubscriber
{
  public:
    virtual void subscribe(const std::string &channel,
                           RedisMessageCallback &&messageCallback) noexcept = 0;
    virtual void psubscribe(
        const std::string &pattern,
        RedisMessageCallback &&messageCallback) noexcept = 0;
    virtual void unsubscribe(const std::string &channel) noexcept = 0;
    virtual void punsubscribe(const std::string &pattern) noexcept = 0;
    virtual ~RedisSubscriber() = default;
};
}  