// mojo/public/mojom/base/message_pump_type.mojom.h 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.

#ifndef MOJO_PUBLIC_MOJOM_BASE_MESSAGE_PUMP_TYPE_MOJOM_H_
#define MOJO_PUBLIC_MOJOM_BASE_MESSAGE_PUMP_TYPE_MOJOM_H_

#include <stdint.h>

#include <limits>
#include <optional>
#include <type_traits>
#include <utility>

#include "base/types/cxx23_to_underlying.h"
#include "mojo/public/cpp/bindings/type_converter.h"

#include "third_party/perfetto/include/perfetto/tracing/traced_value_forward.h"

#include "mojo/public/mojom/base/message_pump_type.mojom-features.h"  // IWYU pragma: export
#include "mojo/public/mojom/base/message_pump_type.mojom-shared.h"  // IWYU pragma: export
#include "mojo/public/mojom/base/message_pump_type.mojom-forward.h"  // IWYU pragma: export
#include <string>
#include <vector>




#include "mojo/public/cpp/base/message_pump_type_mojom_traits.h"
#include "base/component_export.h"

#ifdef KYTHE_IS_RUNNING
#pragma kythe_inline_metadata "Metadata comment"
#endif


namespace mojo_base::mojom {





}  // mojo_base::mojom

namespace mojo {

}  // namespace mojo

#endif  // MOJO_PUBLIC_MOJOM_BASE_MESSAGE_PUMP_TYPE_MOJOM_H_
/* Metadata comment
eyJ0eXBlIjogImt5dGhlMCIsICJtZXRhIjogW119
*/