// chrome/browser/glic/host/glic_webui.mojom-data-view.h is auto generated by mojom_bindings_generator.py, do not edit

// Copyright 2025 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// This file defines XDataView for type traits and can be included in
// _mojom_traits.h definitions but otherwise please use .mojom-forward.h,
// .mojom-shared.h or .mojom.h.

// IWYU pragma: private
// IWYU pragma: friend "traits"

#ifndef CHROME_BROWSER_GLIC_HOST_GLIC_WEBUI_MOJOM_DATA_VIEW_H_
#define CHROME_BROWSER_GLIC_HOST_GLIC_WEBUI_MOJOM_DATA_VIEW_H_

#include <stdint.h>

#include <functional>
#include <iosfwd>
#include <type_traits>
#include <utility>

#include "chrome/browser/glic/host/glic_webui.mojom-shared-internal.h"
#include "chrome/browser/glic/host/glic.mojom-shared.h"
#include "mojo/public/mojom/base/time.mojom-shared.h"
#include "ui/gfx/geometry/mojom/geometry.mojom-shared.h"
#include "url/mojom/url.mojom-shared.h"


namespace glic::mojom {


}  // glic::mojom


namespace mojo {
namespace internal {

}  // namespace internal
}  // namespace mojo


namespace glic::mojom {


enum class ProfileReadyState : int32_t {
  
  kUnknownError = 0,
  
  kSignInRequired = 1,
  
  kReady = 2,
  
  kIneligible = 3,
  
  kDisabledByAdmin = 4,
  
  kLocationMismatch = 5,
  
  kIneligibleAccount = 6,
  kMinValue = 0,
  kMaxValue = 6,
};

 std::ostream& operator<<(std::ostream& os, ProfileReadyState value);
inline bool IsKnownEnumValue(ProfileReadyState value) {
  return internal::ProfileReadyState_Data::IsKnownValue(
      static_cast<int32_t>(value));
}

// Returns true if the enum has an infallible conversion from the mojom enum.
consteval bool HasInfallibleConversion(ProfileReadyState) {
  return true;
}


enum class ZoomAction : int32_t {
  
  kZoomIn = 0,
  
  kZoomOut = 1,
  
  kReset = 2,
  kMinValue = 0,
  kMaxValue = 2,
};

 std::ostream& operator<<(std::ostream& os, ZoomAction value);
inline bool IsKnownEnumValue(ZoomAction value) {
  return internal::ZoomAction_Data::IsKnownValue(
      static_cast<int32_t>(value));
}

// Returns true if the enum has an infallible conversion from the mojom enum.
consteval bool HasInfallibleConversion(ZoomAction) {
  return true;
}


enum class WebClientState : int32_t {
  
  kUninitialized = 0,
  
  kWarmed = 1,
  
  kResponsive = 2,
  
  kUnresponsive = 3,
  
  kError = 4,
  kMinValue = 0,
  kMaxValue = 4,
};

 std::ostream& operator<<(std::ostream& os, WebClientState value);
inline bool IsKnownEnumValue(WebClientState value) {
  return internal::WebClientState_Data::IsKnownValue(
      static_cast<int32_t>(value));
}

// Returns true if the enum has an infallible conversion from the mojom enum.
consteval bool HasInfallibleConversion(WebClientState) {
  return true;
}


enum class GuestPageType : int32_t {
  
  kRegular = 0,
  
  kLogin = 1,
  
  kGuestError = 2,
  
  kLoadError = 3,
  
  kDisabledByAdmin = 4,
  kMinValue = 0,
  kMaxValue = 4,
};

 std::ostream& operator<<(std::ostream& os, GuestPageType value);
inline bool IsKnownEnumValue(GuestPageType value) {
  return internal::GuestPageType_Data::IsKnownValue(
      static_cast<int32_t>(value));
}

// Returns true if the enum has an infallible conversion from the mojom enum.
consteval bool HasInfallibleConversion(GuestPageType) {
  return true;
}


enum class WebUiState : int32_t {
  
  kUninitialized = 0,
  
  kBeginLoad = 1,
  
  kShowLoading = 2,
  
  kHoldLoading = 3,
  
  kFinishLoading = 4,
  
  kError = 5,
  
  kOffline = 6,
  
  kUnavailable = 7,
  
  kReady = 8,
  
  kUnresponsive = 9,
  
  kSignIn = 10,
  
  kGuestError = 11,
  
  kDisabledByAdmin = 12,
  
  kWarmed = 13,
  
  kLocationMismatch = 14,
  
  kIneligibleAccount = 15,
  kMinValue = 0,
  kMaxValue = 15,
};

 std::ostream& operator<<(std::ostream& os, WebUiState value);
inline bool IsKnownEnumValue(WebUiState value) {
  return internal::WebUiState_Data::IsKnownValue(
      static_cast<int32_t>(value));
}

// Returns true if the enum has an infallible conversion from the mojom enum.
consteval bool HasInfallibleConversion(WebUiState) {
  return true;
}


enum class PrepareForClientResult : int32_t {
  
  kSuccess = 0,
  
  kErrorResyncingCookies = 1,
  
