// AUTOGENERATED FILE - DO NOT MODIFY!
// This file generated by Djinni from enum.djinni

#pragma once

#include "../../handwritten-src/cpp/optional.hpp"
#include <unordered_map>
#include <unordered_set>
#include <vector>

namespace testsuite {

enum class color;

class EnumUsageInterface {
public:
    virtual ~EnumUsageInterface() {}

    virtual color e(color e) = 0;

    virtual std::experimental::optional<color> o(std::experimental::optional<color> o) = 0;

    virtual std::vector<color> l(const std::vector<color> & l) = 0;

    virtual std::unordered_set<color> s(const std::unordered_set<color> & s) = 0;

    virtual std::unordered_map<color, color> m(const std::unordered_map<color, color> & m) = 0;
};

}  // namespace testsuite
