// WARNING: This file is machine generated by fidlgen.

#pragma once

#include <lib/fidl/llcpp/array.h>
#include <lib/fidl/llcpp/coding.h>
#include <lib/fidl/llcpp/envelope.h>
#include <lib/fidl/llcpp/message.h>
#include <lib/fidl/llcpp/message_storage.h>
#include <lib/fidl/llcpp/object_view.h>
#include <lib/fidl/llcpp/string_view.h>
#include <lib/fidl/llcpp/traits.h>
#include <lib/fidl/llcpp/wire_types.h>
#include <lib/stdcompat/optional.h>

#include <cinttypes>
#ifdef __Fuchsia__

#endif  // __Fuchsia__

#include <fidl/test.enum/cpp/common_types.h>
#include <fidl/test.enum/cpp/markers.h>

namespace test_enum {
namespace wire {
using MyStrictEnum = ::test_enum::MyStrictEnum;
using MyFlexibleEnumWithCustomUnknown =
    ::test_enum::MyFlexibleEnumWithCustomUnknown;
using MyFlexibleEnum = ::test_enum::MyFlexibleEnum;
using MyEmptyFlexibleEnum = ::test_enum::MyEmptyFlexibleEnum;

}  // namespace wire
}  // namespace test_enum
namespace fidl {}  // namespace fidl
