// components/omnibox/composebox/composebox_query.mojom.cc is auto generated by mojom_bindings_generator.py, do not edit

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

#if defined(__clang__)
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wunused-private-field"
#endif

#include "components/omnibox/composebox/composebox_query.mojom.h"
#include <stdint.h>
#include <utility>
#include "mojo/public/cpp/bindings/lib/default_construct_tag_internal.h"
#include "mojo/public/cpp/bindings/lib/serialization.h"
#include "mojo/public/cpp/bindings/lib/validate_params.h"
#include "mojo/public/cpp/bindings/lib/validation_errors.h"
#include "mojo/public/cpp/bindings/mojo_buildflags.h"
#include "third_party/perfetto/include/perfetto/tracing/traced_value.h"

#include "components/omnibox/composebox/composebox_query.mojom-params-data.h"
#include "components/omnibox/composebox/composebox_query.mojom-shared-message-ids.h"

#include "components/omnibox/composebox/composebox_query.mojom-import-headers.h"
#include "components/omnibox/composebox/composebox_query.mojom-test-utils.h"


namespace composebox_query::mojom {
AimUrlParam::AimUrlParam()
    : param_key(),
      param_value() {}

AimUrlParam::AimUrlParam(
    const std::string& param_key_in,
    const std::string& param_value_in)
    : param_key(std::move(param_key_in)),
      param_value(std::move(param_value_in)) {}

AimUrlParam::~AimUrlParam() = default;
size_t AimUrlParam::Hash(size_t seed) const {
  seed = mojo::internal::Hash(seed, this->param_key);
  seed = mojo::internal::Hash(seed, this->param_value);
  return seed;
}

void AimUrlParam::WriteIntoTrace(
    perfetto::TracedValue traced_context) const {
  [[maybe_unused]] auto dict = std::move(traced_context).WriteDictionary();
  perfetto::WriteIntoTracedValueWithFallback(
    dict.AddItem(
      "param_key"), this->param_key,
#if BUILDFLAG(MOJO_TRACE_ENABLED)
      "<value of type const std::string&>"
#else
      "<value>"
#endif  // BUILDFLAG(MOJO_TRACE_ENABLED)
    );
  perfetto::WriteIntoTracedValueWithFallback(
    dict.AddItem(
      "param_value"), this->param_value,
#if BUILDFLAG(MOJO_TRACE_ENABLED)
      "<value of type const std::string&>"
#else
      "<value>"
#endif  // BUILDFLAG(MOJO_TRACE_ENABLED)
    );
}

bool AimUrlParam::Validate(
    const void* data,
    mojo::internal::ValidationContext* validation_context) {
  return Data_::Validate(data, validation_context);
}
InputTypeConfig::InputTypeConfig()
    : input_type(),
      menu_label() {}

InputTypeConfig::InputTypeConfig(
    ::omnibox::InputType input_type_in,
    const std::string& menu_label_in)
    : input_type(std::move(input_type_in)),
      menu_label(std::move(menu_label_in)) {}

InputTypeConfig::~InputTypeConfig() = default;

void InputTypeConfig::WriteIntoTrace(
    perfetto::TracedValue traced_context) const {
  [[maybe_unused]] auto dict = std::move(traced_context).WriteDictionary();
  perfetto::WriteIntoTracedValueWithFallback(
    dict.AddItem(
      "input_type"), this->input_type,
#if BUILDFLAG(MOJO_TRACE_ENABLED)
      "<value of type ::omnibox::InputType>"
#else
      "<value>"
#endif  // BUILDFLAG(MOJO_TRACE_ENABLED)
    );
  perfetto::WriteIntoTracedValueWithFallback(
    dict.AddItem(
      "menu_label"), this->menu_label,
#if BUILDFLAG(MOJO_TRACE_ENABLED)
      "<value of type const std::string&>"
#else
      "<value>"
#endif  // BUILDFLAG(MOJO_TRACE_ENABLED)
    );
}

bool InputTypeConfig::Validate(
    const void* data,
    mojo::internal::ValidationContext* validation_context) {
  return Data_::Validate(data, validation_context);
}
ToolConfig::ToolConfig()
    : tool(),
      disable_active_model_selection(),
      menu_label(),
      chip_label(),
      hint_text(),
      aim_url_params(),
      menu_tooltip() {}

ToolConfig::ToolConfig(
    ::omnibox::ToolMode tool_in,
    bool disable_active_model_selection_in,
    const std::string& menu_label_in,
    const std::string& chip_label_in,
    const std::string& hint_text_in,
    std::vector<AimUrlParamPtr> aim_url_params_in,
    const std::string& menu_tooltip_in)
    : tool(std::move(tool_in)),
      disable_active_model_selection(std::move(disable_active_model_selection_in)),
      menu_label(std::move(menu_label_in)),
      chip_label(std::move(chip_label_in)),
      hint_text(std::move(hint_text_in)),
      aim_url_params(std::move(aim_url_params_in)),
      menu_tooltip(std::move(menu_tooltip_in)) {}

ToolConfig::~ToolConfig() = default;

void ToolConfig::WriteIntoTrace(
    perfetto::TracedValue traced_context) const {
  [[maybe_unused]] auto dict = std::move(traced_context).WriteDictionary();
  perfetto::WriteIntoTracedValueWithFallback(
    dict.AddItem(
      "tool"), this->tool,
#if BUILDFLAG(MOJO_TRACE_ENABLED)
      "<value of type ::omnibox::ToolMode>"
#else
      "<value>"
#endif  // BUILDFLAG(MOJO_TRACE_ENABLED)
    );
  perfetto::WriteIntoTracedValueWithFallback(
    dict.AddItem(
      "disable_active_model_selection"), this->disable_active_model_selection,
#if BUILDFLAG(MOJO_TRACE_ENABLED)
      "<value of type bool>"
#else
      "<value>"
#endif  // BUILDFLAG(MOJO_TRACE_ENABLED)
    );
  perfetto::WriteIntoTracedValueWithFallback(
    dict.AddItem(
      "menu_label"), this->menu_label,
#if BUILDFLAG(MOJO_TRACE_ENABLED)
      "<value of type const std::string&>"
#else
      "<value>"
#endif  // BUILDFLAG(MOJO_TRACE_ENABLED)
    );
  perfetto::WriteIntoTracedValueWithFallback(
    dict.AddItem(
      "chip_label"), this->chip_label,
#if BUILDFLAG(MOJO_TRACE_ENABLED)
      "<value of type const std::string&>"
#else
      "<value>"
#endif  // BUILDFLAG(MOJO_TRACE_ENABLED)
    );
  perfetto::WriteIntoTracedValueWithFallback(
    dict.AddItem(
      "hint_text"), this->hint_text,
#if BUILDFLAG(MOJO_TRACE_ENABLED)
      "<value of type const std::string&>"
#else
      "<value>"
#endif  // BUILDFLAG(MOJO_TRACE_ENABLED)
    );
  perfetto::WriteIntoTracedValueWithFallback(
    dict.AddItem(
      "aim_url_params"), this->aim_url_params,
#if BUILDFLAG(MOJO_TRACE_ENABLED)
      "<value of type std::vector<AimUrlParamPtr>>"
#else
      "<value>"
#endif  // BUILDFLAG(MOJO_TRACE_ENABLED)
    );
  perfetto::WriteIntoTracedValueWithFallback(
    dict.AddItem(
      "menu_tooltip"), this->menu_tooltip,
#if BUILDFLAG(MOJO_TRACE_ENABLED)
      "<value of type const std::string&>"
#else
      "<value>"
#endif  // BUILDFLAG(MOJO_TRACE_ENABLED)
    );
}

bool ToolConfig::Validate(
    const void* data,
    mojo::internal::ValidationContext* validation_context) {
  return Data_::Validate(data, validation_context);
}
ModelConfig::ModelConfig()
    : model(),
      menu_label(),
      hint_text(),
      aim_url_params(),
      menu_tooltip() {}

ModelConfig::ModelConfig(
    ::omnibox::ModelMode model_in,
    const std::string& menu_label_in,
    const std::string& hint_text_in,
    std::vector<AimUrlParamPtr> aim_url_params_in,
    const std::string& menu_tooltip_in)
    : model(std::move(model_in)),
      menu_label(std::move(menu_label_in)),
      hint_text(std::move(hint_text_in)),
      aim_url_params(std::move(aim_url_params_in)),
      menu_tooltip(std::move(menu_tooltip_in)) {}

ModelConfig::~ModelConfig() = default;

void ModelConfig::WriteIntoTrace(
    perfetto::TracedValue traced_context) const {
  [[maybe_unused]] auto dict = std::move(traced_context).WriteDictionary();
  perfetto::WriteIntoTracedValueWithFallback(
    dict.AddItem(
      "model"), this->model,
#if BUILDFLAG(MOJO_TRACE_ENABLED)
      "<value of type ::omnibox::ModelMode>"
#else
      "<value>"
#endif  // BUILDFLAG(MOJO_TRACE_ENABLED)
    );
  perfetto::WriteIntoTracedValueWithFallback(
    dict.AddItem(
      "menu_label"), this->menu_label,
#if BUILDFLAG(MOJO_TRACE_ENABLED)
      "<value of type const std::string&>"
#else
      "<value>"
#endif  // BUILDFLAG(MOJO_TRACE_ENABLED)
    );
  perfetto::WriteIntoTracedValueWithFallback(
    dict.AddItem(
      "hint_text"), this->hint_text,
#if BUILDFLAG(MOJO_TRACE_ENABLED)
      "<value of type const std::string&>"
#else
      "<value>"
#endif  // BUILDFLAG(MOJO_TRACE_ENABLED)
    );
  perfetto::WriteIntoTracedValueWithFallback(
    dict.AddItem(
      "aim_url_params"), this->aim_url_params,
#if BUILDFLAG(MOJO_TRACE_ENABLED)
      "<value of type std::vector<AimUrlParamPtr>>"
#else
      "<value>"
#endif  // BUILDFLAG(MOJO_TRACE_ENABLED)
    );
  perfetto::WriteIntoTracedValueWithFallback(
    dict.AddItem(
      "menu_tooltip"), this->menu_tooltip,
#if BUILDFLAG(MOJO_TRACE_ENABLED)
      "<value of type const std::string&>"
#else
      "<value>"
#endif  // BUILDFLAG(MOJO_TRACE_ENABLED)
    );
}

bool ModelConfig::Validate(
    const void* data,
    mojo::internal::ValidationContext* validation_context) {
  return Data_::Validate(data, validation_context);
}
SectionConfig::SectionConfig()
    : header() {}

SectionConfig::SectionConfig(
    const std::string& header_in)
    : header(std::move(header_in)) {}

SectionConfig::~SectionConfig() = default;

void SectionConfig::WriteIntoTrace(
    perfetto::TracedValue traced_context) const {
  [[maybe_unused]] auto dict = std::move(traced_context).WriteDictionary();
  perfetto::WriteIntoTracedValueWithFallback(
    dict.AddItem(
      "header"), this->header,
#if BUILDFLAG(MOJO_TRACE_ENABLED)
      "<value of type const std::string&>"
#else
      "<value>"
#endif  // BUILDFLAG(MOJO_TRACE_ENABLED)
    );
}

bool SectionConfig::Validate(
    const void* data,
    mojo::internal::ValidationContext* validation_context) {
  return Data_::Validate(data, validation_context);
}
InputState::InputState()
    : allowed_models(),
      allowed_tools(),
      allowed_input_types(),
      active_model(),
      active_tool(),
      disabled_models(),
      disabled_tools(),
      disabled_input_types(),
      tool_configs(),
      model_configs(),
      input_type_configs(),
      tools_section_config(),
      model_section_config(),
      hint_text(),
      max_inputs_by_type(),
      max_total_inputs(),
      is_canvas_query_submitted() {}

InputState::InputState(
    std::vector<::omnibox::ModelMode> allowed_models_in,
    std::vector<::omnibox::ToolMode> allowed_tools_in,
    std::vector<::omnibox::InputType> allowed_input_types_in,
    ::omnibox::ModelMode active_model_in,
    ::omnibox::ToolMode active_tool_in,
    std::vector<::omnibox::ModelMode> disabled_models_in,
    std::vector<::omnibox::ToolMode> disabled_tools_in,
    std::vector<::omnibox::InputType> disabled_input_types_in,
    std::vector<::omnibox::ToolConfig> tool_configs_in,
    std::vector<::omnibox::ModelConfig> model_configs_in,
    std::vector<InputTypeConfigPtr> input_type_configs_in,
    const std::optional<::omnibox::SectionConfig>& tools_section_config_in,
    const std::optional<::omnibox::SectionConfig>& model_section_config_in,
    const std::string& hint_text_in,
    const base::flat_map<::omnibox::InputType, int32_t>& max_inputs_by_type_in,
    int32_t max_total_inputs_in,
    bool is_canvas_query_submitted_in)
    : allowed_models(std::move(allowed_models_in)),
      allowed_tools(std::move(allowed_tools_in)),
      allowed_input_types(std::move(allowed_input_types_in)),
      active_model(std::move(active_model_in)),
      active_tool(std::move(active_tool_in)),
      disabled_models(std::move(disabled_models_in)),
      disabled_tools(std::move(disabled_tools_in)),
      disabled_input_types(std::move(disabled_input_types_in)),
      tool_configs(std::move(tool_configs_in)),
      model_configs(std::move(model_configs_in)),
      input_type_configs(std::move(input_type_configs_in)),
      tools_section_config(std::move(tools_section_config_in)),
      model_section_config(std::move(model_section_config_in)),
      hint_text(std::move(hint_text_in)),
      max_inputs_by_type(std::move(max_inputs_by_type_in)),
      max_total_inputs(std::move(max_total_inputs_in)),
      is_canvas_query_submitted(std::move(is_canvas_query_submitted_in)) {}

InputState::~InputState() = default;

void InputState::WriteIntoTrace(
    perfetto::TracedValue traced_context) const {
  [[maybe_unused]] auto dict = std::move(traced_context).WriteDictionary();
  perfetto::WriteIntoTracedValueWithFallback(
    dict.AddItem(
      "allowed_models"), this->allowed_models,
#if BUILDFLAG(MOJO_TRACE_ENABLED)
      "<value of type const std::vector<::omnibox::ModelMode>&>"
#else
      "<value>"
#endif  // BUILDFLAG(MOJO_TRACE_ENABLED)
    );
  perfetto::WriteIntoTracedValueWithFallback(
    dict.AddItem(
      "allowed_tools"), this->allowed_tools,
#if BUILDFLAG(MOJO_TRACE_ENABLED)
      "<value of type const std::vector<::omnibox::ToolMode>&>"
#else
      "<value>"
#endif  // BUILDFLAG(MOJO_TRACE_ENABLED)
    );
  perfetto::WriteIntoTracedValueWithFallback(
    dict.AddItem(
      "allowed_input_types"), this->allowed_input_types,
#if BUILDFLAG(MOJO_TRACE_ENABLED)
      "<value of type const std::vector<::omnibox::InputType>&>"
#else
      "<value>"
#endif  // BUILDFLAG(MOJO_TRACE_ENABLED)
    );
  perfetto::WriteIntoTracedValueWithFallback(
    dict.AddItem(
      "active_model"), this->active_model,
#if BUILDFLAG(MOJO_TRACE_ENABLED)
      "<value of type ::omnibox::ModelMode>"
#else
      "<value>"
#endif  // BUILDFLAG(MOJO_TRACE_ENABLED)
    );
  perfetto::WriteIntoTracedValueWithFallback(
    dict.AddItem(
      "active_tool"), this->active_tool,
#if BUILDFLAG(MOJO_TRACE_ENABLED)
      "<value of type ::omnibox::ToolMode>"
#else
      "<value>"
#endif  // BUILDFLAG(MOJO_TRACE_ENABLED)
    );
  perfetto::WriteIntoTracedValueWithFallback(
    dict.AddItem(
      "disabled_models"), this->disabled_models,
#if BUILDFLAG(MOJO_TRACE_ENABLED)
      "<value of type const std::vector<::omnibox::ModelMode>&>"
#else
      "<value>"
#endif  // BUILDFLAG(MOJO_TRACE_ENABLED)
    );
  perfetto::WriteIntoTracedValueWithFallback(
    dict.AddItem(
      "disabled_tools"), this->disabled_tools,
#if BUILDFLAG(MOJO_TRACE_ENABLED)
      "<value of type const std::vector<::omnibox::ToolMode>&>"
#else
      "<value>"
#endif  // BUILDFLAG(MOJO_TRACE_ENABLED)
    );
  perfetto::WriteIntoTracedValueWithFallback(
    dict.AddItem(
      "disabled_input_types"), this->disabled_input_types,
#if BUILDFLAG(MOJO_TRACE_ENABLED)
      "<value of type const std::vector<::omnibox::InputType>&>"
#else
      "<value>"
#endif  // BUILDFLAG(MOJO_TRACE_ENABLED)
    );
  perfetto::WriteIntoTracedValueWithFallback(
    dict.AddItem(
      "tool_configs"), this->tool_configs,
#if BUILDFLAG(MOJO_TRACE_ENABLED)
      "<value of type const std::vector<::omnibox::ToolConfig>&>"
#else
      "<value>"
#endif  // BUILDFLAG(MOJO_TRACE_ENABLED)
    );
  perfetto::WriteIntoTracedValueWithFallback(
    dict.AddItem(
      "model_configs"), this->model_configs,
#if BUILDFLAG(MOJO_TRACE_ENABLED)
      "<value of type const std::vector<::omnibox::ModelConfig>&>"
#else
      "<value>"
#endif  // BUILDFLAG(MOJO_TRACE_ENABLED)
    );
  perfetto::WriteIntoTracedValueWithFallback(
    dict.AddItem(
      "input_type_configs"), this->input_type_configs,
#if BUILDFLAG(MOJO_TRACE_ENABLED)
      "<value of type std::vector<InputTypeConfigPtr>>"
#else
      "<value>"
#endif  // BUILDFLAG(MOJO_TRACE_ENABLED)
    );
  perfetto::WriteIntoTracedValueWithFallback(
    dict.AddItem(
      "tools_section_config"), this->tools_section_config,
#if BUILDFLAG(MOJO_TRACE_ENABLED)
      "<value of type const std::optional<::omnibox::SectionConfig>&>"
#else
      "<value>"
#endif  // BUILDFLAG(MOJO_TRACE_ENABLED)
    );
  perfetto::WriteIntoTracedValueWithFallback(
    dict.AddItem(
      "model_section_config"), this->model_section_config,
#if BUILDFLAG(MOJO_TRACE_ENABLED)
      "<value of type const std::optional<::omnibox::SectionConfig>&>"
#else
      "<value>"
#endif  // BUILDFLAG(MOJO_TRACE_ENABLED)
    );
  perfetto::WriteIntoTracedValueWithFallback(
    dict.AddItem(
      "hint_text"), this->hint_text,
#if BUILDFLAG(MOJO_TRACE_ENABLED)
      "<value of type const std::string&>"
#else
      "<value>"
#endif  // BUILDFLAG(MOJO_TRACE_ENABLED)
    );
  perfetto::WriteIntoTracedValueWithFallback(
    dict.AddItem(
      "max_inputs_by_type"), this->max_inputs_by_type,
#if BUILDFLAG(MOJO_TRACE_ENABLED)
      "<value of type const base::flat_map<::omnibox::InputType, int32_t>&>"
#else
      "<value>"
#endif  // BUILDFLAG(MOJO_TRACE_ENABLED)
    );
  perfetto::WriteIntoTracedValueWithFallback(
    dict.AddItem(
      "max_total_inputs"), this->max_total_inputs,
#if BUILDFLAG(MOJO_TRACE_ENABLED)
      "<value of type int32_t>"
#else
      "<value>"
#endif  // BUILDFLAG(MOJO_TRACE_ENABLED)
    );
  perfetto::WriteIntoTracedValueWithFallback(
    dict.AddItem(
      "is_canvas_query_submitted"), this->is_canvas_query_submitted,
#if BUILDFLAG(MOJO_TRACE_ENABLED)
      "<value of type bool>"
#else
      "<value>"
#endif  // BUILDFLAG(MOJO_TRACE_ENABLED)
    );
}

bool InputState::Validate(
    const void* data,
    mojo::internal::ValidationContext* validation_context) {
  return Data_::Validate(data, validation_context);
}


}  // composebox_query::mojom


