// Generated by the protocol buffer compiler.  DO NOT EDIT!
// NO CHECKED-IN PROTOBUF GENCODE
// source: tool_mode.proto
// Protobuf C++ Version: 7.35.1

#ifndef tool_5fmode_2eproto_2epb_2eh
#define tool_5fmode_2eproto_2epb_2eh

#include <limits>
#include <string>
#include <type_traits>
#include <utility>

// clang-format off
#include "google/protobuf/runtime_version.h"
#if PROTOBUF_VERSION != 7035001
#error "Protobuf C++ gencode is built with an incompatible version of"
#error "Protobuf C++ headers/runtime. See"
#error "https://protobuf.dev/support/cross-version-runtime-guarantee/#cpp"
#endif
#include "google/protobuf/io/coded_stream.h"
#include "google/protobuf/arena.h"
#include "google/protobuf/arenastring.h"
#include "google/protobuf/generated_message_tctable_decl.h"
#include "google/protobuf/generated_message_util.h"
#include "google/protobuf/metadata_lite.h"
#include "google/protobuf/repeated_field.h"  // IWYU pragma: export
#include "google/protobuf/extension_set.h"  // IWYU pragma: export
#include "google/protobuf/generated_enum_util.h"
// @@protoc_insertion_point(includes)

// Must be included last.
#include "google/protobuf/port_def.inc"

#define PROTOBUF_INTERNAL_EXPORT_tool_5fmode_2eproto

namespace google {
namespace protobuf {
namespace internal {
template <typename T>
::absl::string_view GetAnyMessageName();
}  // namespace internal
}  // namespace protobuf
}  // namespace google

// Internal implementation detail -- do not use these members.
struct TableStruct_tool_5fmode_2eproto {
  static const ::uint32_t offsets[];
};
namespace omnibox {
enum ToolMode : int;
extern const uint32_t ToolMode_internal_data_[];
}  // namespace omnibox
namespace google {
namespace protobuf {
template <>
internal::EnumTraitsT<::omnibox::ToolMode_internal_data_>
    internal::EnumTraitsImpl::value<::omnibox::ToolMode>;
}  // namespace protobuf
}  // namespace google

namespace omnibox {
enum ToolMode : int {
  TOOL_MODE_UNSPECIFIED = 0,
  TOOL_MODE_DEEP_SEARCH = 1,
  TOOL_MODE_CANVAS = 2,
  TOOL_MODE_IMAGE_GEN = 4,
  TOOL_MODE_DEEP_BROWSE = 5,
  TOOL_MODE_AGENT_TASK = 11,
  TOOL_MODE_IMAGE_GEN_SELFIE = 6,
  TOOL_MODE_IMAGE_GEN_UPLOAD = 7,
  TOOL_MODE_AIM = 9,
  TOOL_MODE_DISABLE_SUGGEST = 8,
  TOOL_MODE_AIM_GEN_PROMPT = 10,
  TOOL_MODE_GEMINI_PRO = 3,
  ToolMode_INT_MIN_SENTINEL_DO_NOT_USE_ =
      ::std::numeric_limits<::int32_t>::min(),
  ToolMode_INT_MAX_SENTINEL_DO_NOT_USE_ =
      ::std::numeric_limits<::int32_t>::max(),
};

extern const uint32_t ToolMode_internal_data_[];
inline constexpr ToolMode ToolMode_MIN =
    static_cast<ToolMode>(0);
inline constexpr ToolMode ToolMode_MAX =
    static_cast<ToolMode>(11);
inline bool ToolMode_IsValid(int value) {
  return 0 <= value && value <= 11;
}
inline constexpr int ToolMode_ARRAYSIZE = 11 + 1;
const ::std::string& ToolMode_Name(ToolMode value);
template <typename T>
const ::std::string& ToolMode_Name(T value) {
  static_assert(::std::is_same<T, ToolMode>::value ||
                    ::std::is_integral<T>::value,
                "Incorrect type passed to ToolMode_Name().");
  return ToolMode_Name(static_cast<ToolMode>(value));
}
bool ToolMode_Parse(
    ::absl::string_view name, ToolMode* PROTOBUF_NONNULL value);
using ::google::protobuf::internal::generated_enum::AbslParseFlag;
using ::google::protobuf::internal::generated_enum::AbslUnparseFlag;

// ===================================================================



// ===================================================================




// ===================================================================


#ifdef __GNUC__
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wstrict-aliasing"
#endif  // __GNUC__
#ifdef __GNUC__
#pragma GCC diagnostic pop
#endif  // __GNUC__

// @@protoc_insertion_point(namespace_scope)
}  // namespace omnibox


namespace google {
namespace protobuf {

template <>
struct is_proto_enum<::omnibox::ToolMode> : std::true_type {};
template <>
struct internal::LiteEnumFuncs<::omnibox::ToolMode> {
  static constexpr bool kIsDefined = true;
  static constexpr auto kParseFunc = ::omnibox::ToolMode_Parse;
  static constexpr auto kNameFunc = ::omnibox::ToolMode_Name<int>;
};

}  // namespace protobuf
}  // namespace google

// @@protoc_insertion_point(global_scope)

#include "google/protobuf/port_undef.inc"
// clang-format on

#endif  // tool_5fmode_2eproto_2epb_2eh
