#pragma once #include "interfaces/observable.hpp" class IInputHandler : public IObservable { public: virtual ~IInputHandler() = default; void listen() const override = 0; void attach(const char &event, Callback callback) override = 0; void notify(const char &event) const override = 0; virtual void enter_raw_mode() = 0; virtual void leave_raw_mode() = 0; };