namespace mojo {


// static
bool StructTraits<::composebox_query::mojom::AimUrlParam::DataView, ::composebox_query::mojom::AimUrlParamPtr>::Read(
    ::composebox_query::mojom::AimUrlParam::DataView input,
    ::composebox_query::mojom::AimUrlParamPtr* output) {
  bool success = true;
  ::composebox_query::mojom::AimUrlParamPtr result(::composebox_query::mojom::AimUrlParam::New());
  
      if (success && !input.ReadParamKey(&result->param_key))
        success = false;
      if (success && !input.ReadParamValue(&result->param_value))
        success = false;
  *output = std::move(result);
  return success;
}


// static
bool StructTraits<::composebox_query::mojom::InputTypeConfig::DataView, ::composebox_query::mojom::InputTypeConfigPtr>::Read(
    ::composebox_query::mojom::InputTypeConfig::DataView input,
    ::composebox_query::mojom::InputTypeConfigPtr* output) {
  bool success = true;
  ::composebox_query::mojom::InputTypeConfigPtr result(::composebox_query::mojom::InputTypeConfig::New());
  
      if (success && !input.ReadInputType(&result->input_type))
        success = false;
      if (success && !input.ReadMenuLabel(&result->menu_label))
        success = false;
  *output = std::move(result);
  return success;
}


// static
bool StructTraits<::composebox_query::mojom::ToolConfig::DataView, ::composebox_query::mojom::ToolConfigPtr>::Read(
    ::composebox_query::mojom::ToolConfig::DataView input,
    ::composebox_query::mojom::ToolConfigPtr* output) {
  bool success = true;
  ::composebox_query::mojom::ToolConfigPtr result(::composebox_query::mojom::ToolConfig::New());
  
      if (success && !input.ReadTool(&result->tool))
        success = false;
      if (success)
        result->disable_active_model_selection = input.disable_active_model_selection();
      if (success && !input.ReadMenuLabel(&result->menu_label))
        success = false;
      if (success && !input.ReadChipLabel(&result->chip_label))
        success = false;
      if (success && !input.ReadHintText(&result->hint_text))
        success = false;
      if (success && !input.ReadAimUrlParams(&result->aim_url_params))
        success = false;
      if (success && !input.ReadMenuTooltip(&result->menu_tooltip))
        success = false;
  *output = std::move(result);
  return success;
}


// static
bool StructTraits<::composebox_query::mojom::ModelConfig::DataView, ::composebox_query::mojom::ModelConfigPtr>::Read(
    ::composebox_query::mojom::ModelConfig::DataView input,
    ::composebox_query::mojom::ModelConfigPtr* output) {
  bool success = true;
  ::composebox_query::mojom::ModelConfigPtr result(::composebox_query::mojom::ModelConfig::New());
  
      if (success && !input.ReadModel(&result->model))
        success = false;
      if (success && !input.ReadMenuLabel(&result->menu_label))
        success = false;
      if (success && !input.ReadHintText(&result->hint_text))
        success = false;
      if (success && !input.ReadAimUrlParams(&result->aim_url_params))
        success = false;
      if (success && !input.ReadMenuTooltip(&result->menu_tooltip))
        success = false;
  *output = std::move(result);
  return success;
}


// static
bool StructTraits<::composebox_query::mojom::SectionConfig::DataView, ::composebox_query::mojom::SectionConfigPtr>::Read(
    ::composebox_query::mojom::SectionConfig::DataView input,
    ::composebox_query::mojom::SectionConfigPtr* output) {
  bool success = true;
  ::composebox_query::mojom::SectionConfigPtr result(::composebox_query::mojom::SectionConfig::New());
  
      if (success && !input.ReadHeader(&result->header))
        success = false;
  *output = std::move(result);
  return success;
}


// static
bool StructTraits<::composebox_query::mojom::InputState::DataView, ::composebox_query::mojom::InputStatePtr>::Read(
    ::composebox_query::mojom::InputState::DataView input,
    ::composebox_query::mojom::InputStatePtr* output) {
  bool success = true;
  ::composebox_query::mojom::InputStatePtr result(::composebox_query::mojom::InputState::New());
  
      if (success && !input.ReadAllowedModels(&result->allowed_models))
        success = false;
      if (success && !input.ReadAllowedTools(&result->allowed_tools))
        success = false;
      if (success && !input.ReadAllowedInputTypes(&result->allowed_input_types))
        success = false;
      if (success && !input.ReadActiveModel(&result->active_model))
        success = false;
      if (success && !input.ReadActiveTool(&result->active_tool))
        success = false;
      if (success && !input.ReadDisabledModels(&result->disabled_models))
        success = false;
      if (success && !input.ReadDisabledTools(&result->disabled_tools))
        success = false;
      if (success && !input.ReadDisabledInputTypes(&result->disabled_input_types))
        success = false;
      if (success && !input.ReadToolConfigs(&result->tool_configs))
        success = false;
      if (success && !input.ReadModelConfigs(&result->model_configs))
        success = false;
      if (success && !input.ReadInputTypeConfigs(&result->input_type_configs))
        success = false;
      if (success && !input.ReadToolsSectionConfig(&result->tools_section_config))
        success = false;
      if (success && !input.ReadModelSectionConfig(&result->model_section_config))
        success = false;
      if (success && !input.ReadHintText(&result->hint_text))
        success = false;
      if (success && !input.ReadMaxInputsByType(&result->max_inputs_by_type))
        success = false;
      if (success)
        result->max_total_inputs = input.max_total_inputs();
      if (success)
        result->is_canvas_query_submitted = input.is_canvas_query_submitted();
  *output = std::move(result);
  return success;
}

}  // namespace mojo


// Symbols declared in the -test-utils.h header are defined here instead of a
// separate .cc file to save compile time.


namespace composebox_query::mojom {




}  // composebox_query::mojom


#if defined(__clang__)
#pragma clang diagnostic pop
#endif