  kRequiresSignIn = 2,
  kMinValue = 0,
  kMaxValue = 2,
};

 std::ostream& operator<<(std::ostream& os, PrepareForClientResult value);
inline bool IsKnownEnumValue(PrepareForClientResult value) {
  return internal::PrepareForClientResult_Data::IsKnownValue(
      static_cast<int32_t>(value));
}

// Returns true if the enum has an infallible conversion from the mojom enum.
consteval bool HasInfallibleConversion(PrepareForClientResult) {
  return true;
}


enum class HelpCenterTopic : int32_t {
  
  kLocationMismatch = 0,
  
  kIneligibleAccount = 1,
  kMinValue = 0,
  kMaxValue = 1,
};

 std::ostream& operator<<(std::ostream& os, HelpCenterTopic value);
inline bool IsKnownEnumValue(HelpCenterTopic value) {
  return internal::HelpCenterTopic_Data::IsKnownValue(
      static_cast<int32_t>(value));
}

// Returns true if the enum has an infallible conversion from the mojom enum.
consteval bool HasInfallibleConversion(HelpCenterTopic) {
  return true;
}
// Interface base classes. They are used for type safety check.
class PreloadPageInterfaceBase {};

using PreloadPagePtrDataView =
    mojo::InterfacePtrDataView<PreloadPageInterfaceBase>;
using PreloadPageRequestDataView =
    mojo::InterfaceRequestDataView<PreloadPageInterfaceBase>;
using PreloadPageAssociatedPtrInfoDataView =
    mojo::AssociatedInterfacePtrInfoDataView<PreloadPageInterfaceBase>;
using PreloadPageAssociatedRequestDataView =
    mojo::AssociatedInterfaceRequestDataView<PreloadPageInterfaceBase>;
class PageInterfaceBase {};

using PagePtrDataView =
    mojo::InterfacePtrDataView<PageInterfaceBase>;
using PageRequestDataView =
    mojo::InterfaceRequestDataView<PageInterfaceBase>;
using PageAssociatedPtrInfoDataView =
    mojo::AssociatedInterfacePtrInfoDataView<PageInterfaceBase>;
using PageAssociatedRequestDataView =
    mojo::AssociatedInterfaceRequestDataView<PageInterfaceBase>;
class GlicPreloadHandlerInterfaceBase {};

using GlicPreloadHandlerPtrDataView =
    mojo::InterfacePtrDataView<GlicPreloadHandlerInterfaceBase>;
using GlicPreloadHandlerRequestDataView =
    mojo::InterfaceRequestDataView<GlicPreloadHandlerInterfaceBase>;
using GlicPreloadHandlerAssociatedPtrInfoDataView =
    mojo::AssociatedInterfacePtrInfoDataView<GlicPreloadHandlerInterfaceBase>;
using GlicPreloadHandlerAssociatedRequestDataView =
    mojo::AssociatedInterfaceRequestDataView<GlicPreloadHandlerInterfaceBase>;
class GlicPreloadHandlerFactoryInterfaceBase {};

using GlicPreloadHandlerFactoryPtrDataView =
    mojo::InterfacePtrDataView<GlicPreloadHandlerFactoryInterfaceBase>;
using GlicPreloadHandlerFactoryRequestDataView =
    mojo::InterfaceRequestDataView<GlicPreloadHandlerFactoryInterfaceBase>;
using GlicPreloadHandlerFactoryAssociatedPtrInfoDataView =
    mojo::AssociatedInterfacePtrInfoDataView<GlicPreloadHandlerFactoryInterfaceBase>;
using GlicPreloadHandlerFactoryAssociatedRequestDataView =
    mojo::AssociatedInterfaceRequestDataView<GlicPreloadHandlerFactoryInterfaceBase>;
class PageHandlerFactoryInterfaceBase {};

using PageHandlerFactoryPtrDataView =
    mojo::InterfacePtrDataView<PageHandlerFactoryInterfaceBase>;
using PageHandlerFactoryRequestDataView =
    mojo::InterfaceRequestDataView<PageHandlerFactoryInterfaceBase>;
using PageHandlerFactoryAssociatedPtrInfoDataView =
    mojo::AssociatedInterfacePtrInfoDataView<PageHandlerFactoryInterfaceBase>;
using PageHandlerFactoryAssociatedRequestDataView =
    mojo::AssociatedInterfaceRequestDataView<PageHandlerFactoryInterfaceBase>;
class PageHandlerInterfaceBase {};

using PageHandlerPtrDataView =
    mojo::InterfacePtrDataView<PageHandlerInterfaceBase>;
using PageHandlerRequestDataView =
    mojo::InterfaceRequestDataView<PageHandlerInterfaceBase>;
using PageHandlerAssociatedPtrInfoDataView =
    mojo::AssociatedInterfacePtrInfoDataView<PageHandlerInterfaceBase>;
using PageHandlerAssociatedRequestDataView =
    mojo::AssociatedInterfaceRequestDataView<PageHandlerInterfaceBase>;


}  // glic::mojom

#endif  // CHROME_BROWSER_GLIC_HOST_GLIC_WEBUI_MOJOM_DATA_VIEW_H_