#pragma once

#include "application/config/values/TypedConfigValue.h"

namespace ta::application::config
{
class CheckboxValue : public TypedConfigValue<bool>
{
public:
    CheckboxValue(const bool initial, const std::string& name)
        : TypedConfigValue(initial, name) {}

    [[nodiscard]] ConfigValueKind kind() const override { return ConfigValueKind::Checkbox; }
    [[nodiscard]] ApplyResult set_value(const bool value) { return apply(ConfigValueData{value}); }
};
}
