#pragma once
#include <memory>
#include <string_view>
#include "BooleanEvent.h"
namespace nt {
class BooleanSubscriber;
class BooleanTopic;
class NetworkTable;
class NetworkTableInstance;
}
namespace frc {
class NetworkBooleanEvent : public BooleanEvent {
public:
NetworkBooleanEvent(EventLoop* loop, nt::BooleanTopic topic);
NetworkBooleanEvent(EventLoop* loop, nt::BooleanSubscriber sub);
NetworkBooleanEvent(EventLoop* loop, std::shared_ptr<nt::NetworkTable> table,
std::string_view topicName);
NetworkBooleanEvent(EventLoop* loop, std::string_view tableName,
std::string_view topicName);
NetworkBooleanEvent(EventLoop* loop, nt::NetworkTableInstance inst,
std::string_view tableName, std::string_view topicName);
};
}