#ifndef MDD_IOUTPUT_H
#define MDD_IOUTPUT_H
#include "json.hpp"
#include <memory>
#include "IUnique.h"

namespace mdd
{
    class IModule;

    class IOutput : public IUnique{
    public:
        virtual const json& getValue() = 0;
        virtual json& getValueInternal() = 0;
        virtual bool hasChanged() = 0;
        virtual void resetChange() = 0;
        virtual ~IOutput() = default;
    };
}

#endif //MDD_IOUTPUT_H
