// SPDX-License-Identifier: GPL-3.0-or-later

// This file is auto-generated by scripts/generate_nymea_api.py
// Any changes made here will be lost when the files are regenerated.
// Do not edit manually.

#pragma once

#include "apiutils.h"

namespace nymea::api {

class State {
public:
    // wire: 'filter' (required)
    StateValueFilter filter{};
    // wire: 'maxValue' (optional, required)
    std::optional<QJsonValue> maxValue;
    // wire: 'minValue' (optional, required)
    std::optional<QJsonValue> minValue;
    // wire: 'possibleValues' (optional, required)
    std::optional<QList<QJsonValue>> possibleValues;
    // wire: 'stateTypeId' (required)
    QUuid stateTypeId{};
    // wire: 'value' (required)
    QJsonValue value{};

    static State fromJson(const QJsonObject &object);
    QJsonObject toJson() const;
};

} // namespace nymea::api
