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

#ifndef google_2fcloud_2fbigquery_2fstorage_2fv1_2fstorage_2eproto_2epb_2eh
#define google_2fcloud_2fbigquery_2fstorage_2fv1_2fstorage_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/generated_message_reflection.h"
#include "google/protobuf/message.h"
#include "google/protobuf/message_lite.h"
#include "google/protobuf/repeated_field.h"  // IWYU pragma: export
#include "google/protobuf/extension_set.h"  // IWYU pragma: export
#include "google/protobuf/map.h"  // IWYU pragma: export
#include "google/protobuf/map_type_handler.h"  // IWYU pragma: export
#include "google/protobuf/map_entry.h"
#include "google/protobuf/map_field.h"
#include "google/protobuf/generated_enum_reflection.h"
#include "google/protobuf/unknown_field_set.h"
#include "google/api/annotations.pb.h"
#include "google/api/client.pb.h"
#include "google/api/field_behavior.pb.h"
#include "google/api/resource.pb.h"
#include "google/cloud/bigquery/storage/v1/arrow.pb.h"
#include "google/cloud/bigquery/storage/v1/avro.pb.h"
#include "google/cloud/bigquery/storage/v1/protobuf.pb.h"
#include "google/cloud/bigquery/storage/v1/stream.pb.h"
#include "google/cloud/bigquery/storage/v1/table.pb.h"
#include "google/protobuf/timestamp.pb.h"
#include "google/protobuf/wrappers.pb.h"
#include "google/rpc/status.pb.h"
// @@protoc_insertion_point(includes)

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

#define PROTOBUF_INTERNAL_EXPORT_google_2fcloud_2fbigquery_2fstorage_2fv1_2fstorage_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_google_2fcloud_2fbigquery_2fstorage_2fv1_2fstorage_2eproto {
  static const ::uint32_t offsets[];
};
extern "C" {
extern const ::google::protobuf::internal::DescriptorTable descriptor_table_google_2fcloud_2fbigquery_2fstorage_2fv1_2fstorage_2eproto;
}  // extern "C"
namespace google {
namespace cloud {
namespace bigquery {
namespace storage {
namespace v1 {
enum AppendRowsRequest_MissingValueInterpretation : int;
extern const uint32_t AppendRowsRequest_MissingValueInterpretation_internal_data_[];
enum RowError_RowErrorCode : int;
extern const uint32_t RowError_RowErrorCode_internal_data_[];
enum StorageError_StorageErrorCode : int;
extern const uint32_t StorageError_StorageErrorCode_internal_data_[];
class AppendRowsRequest;
struct AppendRowsRequestGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern AppendRowsRequestGlobalsTypeInternal AppendRowsRequest_globals_;
extern const ::google::protobuf::internal::ClassDataFull AppendRowsRequest_class_data_;
#else
extern const AppendRowsRequestGlobalsTypeInternal AppendRowsRequest_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class AppendRowsRequest_MissingValueInterpretationsEntry_DoNotUse;
struct AppendRowsRequest_MissingValueInterpretationsEntry_DoNotUseGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern AppendRowsRequest_MissingValueInterpretationsEntry_DoNotUseGlobalsTypeInternal AppendRowsRequest_MissingValueInterpretationsEntry_DoNotUse_globals_;
extern const ::google::protobuf::internal::ClassDataFull AppendRowsRequest_MissingValueInterpretationsEntry_DoNotUse_class_data_;
#else
extern const AppendRowsRequest_MissingValueInterpretationsEntry_DoNotUseGlobalsTypeInternal AppendRowsRequest_MissingValueInterpretationsEntry_DoNotUse_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class AppendRowsRequest_ProtoData;
struct AppendRowsRequest_ProtoDataGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern AppendRowsRequest_ProtoDataGlobalsTypeInternal AppendRowsRequest_ProtoData_globals_;
extern const ::google::protobuf::internal::ClassDataFull AppendRowsRequest_ProtoData_class_data_;
#else
extern const AppendRowsRequest_ProtoDataGlobalsTypeInternal AppendRowsRequest_ProtoData_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class AppendRowsResponse;
struct AppendRowsResponseGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern AppendRowsResponseGlobalsTypeInternal AppendRowsResponse_globals_;
extern const ::google::protobuf::internal::ClassDataFull AppendRowsResponse_class_data_;
#else
extern const AppendRowsResponseGlobalsTypeInternal AppendRowsResponse_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class AppendRowsResponse_AppendResult;
struct AppendRowsResponse_AppendResultGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern AppendRowsResponse_AppendResultGlobalsTypeInternal AppendRowsResponse_AppendResult_globals_;
extern const ::google::protobuf::internal::ClassDataFull AppendRowsResponse_AppendResult_class_data_;
#else
extern const AppendRowsResponse_AppendResultGlobalsTypeInternal AppendRowsResponse_AppendResult_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class BatchCommitWriteStreamsRequest;
struct BatchCommitWriteStreamsRequestGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern BatchCommitWriteStreamsRequestGlobalsTypeInternal BatchCommitWriteStreamsRequest_globals_;
extern const ::google::protobuf::internal::ClassDataFull BatchCommitWriteStreamsRequest_class_data_;
#else
extern const BatchCommitWriteStreamsRequestGlobalsTypeInternal BatchCommitWriteStreamsRequest_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class BatchCommitWriteStreamsResponse;
struct BatchCommitWriteStreamsResponseGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern BatchCommitWriteStreamsResponseGlobalsTypeInternal BatchCommitWriteStreamsResponse_globals_;
extern const ::google::protobuf::internal::ClassDataFull BatchCommitWriteStreamsResponse_class_data_;
#else
extern const BatchCommitWriteStreamsResponseGlobalsTypeInternal BatchCommitWriteStreamsResponse_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class CreateReadSessionRequest;
struct CreateReadSessionRequestGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern CreateReadSessionRequestGlobalsTypeInternal CreateReadSessionRequest_globals_;
extern const ::google::protobuf::internal::ClassDataFull CreateReadSessionRequest_class_data_;
#else
extern const CreateReadSessionRequestGlobalsTypeInternal CreateReadSessionRequest_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class CreateWriteStreamRequest;
struct CreateWriteStreamRequestGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern CreateWriteStreamRequestGlobalsTypeInternal CreateWriteStreamRequest_globals_;
extern const ::google::protobuf::internal::ClassDataFull CreateWriteStreamRequest_class_data_;
#else
extern const CreateWriteStreamRequestGlobalsTypeInternal CreateWriteStreamRequest_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class FinalizeWriteStreamRequest;
struct FinalizeWriteStreamRequestGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern FinalizeWriteStreamRequestGlobalsTypeInternal FinalizeWriteStreamRequest_globals_;
extern const ::google::protobuf::internal::ClassDataFull FinalizeWriteStreamRequest_class_data_;
#else
extern const FinalizeWriteStreamRequestGlobalsTypeInternal FinalizeWriteStreamRequest_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class FinalizeWriteStreamResponse;
struct FinalizeWriteStreamResponseGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern FinalizeWriteStreamResponseGlobalsTypeInternal FinalizeWriteStreamResponse_globals_;
extern const ::google::protobuf::internal::ClassDataFull FinalizeWriteStreamResponse_class_data_;
#else
extern const FinalizeWriteStreamResponseGlobalsTypeInternal FinalizeWriteStreamResponse_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class FlushRowsRequest;
struct FlushRowsRequestGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern FlushRowsRequestGlobalsTypeInternal FlushRowsRequest_globals_;
extern const ::google::protobuf::internal::ClassDataFull FlushRowsRequest_class_data_;
#else
extern const FlushRowsRequestGlobalsTypeInternal FlushRowsRequest_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class FlushRowsResponse;
struct FlushRowsResponseGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern FlushRowsResponseGlobalsTypeInternal FlushRowsResponse_globals_;
extern const ::google::protobuf::internal::ClassDataFull FlushRowsResponse_class_data_;
#else
extern const FlushRowsResponseGlobalsTypeInternal FlushRowsResponse_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class GetWriteStreamRequest;
struct GetWriteStreamRequestGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern GetWriteStreamRequestGlobalsTypeInternal GetWriteStreamRequest_globals_;
extern const ::google::protobuf::internal::ClassDataFull GetWriteStreamRequest_class_data_;
#else
extern const GetWriteStreamRequestGlobalsTypeInternal GetWriteStreamRequest_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class ReadRowsRequest;
struct ReadRowsRequestGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern ReadRowsRequestGlobalsTypeInternal ReadRowsRequest_globals_;
extern const ::google::protobuf::internal::ClassDataFull ReadRowsRequest_class_data_;
#else
extern const ReadRowsRequestGlobalsTypeInternal ReadRowsRequest_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class ReadRowsResponse;
struct ReadRowsResponseGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern ReadRowsResponseGlobalsTypeInternal ReadRowsResponse_globals_;
extern const ::google::protobuf::internal::ClassDataFull ReadRowsResponse_class_data_;
#else
extern const ReadRowsResponseGlobalsTypeInternal ReadRowsResponse_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class RowError;
struct RowErrorGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern RowErrorGlobalsTypeInternal RowError_globals_;
extern const ::google::protobuf::internal::ClassDataFull RowError_class_data_;
#else
extern const RowErrorGlobalsTypeInternal RowError_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class SplitReadStreamRequest;
struct SplitReadStreamRequestGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern SplitReadStreamRequestGlobalsTypeInternal SplitReadStreamRequest_globals_;
extern const ::google::protobuf::internal::ClassDataFull SplitReadStreamRequest_class_data_;
#else
extern const SplitReadStreamRequestGlobalsTypeInternal SplitReadStreamRequest_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class SplitReadStreamResponse;
struct SplitReadStreamResponseGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern SplitReadStreamResponseGlobalsTypeInternal SplitReadStreamResponse_globals_;
extern const ::google::protobuf::internal::ClassDataFull SplitReadStreamResponse_class_data_;
#else
extern const SplitReadStreamResponseGlobalsTypeInternal SplitReadStreamResponse_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class StorageError;
struct StorageErrorGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern StorageErrorGlobalsTypeInternal StorageError_globals_;
extern const ::google::protobuf::internal::ClassDataFull StorageError_class_data_;
#else
extern const StorageErrorGlobalsTypeInternal StorageError_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class StreamStats;
struct StreamStatsGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern StreamStatsGlobalsTypeInternal StreamStats_globals_;
extern const ::google::protobuf::internal::ClassDataFull StreamStats_class_data_;
#else
extern const StreamStatsGlobalsTypeInternal StreamStats_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class StreamStats_Progress;
struct StreamStats_ProgressGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern StreamStats_ProgressGlobalsTypeInternal StreamStats_Progress_globals_;
extern const ::google::protobuf::internal::ClassDataFull StreamStats_Progress_class_data_;
#else
extern const StreamStats_ProgressGlobalsTypeInternal StreamStats_Progress_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class ThrottleState;
struct ThrottleStateGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern ThrottleStateGlobalsTypeInternal ThrottleState_globals_;
extern const ::google::protobuf::internal::ClassDataFull ThrottleState_class_data_;
#else
extern const ThrottleStateGlobalsTypeInternal ThrottleState_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
}  // namespace v1
}  // namespace storage
}  // namespace bigquery
}  // namespace cloud
namespace protobuf {
template <>
internal::EnumTraitsT<::google::cloud::bigquery::storage::v1::AppendRowsRequest_MissingValueInterpretation_internal_data_>
    internal::EnumTraitsImpl::value<::google::cloud::bigquery::storage::v1::AppendRowsRequest_MissingValueInterpretation>;
template <>
internal::EnumTraitsT<::google::cloud::bigquery::storage::v1::RowError_RowErrorCode_internal_data_>
    internal::EnumTraitsImpl::value<::google::cloud::bigquery::storage::v1::RowError_RowErrorCode>;
template <>
internal::EnumTraitsT<::google::cloud::bigquery::storage::v1::StorageError_StorageErrorCode_internal_data_>
    internal::EnumTraitsImpl::value<::google::cloud::bigquery::storage::v1::StorageError_StorageErrorCode>;
}  // namespace protobuf
}  // namespace google

namespace google {
namespace cloud {
namespace bigquery {
namespace storage {
namespace v1 {
enum AppendRowsRequest_MissingValueInterpretation : int {
  AppendRowsRequest_MissingValueInterpretation_MISSING_VALUE_INTERPRETATION_UNSPECIFIED = 0,
  AppendRowsRequest_MissingValueInterpretation_NULL_VALUE = 1,
  AppendRowsRequest_MissingValueInterpretation_DEFAULT_VALUE = 2,
  AppendRowsRequest_MissingValueInterpretation_AppendRowsRequest_MissingValueInterpretation_INT_MIN_SENTINEL_DO_NOT_USE_ =
      ::std::numeric_limits<::int32_t>::min(),
  AppendRowsRequest_MissingValueInterpretation_AppendRowsRequest_MissingValueInterpretation_INT_MAX_SENTINEL_DO_NOT_USE_ =
      ::std::numeric_limits<::int32_t>::max(),
};

extern const uint32_t AppendRowsRequest_MissingValueInterpretation_internal_data_[];
inline constexpr AppendRowsRequest_MissingValueInterpretation AppendRowsRequest_MissingValueInterpretation_MissingValueInterpretation_MIN =
    static_cast<AppendRowsRequest_MissingValueInterpretation>(0);
inline constexpr AppendRowsRequest_MissingValueInterpretation AppendRowsRequest_MissingValueInterpretation_MissingValueInterpretation_MAX =
    static_cast<AppendRowsRequest_MissingValueInterpretation>(2);
[[nodiscard]] inline bool AppendRowsRequest_MissingValueInterpretation_IsValid(int value) {
  return 0 <= value && value <= 2;
}
inline constexpr int AppendRowsRequest_MissingValueInterpretation_MissingValueInterpretation_ARRAYSIZE = 2 + 1;
[[nodiscard]] const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL
AppendRowsRequest_MissingValueInterpretation_descriptor();
[[nodiscard]] inline auto ProtobufInternalGetEnumDescriptor(AppendRowsRequest_MissingValueInterpretation) {
  return AppendRowsRequest_MissingValueInterpretation_descriptor();
}
template <typename T>
[[nodiscard]] const ::std::string& AppendRowsRequest_MissingValueInterpretation_Name(T value) {
  static_assert(::std::is_same<T, AppendRowsRequest_MissingValueInterpretation>::value ||
                    ::std::is_integral<T>::value,
                "Incorrect type passed to MissingValueInterpretation_Name().");
  return AppendRowsRequest_MissingValueInterpretation_Name(static_cast<AppendRowsRequest_MissingValueInterpretation>(value));
}
template <>
[[nodiscard]] inline const ::std::string& AppendRowsRequest_MissingValueInterpretation_Name(AppendRowsRequest_MissingValueInterpretation value) {
  return ::google::protobuf::internal::NameOfDenseEnum<AppendRowsRequest_MissingValueInterpretation_descriptor, 0, 2>(
      static_cast<int>(value));
}
[[nodiscard]] inline bool AppendRowsRequest_MissingValueInterpretation_Parse(
    ::absl::string_view name, AppendRowsRequest_MissingValueInterpretation* PROTOBUF_NONNULL value) {
  return ::google::protobuf::internal::ParseNamedEnum<AppendRowsRequest_MissingValueInterpretation>(AppendRowsRequest_MissingValueInterpretation_descriptor(), name,
                                           value);
}
enum StorageError_StorageErrorCode : int {
  StorageError_StorageErrorCode_STORAGE_ERROR_CODE_UNSPECIFIED = 0,
  StorageError_StorageErrorCode_TABLE_NOT_FOUND = 1,
  StorageError_StorageErrorCode_STREAM_ALREADY_COMMITTED = 2,
  StorageError_StorageErrorCode_STREAM_NOT_FOUND = 3,
  StorageError_StorageErrorCode_INVALID_STREAM_TYPE = 4,
  StorageError_StorageErrorCode_INVALID_STREAM_STATE = 5,
  StorageError_StorageErrorCode_STREAM_FINALIZED = 6,
  StorageError_StorageErrorCode_SCHEMA_MISMATCH_EXTRA_FIELDS = 7,
  StorageError_StorageErrorCode_OFFSET_ALREADY_EXISTS = 8,
  StorageError_StorageErrorCode_OFFSET_OUT_OF_RANGE = 9,
  StorageError_StorageErrorCode_CMEK_NOT_PROVIDED = 10,
  StorageError_StorageErrorCode_INVALID_CMEK_PROVIDED = 11,
  StorageError_StorageErrorCode_CMEK_ENCRYPTION_ERROR = 12,
  StorageError_StorageErrorCode_KMS_SERVICE_ERROR = 13,
  StorageError_StorageErrorCode_KMS_PERMISSION_DENIED = 14,
  StorageError_StorageErrorCode_StorageError_StorageErrorCode_INT_MIN_SENTINEL_DO_NOT_USE_ =
      ::std::numeric_limits<::int32_t>::min(),
  StorageError_StorageErrorCode_StorageError_StorageErrorCode_INT_MAX_SENTINEL_DO_NOT_USE_ =
      ::std::numeric_limits<::int32_t>::max(),
};

extern const uint32_t StorageError_StorageErrorCode_internal_data_[];
inline constexpr StorageError_StorageErrorCode StorageError_StorageErrorCode_StorageErrorCode_MIN =
    static_cast<StorageError_StorageErrorCode>(0);
inline constexpr StorageError_StorageErrorCode StorageError_StorageErrorCode_StorageErrorCode_MAX =
    static_cast<StorageError_StorageErrorCode>(14);
[[nodiscard]] inline bool StorageError_StorageErrorCode_IsValid(int value) {
  return 0 <= value && value <= 14;
}
inline constexpr int StorageError_StorageErrorCode_StorageErrorCode_ARRAYSIZE = 14 + 1;
[[nodiscard]] const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL
StorageError_StorageErrorCode_descriptor();
[[nodiscard]] inline auto ProtobufInternalGetEnumDescriptor(StorageError_StorageErrorCode) {
  return StorageError_StorageErrorCode_descriptor();
}
template <typename T>
[[nodiscard]] const ::std::string& StorageError_StorageErrorCode_Name(T value) {
  static_assert(::std::is_same<T, StorageError_StorageErrorCode>::value ||
                    ::std::is_integral<T>::value,
                "Incorrect type passed to StorageErrorCode_Name().");
  return StorageError_StorageErrorCode_Name(static_cast<StorageError_StorageErrorCode>(value));
}
template <>
[[nodiscard]] inline const ::std::string& StorageError_StorageErrorCode_Name(StorageError_StorageErrorCode value) {
  return ::google::protobuf::internal::NameOfDenseEnum<StorageError_StorageErrorCode_descriptor, 0, 14>(
      static_cast<int>(value));
}
[[nodiscard]] inline bool StorageError_StorageErrorCode_Parse(
    ::absl::string_view name, StorageError_StorageErrorCode* PROTOBUF_NONNULL value) {
  return ::google::protobuf::internal::ParseNamedEnum<StorageError_StorageErrorCode>(StorageError_StorageErrorCode_descriptor(), name,
                                           value);
}
enum RowError_RowErrorCode : int {
  RowError_RowErrorCode_ROW_ERROR_CODE_UNSPECIFIED = 0,
  RowError_RowErrorCode_FIELDS_ERROR = 1,
  RowError_RowErrorCode_RowError_RowErrorCode_INT_MIN_SENTINEL_DO_NOT_USE_ =
      ::std::numeric_limits<::int32_t>::min(),
  RowError_RowErrorCode_RowError_RowErrorCode_INT_MAX_SENTINEL_DO_NOT_USE_ =
      ::std::numeric_limits<::int32_t>::max(),
};

extern const uint32_t RowError_RowErrorCode_internal_data_[];
inline constexpr RowError_RowErrorCode RowError_RowErrorCode_RowErrorCode_MIN =
    static_cast<RowError_RowErrorCode>(0);
inline constexpr RowError_RowErrorCode RowError_RowErrorCode_RowErrorCode_MAX =
    static_cast<RowError_RowErrorCode>(1);
[[nodiscard]] inline bool RowError_RowErrorCode_IsValid(int value) {
  return 0 <= value && value <= 1;
}
inline constexpr int RowError_RowErrorCode_RowErrorCode_ARRAYSIZE = 1 + 1;
[[nodiscard]] const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL
RowError_RowErrorCode_descriptor();
[[nodiscard]] inline auto ProtobufInternalGetEnumDescriptor(RowError_RowErrorCode) {
  return RowError_RowErrorCode_descriptor();
}
template <typename T>
[[nodiscard]] const ::std::string& RowError_RowErrorCode_Name(T value) {
  static_assert(::std::is_same<T, RowError_RowErrorCode>::value ||
                    ::std::is_integral<T>::value,
                "Incorrect type passed to RowErrorCode_Name().");
  return RowError_RowErrorCode_Name(static_cast<RowError_RowErrorCode>(value));
}
template <>
[[nodiscard]] inline const ::std::string& RowError_RowErrorCode_Name(RowError_RowErrorCode value) {
  return ::google::protobuf::internal::NameOfDenseEnum<RowError_RowErrorCode_descriptor, 0, 1>(
      static_cast<int>(value));
}
[[nodiscard]] inline bool RowError_RowErrorCode_Parse(
    ::absl::string_view name, RowError_RowErrorCode* PROTOBUF_NONNULL value) {
  return ::google::protobuf::internal::ParseNamedEnum<RowError_RowErrorCode>(RowError_RowErrorCode_descriptor(), name,
                                           value);
}
using ::google::protobuf::internal::generated_enum::AbslParseFlag;
using ::google::protobuf::internal::generated_enum::AbslUnparseFlag;

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


// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED ThrottleState final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:google.cloud.bigquery.storage.v1.ThrottleState) */ {
 public:
  inline ThrottleState() : ThrottleState(nullptr) {}
  ~ThrottleState() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(ThrottleState* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(ThrottleState));
  }
#endif

  template <typename = void>
  explicit constexpr ThrottleState(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline ThrottleState(const ThrottleState& from) : ThrottleState(nullptr, from) {}
  inline ThrottleState(ThrottleState&& from) noexcept : ThrottleState(nullptr, ::std::move(from)) {}
  inline ThrottleState& operator=(const ThrottleState& from) {
    CopyFrom(from);
    return *this;
  }
  inline ThrottleState& operator=(ThrottleState&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const ThrottleState& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<ThrottleState>(&ThrottleState_globals_);
  }
  static constexpr int kIndexInFileMessages = 2;
  friend void swap(ThrottleState& a, ThrottleState& b) { a.Swap(&b); }
  inline void Swap(ThrottleState* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(ThrottleState* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] ThrottleState* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<ThrottleState>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const ThrottleState& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const ThrottleState& from) { ThrottleState::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(ThrottleState* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "google.cloud.bigquery.storage.v1.ThrottleState"; }

  explicit ThrottleState(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  ThrottleState(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const ThrottleState& from);
  ThrottleState(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, ThrottleState&& from) noexcept
      : ThrottleState(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kThrottlePercentFieldNumber = 1,
  };
  // int32 throttle_percent = 1;
  void clear_throttle_percent() ;
  [[nodiscard]] ::int32_t throttle_percent() const;
  void set_throttle_percent(::int32_t value);

  private:
  ::int32_t _internal_throttle_percent() const;
  void _internal_set_throttle_percent(::int32_t value);

  public:
  // @@protoc_insertion_point(class_scope:google.cloud.bigquery.storage.v1.ThrottleState)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 1,
                          0, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const ThrottleState& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::int32_t throttle_percent_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_google_2fcloud_2fbigquery_2fstorage_2fv1_2fstorage_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED StreamStats_Progress final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:google.cloud.bigquery.storage.v1.StreamStats.Progress) */ {
 public:
  inline StreamStats_Progress() : StreamStats_Progress(nullptr) {}
  ~StreamStats_Progress() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(StreamStats_Progress* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(StreamStats_Progress));
  }
#endif

  template <typename = void>
  explicit constexpr StreamStats_Progress(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline StreamStats_Progress(const StreamStats_Progress& from) : StreamStats_Progress(nullptr, from) {}
  inline StreamStats_Progress(StreamStats_Progress&& from) noexcept : StreamStats_Progress(nullptr, ::std::move(from)) {}
  inline StreamStats_Progress& operator=(const StreamStats_Progress& from) {
    CopyFrom(from);
    return *this;
  }
  inline StreamStats_Progress& operator=(StreamStats_Progress&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const StreamStats_Progress& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<StreamStats_Progress>(&StreamStats_Progress_globals_);
  }
  static constexpr int kIndexInFileMessages = 3;
  friend void swap(StreamStats_Progress& a, StreamStats_Progress& b) { a.Swap(&b); }
  inline void Swap(StreamStats_Progress* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(StreamStats_Progress* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] StreamStats_Progress* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<StreamStats_Progress>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const StreamStats_Progress& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const StreamStats_Progress& from) { StreamStats_Progress::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(StreamStats_Progress* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "google.cloud.bigquery.storage.v1.StreamStats.Progress"; }

  explicit StreamStats_Progress(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  StreamStats_Progress(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const StreamStats_Progress& from);
  StreamStats_Progress(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, StreamStats_Progress&& from) noexcept
      : StreamStats_Progress(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kAtResponseStartFieldNumber = 1,
    kAtResponseEndFieldNumber = 2,
  };
  // double at_response_start = 1;
  void clear_at_response_start() ;
  [[nodiscard]] double at_response_start() const;
  void set_at_response_start(double value);

  private:
  double _internal_at_response_start() const;
  void _internal_set_at_response_start(double value);

  public:
  // double at_response_end = 2;
  void clear_at_response_end() ;
  [[nodiscard]] double at_response_end() const;
  void set_at_response_end(double value);

  private:
  double _internal_at_response_end() const;
  void _internal_set_at_response_end(double value);

  public:
  // @@protoc_insertion_point(class_scope:google.cloud.bigquery.storage.v1.StreamStats.Progress)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<1, 2,
                          0, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const StreamStats_Progress& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    double at_response_start_;
    double at_response_end_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_google_2fcloud_2fbigquery_2fstorage_2fv1_2fstorage_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED StorageError final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:google.cloud.bigquery.storage.v1.StorageError) */ {
 public:
  inline StorageError() : StorageError(nullptr) {}
  ~StorageError() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(StorageError* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(StorageError));
  }
#endif

  template <typename = void>
  explicit constexpr StorageError(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline StorageError(const StorageError& from) : StorageError(nullptr, from) {}
  inline StorageError(StorageError&& from) noexcept : StorageError(nullptr, ::std::move(from)) {}
  inline StorageError& operator=(const StorageError& from) {
    CopyFrom(from);
    return *this;
  }
  inline StorageError& operator=(StorageError&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const StorageError& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<StorageError>(&StorageError_globals_);
  }
  static constexpr int kIndexInFileMessages = 21;
  friend void swap(StorageError& a, StorageError& b) { a.Swap(&b); }
  inline void Swap(StorageError* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(StorageError* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] StorageError* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<StorageError>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const StorageError& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const StorageError& from) { StorageError::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(StorageError* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "google.cloud.bigquery.storage.v1.StorageError"; }

  explicit StorageError(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  StorageError(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const StorageError& from);
  StorageError(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, StorageError&& from) noexcept
      : StorageError(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------
  using StorageErrorCode = StorageError_StorageErrorCode;
  static constexpr StorageErrorCode STORAGE_ERROR_CODE_UNSPECIFIED = StorageError_StorageErrorCode_STORAGE_ERROR_CODE_UNSPECIFIED;
  static constexpr StorageErrorCode TABLE_NOT_FOUND = StorageError_StorageErrorCode_TABLE_NOT_FOUND;
  static constexpr StorageErrorCode STREAM_ALREADY_COMMITTED = StorageError_StorageErrorCode_STREAM_ALREADY_COMMITTED;
  static constexpr StorageErrorCode STREAM_NOT_FOUND = StorageError_StorageErrorCode_STREAM_NOT_FOUND;
  static constexpr StorageErrorCode INVALID_STREAM_TYPE = StorageError_StorageErrorCode_INVALID_STREAM_TYPE;
  static constexpr StorageErrorCode INVALID_STREAM_STATE = StorageError_StorageErrorCode_INVALID_STREAM_STATE;
  static constexpr StorageErrorCode STREAM_FINALIZED = StorageError_StorageErrorCode_STREAM_FINALIZED;
  static constexpr StorageErrorCode SCHEMA_MISMATCH_EXTRA_FIELDS = StorageError_StorageErrorCode_SCHEMA_MISMATCH_EXTRA_FIELDS;
  static constexpr StorageErrorCode OFFSET_ALREADY_EXISTS = StorageError_StorageErrorCode_OFFSET_ALREADY_EXISTS;
  static constexpr StorageErrorCode OFFSET_OUT_OF_RANGE = StorageError_StorageErrorCode_OFFSET_OUT_OF_RANGE;
  static constexpr StorageErrorCode CMEK_NOT_PROVIDED = StorageError_StorageErrorCode_CMEK_NOT_PROVIDED;
  static constexpr StorageErrorCode INVALID_CMEK_PROVIDED = StorageError_StorageErrorCode_INVALID_CMEK_PROVIDED;
  static constexpr StorageErrorCode CMEK_ENCRYPTION_ERROR = StorageError_StorageErrorCode_CMEK_ENCRYPTION_ERROR;
  static constexpr StorageErrorCode KMS_SERVICE_ERROR = StorageError_StorageErrorCode_KMS_SERVICE_ERROR;
  static constexpr StorageErrorCode KMS_PERMISSION_DENIED = StorageError_StorageErrorCode_KMS_PERMISSION_DENIED;
  [[nodiscard]] static inline bool StorageErrorCode_IsValid(int value) {
    return StorageError_StorageErrorCode_IsValid(value);
  }
  static constexpr StorageErrorCode StorageErrorCode_MIN = StorageError_StorageErrorCode_StorageErrorCode_MIN;
  static constexpr StorageErrorCode StorageErrorCode_MAX = StorageError_StorageErrorCode_StorageErrorCode_MAX;
  static constexpr int StorageErrorCode_ARRAYSIZE = StorageError_StorageErrorCode_StorageErrorCode_ARRAYSIZE;
  static inline const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL StorageErrorCode_descriptor() {
    return StorageError_StorageErrorCode_descriptor();
  }
  template <typename T>
  [[nodiscard]] static inline const ::std::string& StorageErrorCode_Name(T value) {
    return StorageError_StorageErrorCode_Name(value);
  }
  [[nodiscard]] static inline bool StorageErrorCode_Parse(
      ::absl::string_view name, StorageErrorCode* PROTOBUF_NONNULL value) {
    return StorageError_StorageErrorCode_Parse(name, value);
  }

  // accessors -------------------------------------------------------
  enum : int {
    kEntityFieldNumber = 2,
    kErrorMessageFieldNumber = 3,
    kCodeFieldNumber = 1,
  };
  // string entity = 2;
  void clear_entity() ;
  [[nodiscard]] const ::std::string& entity() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_entity(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_entity();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_entity();
  void set_allocated_entity(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_entity() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_entity(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_entity();

  public:
  // string error_message = 3;
  void clear_error_message() ;
  [[nodiscard]] const ::std::string& error_message() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_error_message(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_error_message();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_error_message();
  void set_allocated_error_message(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_error_message() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_error_message(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_error_message();

  public:
  // .google.cloud.bigquery.storage.v1.StorageError.StorageErrorCode code = 1;
  void clear_code() ;
  [[nodiscard]] ::google::cloud::bigquery::storage::v1::StorageError_StorageErrorCode code() const;
  void set_code(::google::cloud::bigquery::storage::v1::StorageError_StorageErrorCode value);

  private:
  ::google::cloud::bigquery::storage::v1::StorageError_StorageErrorCode _internal_code() const;
  void _internal_set_code(::google::cloud::bigquery::storage::v1::StorageError_StorageErrorCode value);

  public:
  // @@protoc_insertion_point(class_scope:google.cloud.bigquery.storage.v1.StorageError)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<2, 3,
                          0, 73,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const StorageError& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr entity_;
    ::google::protobuf::internal::ArenaStringPtr error_message_;
    int code_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_google_2fcloud_2fbigquery_2fstorage_2fv1_2fstorage_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED SplitReadStreamRequest final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:google.cloud.bigquery.storage.v1.SplitReadStreamRequest) */ {
 public:
  inline SplitReadStreamRequest() : SplitReadStreamRequest(nullptr) {}
  ~SplitReadStreamRequest() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(SplitReadStreamRequest* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(SplitReadStreamRequest));
  }
#endif

  template <typename = void>
  explicit constexpr SplitReadStreamRequest(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline SplitReadStreamRequest(const SplitReadStreamRequest& from) : SplitReadStreamRequest(nullptr, from) {}
  inline SplitReadStreamRequest(SplitReadStreamRequest&& from) noexcept : SplitReadStreamRequest(nullptr, ::std::move(from)) {}
  inline SplitReadStreamRequest& operator=(const SplitReadStreamRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline SplitReadStreamRequest& operator=(SplitReadStreamRequest&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const SplitReadStreamRequest& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<SplitReadStreamRequest>(&SplitReadStreamRequest_globals_);
  }
  static constexpr int kIndexInFileMessages = 6;
  friend void swap(SplitReadStreamRequest& a, SplitReadStreamRequest& b) { a.Swap(&b); }
  inline void Swap(SplitReadStreamRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(SplitReadStreamRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] SplitReadStreamRequest* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<SplitReadStreamRequest>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const SplitReadStreamRequest& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const SplitReadStreamRequest& from) { SplitReadStreamRequest::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(SplitReadStreamRequest* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "google.cloud.bigquery.storage.v1.SplitReadStreamRequest"; }

  explicit SplitReadStreamRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  SplitReadStreamRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const SplitReadStreamRequest& from);
  SplitReadStreamRequest(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, SplitReadStreamRequest&& from) noexcept
      : SplitReadStreamRequest(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kNameFieldNumber = 1,
    kFractionFieldNumber = 2,
  };
  // string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
  void clear_name() ;
  [[nodiscard]] const ::std::string& name() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_name(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_name();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_name();
  void set_allocated_name(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_name() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_name(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_name();

  public:
  // double fraction = 2;
  void clear_fraction() ;
  [[nodiscard]] double fraction() const;
  void set_fraction(double value);

  private:
  double _internal_fraction() const;
  void _internal_set_fraction(double value);

  public:
  // @@protoc_insertion_point(class_scope:google.cloud.bigquery.storage.v1.SplitReadStreamRequest)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<1, 2,
                          0, 68,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const SplitReadStreamRequest& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr name_;
    double fraction_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_google_2fcloud_2fbigquery_2fstorage_2fv1_2fstorage_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED RowError final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:google.cloud.bigquery.storage.v1.RowError) */ {
 public:
  inline RowError() : RowError(nullptr) {}
  ~RowError() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(RowError* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(RowError));
  }
#endif

  template <typename = void>
  explicit constexpr RowError(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline RowError(const RowError& from) : RowError(nullptr, from) {}
  inline RowError(RowError&& from) noexcept : RowError(nullptr, ::std::move(from)) {}
  inline RowError& operator=(const RowError& from) {
    CopyFrom(from);
    return *this;
  }
  inline RowError& operator=(RowError&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const RowError& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<RowError>(&RowError_globals_);
  }
  static constexpr int kIndexInFileMessages = 22;
  friend void swap(RowError& a, RowError& b) { a.Swap(&b); }
  inline void Swap(RowError* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(RowError* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] RowError* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<RowError>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const RowError& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const RowError& from) { RowError::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(RowError* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "google.cloud.bigquery.storage.v1.RowError"; }

  explicit RowError(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  RowError(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const RowError& from);
  RowError(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, RowError&& from) noexcept
      : RowError(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------
  using RowErrorCode = RowError_RowErrorCode;
  static constexpr RowErrorCode ROW_ERROR_CODE_UNSPECIFIED = RowError_RowErrorCode_ROW_ERROR_CODE_UNSPECIFIED;
  static constexpr RowErrorCode FIELDS_ERROR = RowError_RowErrorCode_FIELDS_ERROR;
  [[nodiscard]] static inline bool RowErrorCode_IsValid(int value) {
    return RowError_RowErrorCode_IsValid(value);
  }
  static constexpr RowErrorCode RowErrorCode_MIN = RowError_RowErrorCode_RowErrorCode_MIN;
  static constexpr RowErrorCode RowErrorCode_MAX = RowError_RowErrorCode_RowErrorCode_MAX;
  static constexpr int RowErrorCode_ARRAYSIZE = RowError_RowErrorCode_RowErrorCode_ARRAYSIZE;
  static inline const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL RowErrorCode_descriptor() {
    return RowError_RowErrorCode_descriptor();
  }
  template <typename T>
  [[nodiscard]] static inline const ::std::string& RowErrorCode_Name(T value) {
    return RowError_RowErrorCode_Name(value);
  }
  [[nodiscard]] static inline bool RowErrorCode_Parse(
      ::absl::string_view name, RowErrorCode* PROTOBUF_NONNULL value) {
    return RowError_RowErrorCode_Parse(name, value);
  }

  // accessors -------------------------------------------------------
  enum : int {
    kMessageFieldNumber = 3,
    kIndexFieldNumber = 1,
    kCodeFieldNumber = 2,
  };
  // string message = 3;
  void clear_message() ;
  [[nodiscard]] const ::std::string& message() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_message(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_message();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_message();
  void set_allocated_message(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_message() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_message(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_message();

  public:
  // int64 index = 1;
  void clear_index() ;
  [[nodiscard]] ::int64_t index() const;
  void set_index(::int64_t value);

  private:
  ::int64_t _internal_index() const;
  void _internal_set_index(::int64_t value);

  public:
  // .google.cloud.bigquery.storage.v1.RowError.RowErrorCode code = 2;
  void clear_code() ;
  [[nodiscard]] ::google::cloud::bigquery::storage::v1::RowError_RowErrorCode code() const;
  void set_code(::google::cloud::bigquery::storage::v1::RowError_RowErrorCode value);

  private:
  ::google::cloud::bigquery::storage::v1::RowError_RowErrorCode _internal_code() const;
  void _internal_set_code(::google::cloud::bigquery::storage::v1::RowError_RowErrorCode value);

  public:
  // @@protoc_insertion_point(class_scope:google.cloud.bigquery.storage.v1.RowError)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<2, 3,
                          0, 57,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const RowError& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr message_;
    ::int64_t index_;
    int code_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_google_2fcloud_2fbigquery_2fstorage_2fv1_2fstorage_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED ReadRowsRequest final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:google.cloud.bigquery.storage.v1.ReadRowsRequest) */ {
 public:
  inline ReadRowsRequest() : ReadRowsRequest(nullptr) {}
  ~ReadRowsRequest() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(ReadRowsRequest* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(ReadRowsRequest));
  }
#endif

  template <typename = void>
  explicit constexpr ReadRowsRequest(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline ReadRowsRequest(const ReadRowsRequest& from) : ReadRowsRequest(nullptr, from) {}
  inline ReadRowsRequest(ReadRowsRequest&& from) noexcept : ReadRowsRequest(nullptr, ::std::move(from)) {}
  inline ReadRowsRequest& operator=(const ReadRowsRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline ReadRowsRequest& operator=(ReadRowsRequest&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const ReadRowsRequest& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<ReadRowsRequest>(&ReadRowsRequest_globals_);
  }
  static constexpr int kIndexInFileMessages = 1;
  friend void swap(ReadRowsRequest& a, ReadRowsRequest& b) { a.Swap(&b); }
  inline void Swap(ReadRowsRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(ReadRowsRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] ReadRowsRequest* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<ReadRowsRequest>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const ReadRowsRequest& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const ReadRowsRequest& from) { ReadRowsRequest::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(ReadRowsRequest* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "google.cloud.bigquery.storage.v1.ReadRowsRequest"; }

  explicit ReadRowsRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  ReadRowsRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const ReadRowsRequest& from);
  ReadRowsRequest(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, ReadRowsRequest&& from) noexcept
      : ReadRowsRequest(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kReadStreamFieldNumber = 1,
    kOffsetFieldNumber = 2,
  };
  // string read_stream = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
  void clear_read_stream() ;
  [[nodiscard]] const ::std::string& read_stream() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_read_stream(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_read_stream();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_read_stream();
  void set_allocated_read_stream(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_read_stream() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_read_stream(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_read_stream();

  public:
  // int64 offset = 2;
  void clear_offset() ;
  [[nodiscard]] ::int64_t offset() const;
  void set_offset(::int64_t value);

  private:
  ::int64_t _internal_offset() const;
  void _internal_set_offset(::int64_t value);

  public:
  // @@protoc_insertion_point(class_scope:google.cloud.bigquery.storage.v1.ReadRowsRequest)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<1, 2,
                          0, 68,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const ReadRowsRequest& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr read_stream_;
    ::int64_t offset_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_google_2fcloud_2fbigquery_2fstorage_2fv1_2fstorage_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED GetWriteStreamRequest final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:google.cloud.bigquery.storage.v1.GetWriteStreamRequest) */ {
 public:
  inline GetWriteStreamRequest() : GetWriteStreamRequest(nullptr) {}
  ~GetWriteStreamRequest() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(GetWriteStreamRequest* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(GetWriteStreamRequest));
  }
#endif

  template <typename = void>
  explicit constexpr GetWriteStreamRequest(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline GetWriteStreamRequest(const GetWriteStreamRequest& from) : GetWriteStreamRequest(nullptr, from) {}
  inline GetWriteStreamRequest(GetWriteStreamRequest&& from) noexcept : GetWriteStreamRequest(nullptr, ::std::move(from)) {}
  inline GetWriteStreamRequest& operator=(const GetWriteStreamRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline GetWriteStreamRequest& operator=(GetWriteStreamRequest&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const GetWriteStreamRequest& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<GetWriteStreamRequest>(&GetWriteStreamRequest_globals_);
  }
  static constexpr int kIndexInFileMessages = 14;
  friend void swap(GetWriteStreamRequest& a, GetWriteStreamRequest& b) { a.Swap(&b); }
  inline void Swap(GetWriteStreamRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(GetWriteStreamRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] GetWriteStreamRequest* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<GetWriteStreamRequest>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const GetWriteStreamRequest& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const GetWriteStreamRequest& from) { GetWriteStreamRequest::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(GetWriteStreamRequest* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "google.cloud.bigquery.storage.v1.GetWriteStreamRequest"; }

  explicit GetWriteStreamRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  GetWriteStreamRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const GetWriteStreamRequest& from);
  GetWriteStreamRequest(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, GetWriteStreamRequest&& from) noexcept
      : GetWriteStreamRequest(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kNameFieldNumber = 1,
    kViewFieldNumber = 3,
  };
  // string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
  void clear_name() ;
  [[nodiscard]] const ::std::string& name() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_name(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_name();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_name();
  void set_allocated_name(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_name() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_name(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_name();

  public:
  // .google.cloud.bigquery.storage.v1.WriteStreamView view = 3;
  void clear_view() ;
  [[nodiscard]] ::google::cloud::bigquery::storage::v1::WriteStreamView view() const;
  void set_view(::google::cloud::bigquery::storage::v1::WriteStreamView value);

  private:
  ::google::cloud::bigquery::storage::v1::WriteStreamView _internal_view() const;
  void _internal_set_view(::google::cloud::bigquery::storage::v1::WriteStreamView value);

  public:
  // @@protoc_insertion_point(class_scope:google.cloud.bigquery.storage.v1.GetWriteStreamRequest)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<2, 2,
                          0, 67,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const GetWriteStreamRequest& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr name_;
    int view_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_google_2fcloud_2fbigquery_2fstorage_2fv1_2fstorage_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED FlushRowsResponse final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:google.cloud.bigquery.storage.v1.FlushRowsResponse) */ {
 public:
  inline FlushRowsResponse() : FlushRowsResponse(nullptr) {}
  ~FlushRowsResponse() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(FlushRowsResponse* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(FlushRowsResponse));
  }
#endif

  template <typename = void>
  explicit constexpr FlushRowsResponse(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline FlushRowsResponse(const FlushRowsResponse& from) : FlushRowsResponse(nullptr, from) {}
  inline FlushRowsResponse(FlushRowsResponse&& from) noexcept : FlushRowsResponse(nullptr, ::std::move(from)) {}
  inline FlushRowsResponse& operator=(const FlushRowsResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline FlushRowsResponse& operator=(FlushRowsResponse&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const FlushRowsResponse& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<FlushRowsResponse>(&FlushRowsResponse_globals_);
  }
  static constexpr int kIndexInFileMessages = 20;
  friend void swap(FlushRowsResponse& a, FlushRowsResponse& b) { a.Swap(&b); }
  inline void Swap(FlushRowsResponse* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(FlushRowsResponse* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] FlushRowsResponse* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<FlushRowsResponse>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const FlushRowsResponse& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const FlushRowsResponse& from) { FlushRowsResponse::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(FlushRowsResponse* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "google.cloud.bigquery.storage.v1.FlushRowsResponse"; }

  explicit FlushRowsResponse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  FlushRowsResponse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const FlushRowsResponse& from);
  FlushRowsResponse(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, FlushRowsResponse&& from) noexcept
      : FlushRowsResponse(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kOffsetFieldNumber = 1,
  };
  // int64 offset = 1;
  void clear_offset() ;
  [[nodiscard]] ::int64_t offset() const;
  void set_offset(::int64_t value);

  private:
  ::int64_t _internal_offset() const;
  void _internal_set_offset(::int64_t value);

  public:
  // @@protoc_insertion_point(class_scope:google.cloud.bigquery.storage.v1.FlushRowsResponse)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 1,
                          0, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const FlushRowsResponse& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::int64_t offset_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_google_2fcloud_2fbigquery_2fstorage_2fv1_2fstorage_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED FinalizeWriteStreamResponse final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:google.cloud.bigquery.storage.v1.FinalizeWriteStreamResponse) */ {
 public:
  inline FinalizeWriteStreamResponse() : FinalizeWriteStreamResponse(nullptr) {}
  ~FinalizeWriteStreamResponse() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(FinalizeWriteStreamResponse* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(FinalizeWriteStreamResponse));
  }
#endif

  template <typename = void>
  explicit constexpr FinalizeWriteStreamResponse(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline FinalizeWriteStreamResponse(const FinalizeWriteStreamResponse& from) : FinalizeWriteStreamResponse(nullptr, from) {}
  inline FinalizeWriteStreamResponse(FinalizeWriteStreamResponse&& from) noexcept : FinalizeWriteStreamResponse(nullptr, ::std::move(from)) {}
  inline FinalizeWriteStreamResponse& operator=(const FinalizeWriteStreamResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline FinalizeWriteStreamResponse& operator=(FinalizeWriteStreamResponse&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const FinalizeWriteStreamResponse& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<FinalizeWriteStreamResponse>(&FinalizeWriteStreamResponse_globals_);
  }
  static constexpr int kIndexInFileMessages = 18;
  friend void swap(FinalizeWriteStreamResponse& a, FinalizeWriteStreamResponse& b) { a.Swap(&b); }
  inline void Swap(FinalizeWriteStreamResponse* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(FinalizeWriteStreamResponse* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] FinalizeWriteStreamResponse* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<FinalizeWriteStreamResponse>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const FinalizeWriteStreamResponse& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const FinalizeWriteStreamResponse& from) { FinalizeWriteStreamResponse::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(FinalizeWriteStreamResponse* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "google.cloud.bigquery.storage.v1.FinalizeWriteStreamResponse"; }

  explicit FinalizeWriteStreamResponse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  FinalizeWriteStreamResponse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const FinalizeWriteStreamResponse& from);
  FinalizeWriteStreamResponse(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, FinalizeWriteStreamResponse&& from) noexcept
      : FinalizeWriteStreamResponse(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kRowCountFieldNumber = 1,
  };
  // int64 row_count = 1;
  void clear_row_count() ;
  [[nodiscard]] ::int64_t row_count() const;
  void set_row_count(::int64_t value);

  private:
  ::int64_t _internal_row_count() const;
  void _internal_set_row_count(::int64_t value);

  public:
  // @@protoc_insertion_point(class_scope:google.cloud.bigquery.storage.v1.FinalizeWriteStreamResponse)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 1,
                          0, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const FinalizeWriteStreamResponse& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::int64_t row_count_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_google_2fcloud_2fbigquery_2fstorage_2fv1_2fstorage_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED FinalizeWriteStreamRequest final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:google.cloud.bigquery.storage.v1.FinalizeWriteStreamRequest) */ {
 public:
  inline FinalizeWriteStreamRequest() : FinalizeWriteStreamRequest(nullptr) {}
  ~FinalizeWriteStreamRequest() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(FinalizeWriteStreamRequest* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(FinalizeWriteStreamRequest));
  }
#endif

  template <typename = void>
  explicit constexpr FinalizeWriteStreamRequest(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline FinalizeWriteStreamRequest(const FinalizeWriteStreamRequest& from) : FinalizeWriteStreamRequest(nullptr, from) {}
  inline FinalizeWriteStreamRequest(FinalizeWriteStreamRequest&& from) noexcept : FinalizeWriteStreamRequest(nullptr, ::std::move(from)) {}
  inline FinalizeWriteStreamRequest& operator=(const FinalizeWriteStreamRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline FinalizeWriteStreamRequest& operator=(FinalizeWriteStreamRequest&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const FinalizeWriteStreamRequest& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<FinalizeWriteStreamRequest>(&FinalizeWriteStreamRequest_globals_);
  }
  static constexpr int kIndexInFileMessages = 17;
  friend void swap(FinalizeWriteStreamRequest& a, FinalizeWriteStreamRequest& b) { a.Swap(&b); }
  inline void Swap(FinalizeWriteStreamRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(FinalizeWriteStreamRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] FinalizeWriteStreamRequest* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<FinalizeWriteStreamRequest>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const FinalizeWriteStreamRequest& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const FinalizeWriteStreamRequest& from) { FinalizeWriteStreamRequest::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(FinalizeWriteStreamRequest* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "google.cloud.bigquery.storage.v1.FinalizeWriteStreamRequest"; }

  explicit FinalizeWriteStreamRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  FinalizeWriteStreamRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const FinalizeWriteStreamRequest& from);
  FinalizeWriteStreamRequest(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, FinalizeWriteStreamRequest&& from) noexcept
      : FinalizeWriteStreamRequest(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kNameFieldNumber = 1,
  };
  // string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
  void clear_name() ;
  [[nodiscard]] const ::std::string& name() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_name(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_name();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_name();
  void set_allocated_name(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_name() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_name(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_name();

  public:
  // @@protoc_insertion_point(class_scope:google.cloud.bigquery.storage.v1.FinalizeWriteStreamRequest)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 1,
                          0, 72,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const FinalizeWriteStreamRequest& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr name_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_google_2fcloud_2fbigquery_2fstorage_2fv1_2fstorage_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED BatchCommitWriteStreamsRequest final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:google.cloud.bigquery.storage.v1.BatchCommitWriteStreamsRequest) */ {
 public:
  inline BatchCommitWriteStreamsRequest() : BatchCommitWriteStreamsRequest(nullptr) {}
  ~BatchCommitWriteStreamsRequest() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(BatchCommitWriteStreamsRequest* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(BatchCommitWriteStreamsRequest));
  }
#endif

  template <typename = void>
  explicit constexpr BatchCommitWriteStreamsRequest(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline BatchCommitWriteStreamsRequest(const BatchCommitWriteStreamsRequest& from) : BatchCommitWriteStreamsRequest(nullptr, from) {}
  inline BatchCommitWriteStreamsRequest(BatchCommitWriteStreamsRequest&& from) noexcept : BatchCommitWriteStreamsRequest(nullptr, ::std::move(from)) {}
  inline BatchCommitWriteStreamsRequest& operator=(const BatchCommitWriteStreamsRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline BatchCommitWriteStreamsRequest& operator=(BatchCommitWriteStreamsRequest&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const BatchCommitWriteStreamsRequest& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<BatchCommitWriteStreamsRequest>(&BatchCommitWriteStreamsRequest_globals_);
  }
  static constexpr int kIndexInFileMessages = 15;
  friend void swap(BatchCommitWriteStreamsRequest& a, BatchCommitWriteStreamsRequest& b) { a.Swap(&b); }
  inline void Swap(BatchCommitWriteStreamsRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(BatchCommitWriteStreamsRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] BatchCommitWriteStreamsRequest* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<BatchCommitWriteStreamsRequest>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const BatchCommitWriteStreamsRequest& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const BatchCommitWriteStreamsRequest& from) { BatchCommitWriteStreamsRequest::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(BatchCommitWriteStreamsRequest* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "google.cloud.bigquery.storage.v1.BatchCommitWriteStreamsRequest"; }

  explicit BatchCommitWriteStreamsRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  BatchCommitWriteStreamsRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const BatchCommitWriteStreamsRequest& from);
  BatchCommitWriteStreamsRequest(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, BatchCommitWriteStreamsRequest&& from) noexcept
      : BatchCommitWriteStreamsRequest(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kWriteStreamsFieldNumber = 2,
    kParentFieldNumber = 1,
  };
  // repeated string write_streams = 2 [(.google.api.field_behavior) = REQUIRED];
  [[nodiscard]] int write_streams_size()
      const;
  private:
  int _internal_write_streams_size() const;

  public:
  void clear_write_streams() ;
  [[nodiscard]] const ::std::string& write_streams(int index) const;
  ::std::string* PROTOBUF_NONNULL mutable_write_streams(int index);
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_write_streams(int index, Arg_&& value, Args_... args);
  ::std::string* PROTOBUF_NONNULL add_write_streams();
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void add_write_streams(Arg_&& value, Args_... args);
  [[nodiscard]] const
      ::google::protobuf::RepeatedPtrField<::std::string>&
      write_streams() const;
  [[nodiscard]] ::google::protobuf::RepeatedPtrField<::std::string>*
      PROTOBUF_NONNULL
      mutable_write_streams();

  private:
  const ::google::protobuf::RepeatedPtrField<::std::string>& _internal_write_streams() const;
  ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL _internal_mutable_write_streams();

  public:
  // string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
  void clear_parent() ;
  [[nodiscard]] const ::std::string& parent() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_parent(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_parent();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_parent();
  void set_allocated_parent(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_parent() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_parent(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_parent();

  public:
  // @@protoc_insertion_point(class_scope:google.cloud.bigquery.storage.v1.BatchCommitWriteStreamsRequest)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<1, 2,
                          0, 91,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const BatchCommitWriteStreamsRequest& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedPtrField<::std::string> write_streams_;
    ::google::protobuf::internal::ArenaStringPtr parent_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_google_2fcloud_2fbigquery_2fstorage_2fv1_2fstorage_2eproto;
};
// -------------------------------------------------------------------

class PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED AppendRowsRequest_MissingValueInterpretationsEntry_DoNotUse final
    : public ::google::protobuf::internal::MapEntry<::std::string, ::google::cloud::bigquery::storage::v1::AppendRowsRequest_MissingValueInterpretation,
                             ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
                             ::google::protobuf::internal::WireFormatLite::TYPE_ENUM> {
 public:
  using SuperType =
      ::google::protobuf::internal::MapEntry<::std::string, ::google::cloud::bigquery::storage::v1::AppendRowsRequest_MissingValueInterpretation,
                      ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
                      ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>;
  AppendRowsRequest_MissingValueInterpretationsEntry_DoNotUse();
  template <typename = void>
  explicit constexpr AppendRowsRequest_MissingValueInterpretationsEntry_DoNotUse(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);
  explicit AppendRowsRequest_MissingValueInterpretationsEntry_DoNotUse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr const void* PROTOBUF_NONNULL internal_message_globals() {
    return &AppendRowsRequest_MissingValueInterpretationsEntry_DoNotUse_globals_;
  }


  static constexpr auto InternalGenerateClassData_(
      const ::google::protobuf::MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

 private:
  friend class ::google::protobuf::MessageLite;
  friend struct ::TableStruct_google_2fcloud_2fbigquery_2fstorage_2fv1_2fstorage_2eproto;
  friend ::google::protobuf::internal::PrivateAccess;
  friend AppendRowsRequest_MissingValueInterpretationsEntry_DoNotUseGlobalsTypeInternal;

  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<1, 2,
                          0, 95,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED StreamStats final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:google.cloud.bigquery.storage.v1.StreamStats) */ {
 public:
  inline StreamStats() : StreamStats(nullptr) {}
  ~StreamStats() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(StreamStats* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(StreamStats));
  }
#endif

  template <typename = void>
  explicit constexpr StreamStats(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline StreamStats(const StreamStats& from) : StreamStats(nullptr, from) {}
  inline StreamStats(StreamStats&& from) noexcept : StreamStats(nullptr, ::std::move(from)) {}
  inline StreamStats& operator=(const StreamStats& from) {
    CopyFrom(from);
    return *this;
  }
  inline StreamStats& operator=(StreamStats&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const StreamStats& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<StreamStats>(&StreamStats_globals_);
  }
  static constexpr int kIndexInFileMessages = 4;
  friend void swap(StreamStats& a, StreamStats& b) { a.Swap(&b); }
  inline void Swap(StreamStats* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(StreamStats* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] StreamStats* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<StreamStats>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const StreamStats& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const StreamStats& from) { StreamStats::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(StreamStats* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "google.cloud.bigquery.storage.v1.StreamStats"; }

  explicit StreamStats(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  StreamStats(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const StreamStats& from);
  StreamStats(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, StreamStats&& from) noexcept
      : StreamStats(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------
  using Progress = StreamStats_Progress;

  // accessors -------------------------------------------------------
  enum : int {
    kProgressFieldNumber = 2,
  };
  // .google.cloud.bigquery.storage.v1.StreamStats.Progress progress = 2;
  [[nodiscard]] bool has_progress()
      const;
  void clear_progress() ;
  [[nodiscard]] const ::google::cloud::bigquery::storage::v1::StreamStats_Progress& progress() const;
  [[nodiscard]] ::google::cloud::bigquery::storage::v1::StreamStats_Progress* PROTOBUF_NULLABLE release_progress();
  ::google::cloud::bigquery::storage::v1::StreamStats_Progress* PROTOBUF_NONNULL mutable_progress();
  void set_allocated_progress(::google::cloud::bigquery::storage::v1::StreamStats_Progress* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_progress(::google::cloud::bigquery::storage::v1::StreamStats_Progress* PROTOBUF_NULLABLE value);
  ::google::cloud::bigquery::storage::v1::StreamStats_Progress* PROTOBUF_NULLABLE unsafe_arena_release_progress();

  private:
  const ::google::cloud::bigquery::storage::v1::StreamStats_Progress& _internal_progress() const;
  ::google::cloud::bigquery::storage::v1::StreamStats_Progress* PROTOBUF_NONNULL _internal_mutable_progress();

  public:
  // @@protoc_insertion_point(class_scope:google.cloud.bigquery.storage.v1.StreamStats)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 1,
                          1, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const StreamStats& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::cloud::bigquery::storage::v1::StreamStats_Progress* PROTOBUF_NULLABLE progress_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_google_2fcloud_2fbigquery_2fstorage_2fv1_2fstorage_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED SplitReadStreamResponse final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:google.cloud.bigquery.storage.v1.SplitReadStreamResponse) */ {
 public:
  inline SplitReadStreamResponse() : SplitReadStreamResponse(nullptr) {}
  ~SplitReadStreamResponse() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(SplitReadStreamResponse* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(SplitReadStreamResponse));
  }
#endif

  template <typename = void>
  explicit constexpr SplitReadStreamResponse(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline SplitReadStreamResponse(const SplitReadStreamResponse& from) : SplitReadStreamResponse(nullptr, from) {}
  inline SplitReadStreamResponse(SplitReadStreamResponse&& from) noexcept : SplitReadStreamResponse(nullptr, ::std::move(from)) {}
  inline SplitReadStreamResponse& operator=(const SplitReadStreamResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline SplitReadStreamResponse& operator=(SplitReadStreamResponse&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const SplitReadStreamResponse& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<SplitReadStreamResponse>(&SplitReadStreamResponse_globals_);
  }
  static constexpr int kIndexInFileMessages = 7;
  friend void swap(SplitReadStreamResponse& a, SplitReadStreamResponse& b) { a.Swap(&b); }
  inline void Swap(SplitReadStreamResponse* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(SplitReadStreamResponse* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] SplitReadStreamResponse* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<SplitReadStreamResponse>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const SplitReadStreamResponse& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const SplitReadStreamResponse& from) { SplitReadStreamResponse::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(SplitReadStreamResponse* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "google.cloud.bigquery.storage.v1.SplitReadStreamResponse"; }

  explicit SplitReadStreamResponse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  SplitReadStreamResponse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const SplitReadStreamResponse& from);
  SplitReadStreamResponse(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, SplitReadStreamResponse&& from) noexcept
      : SplitReadStreamResponse(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kPrimaryStreamFieldNumber = 1,
    kRemainderStreamFieldNumber = 2,
  };
  // .google.cloud.bigquery.storage.v1.ReadStream primary_stream = 1;
  [[nodiscard]] bool has_primary_stream()
      const;
  void clear_primary_stream() ;
  [[nodiscard]] const ::google::cloud::bigquery::storage::v1::ReadStream& primary_stream() const;
  [[nodiscard]] ::google::cloud::bigquery::storage::v1::ReadStream* PROTOBUF_NULLABLE release_primary_stream();
  ::google::cloud::bigquery::storage::v1::ReadStream* PROTOBUF_NONNULL mutable_primary_stream();
  void set_allocated_primary_stream(::google::cloud::bigquery::storage::v1::ReadStream* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_primary_stream(::google::cloud::bigquery::storage::v1::ReadStream* PROTOBUF_NULLABLE value);
  ::google::cloud::bigquery::storage::v1::ReadStream* PROTOBUF_NULLABLE unsafe_arena_release_primary_stream();

  private:
  const ::google::cloud::bigquery::storage::v1::ReadStream& _internal_primary_stream() const;
  ::google::cloud::bigquery::storage::v1::ReadStream* PROTOBUF_NONNULL _internal_mutable_primary_stream();

  public:
  // .google.cloud.bigquery.storage.v1.ReadStream remainder_stream = 2;
  [[nodiscard]] bool has_remainder_stream()
      const;
  void clear_remainder_stream() ;
  [[nodiscard]] const ::google::cloud::bigquery::storage::v1::ReadStream& remainder_stream() const;
  [[nodiscard]] ::google::cloud::bigquery::storage::v1::ReadStream* PROTOBUF_NULLABLE release_remainder_stream();
  ::google::cloud::bigquery::storage::v1::ReadStream* PROTOBUF_NONNULL mutable_remainder_stream();
  void set_allocated_remainder_stream(::google::cloud::bigquery::storage::v1::ReadStream* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_remainder_stream(::google::cloud::bigquery::storage::v1::ReadStream* PROTOBUF_NULLABLE value);
  ::google::cloud::bigquery::storage::v1::ReadStream* PROTOBUF_NULLABLE unsafe_arena_release_remainder_stream();

  private:
  const ::google::cloud::bigquery::storage::v1::ReadStream& _internal_remainder_stream() const;
  ::google::cloud::bigquery::storage::v1::ReadStream* PROTOBUF_NONNULL _internal_mutable_remainder_stream();

  public:
  // @@protoc_insertion_point(class_scope:google.cloud.bigquery.storage.v1.SplitReadStreamResponse)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<1, 2,
                          2, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const SplitReadStreamResponse& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::cloud::bigquery::storage::v1::ReadStream* PROTOBUF_NULLABLE primary_stream_;
    ::google::cloud::bigquery::storage::v1::ReadStream* PROTOBUF_NULLABLE remainder_stream_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_google_2fcloud_2fbigquery_2fstorage_2fv1_2fstorage_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED FlushRowsRequest final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:google.cloud.bigquery.storage.v1.FlushRowsRequest) */ {
 public:
  inline FlushRowsRequest() : FlushRowsRequest(nullptr) {}
  ~FlushRowsRequest() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(FlushRowsRequest* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(FlushRowsRequest));
  }
#endif

  template <typename = void>
  explicit constexpr FlushRowsRequest(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline FlushRowsRequest(const FlushRowsRequest& from) : FlushRowsRequest(nullptr, from) {}
  inline FlushRowsRequest(FlushRowsRequest&& from) noexcept : FlushRowsRequest(nullptr, ::std::move(from)) {}
  inline FlushRowsRequest& operator=(const FlushRowsRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline FlushRowsRequest& operator=(FlushRowsRequest&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const FlushRowsRequest& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<FlushRowsRequest>(&FlushRowsRequest_globals_);
  }
  static constexpr int kIndexInFileMessages = 19;
  friend void swap(FlushRowsRequest& a, FlushRowsRequest& b) { a.Swap(&b); }
  inline void Swap(FlushRowsRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(FlushRowsRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] FlushRowsRequest* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<FlushRowsRequest>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const FlushRowsRequest& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const FlushRowsRequest& from) { FlushRowsRequest::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(FlushRowsRequest* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "google.cloud.bigquery.storage.v1.FlushRowsRequest"; }

  explicit FlushRowsRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  FlushRowsRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const FlushRowsRequest& from);
  FlushRowsRequest(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, FlushRowsRequest&& from) noexcept
      : FlushRowsRequest(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kWriteStreamFieldNumber = 1,
    kOffsetFieldNumber = 2,
  };
  // string write_stream = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
  void clear_write_stream() ;
  [[nodiscard]] const ::std::string& write_stream() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_write_stream(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_write_stream();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_write_stream();
  void set_allocated_write_stream(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_write_stream() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_write_stream(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_write_stream();

  public:
  // .google.protobuf.Int64Value offset = 2;
  [[nodiscard]] bool has_offset()
      const;
  void clear_offset() ;
  [[nodiscard]] const ::google::protobuf::Int64Value& offset() const;
  [[nodiscard]] ::google::protobuf::Int64Value* PROTOBUF_NULLABLE release_offset();
  ::google::protobuf::Int64Value* PROTOBUF_NONNULL mutable_offset();
  void set_allocated_offset(::google::protobuf::Int64Value* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_offset(::google::protobuf::Int64Value* PROTOBUF_NULLABLE value);
  ::google::protobuf::Int64Value* PROTOBUF_NULLABLE unsafe_arena_release_offset();

  private:
  const ::google::protobuf::Int64Value& _internal_offset() const;
  ::google::protobuf::Int64Value* PROTOBUF_NONNULL _internal_mutable_offset();

  public:
  // @@protoc_insertion_point(class_scope:google.cloud.bigquery.storage.v1.FlushRowsRequest)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<1, 2,
                          1, 70,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const FlushRowsRequest& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr write_stream_;
    ::google::protobuf::Int64Value* PROTOBUF_NULLABLE offset_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_google_2fcloud_2fbigquery_2fstorage_2fv1_2fstorage_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED BatchCommitWriteStreamsResponse final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:google.cloud.bigquery.storage.v1.BatchCommitWriteStreamsResponse) */ {
 public:
  inline BatchCommitWriteStreamsResponse() : BatchCommitWriteStreamsResponse(nullptr) {}
  ~BatchCommitWriteStreamsResponse() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(BatchCommitWriteStreamsResponse* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(BatchCommitWriteStreamsResponse));
  }
#endif

  template <typename = void>
  explicit constexpr BatchCommitWriteStreamsResponse(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline BatchCommitWriteStreamsResponse(const BatchCommitWriteStreamsResponse& from) : BatchCommitWriteStreamsResponse(nullptr, from) {}
  inline BatchCommitWriteStreamsResponse(BatchCommitWriteStreamsResponse&& from) noexcept : BatchCommitWriteStreamsResponse(nullptr, ::std::move(from)) {}
  inline BatchCommitWriteStreamsResponse& operator=(const BatchCommitWriteStreamsResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline BatchCommitWriteStreamsResponse& operator=(BatchCommitWriteStreamsResponse&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const BatchCommitWriteStreamsResponse& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<BatchCommitWriteStreamsResponse>(&BatchCommitWriteStreamsResponse_globals_);
  }
  static constexpr int kIndexInFileMessages = 16;
  friend void swap(BatchCommitWriteStreamsResponse& a, BatchCommitWriteStreamsResponse& b) { a.Swap(&b); }
  inline void Swap(BatchCommitWriteStreamsResponse* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(BatchCommitWriteStreamsResponse* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] BatchCommitWriteStreamsResponse* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<BatchCommitWriteStreamsResponse>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const BatchCommitWriteStreamsResponse& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const BatchCommitWriteStreamsResponse& from) { BatchCommitWriteStreamsResponse::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(BatchCommitWriteStreamsResponse* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "google.cloud.bigquery.storage.v1.BatchCommitWriteStreamsResponse"; }

  explicit BatchCommitWriteStreamsResponse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  BatchCommitWriteStreamsResponse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const BatchCommitWriteStreamsResponse& from);
  BatchCommitWriteStreamsResponse(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, BatchCommitWriteStreamsResponse&& from) noexcept
      : BatchCommitWriteStreamsResponse(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kStreamErrorsFieldNumber = 2,
    kCommitTimeFieldNumber = 1,
  };
  // repeated .google.cloud.bigquery.storage.v1.StorageError stream_errors = 2;
  [[nodiscard]] int stream_errors_size()
      const;
  private:
  int _internal_stream_errors_size() const;

  public:
  void clear_stream_errors() ;
  [[nodiscard]] const ::google::cloud::bigquery::storage::v1::StorageError& stream_errors(int index) const;
  [[nodiscard]] ::google::cloud::bigquery::storage::v1::StorageError* PROTOBUF_NONNULL mutable_stream_errors(int index);
  ::google::cloud::bigquery::storage::v1::StorageError* PROTOBUF_NONNULL add_stream_errors();
  [[nodiscard]] const ::google::protobuf::RepeatedPtrField<::google::cloud::bigquery::storage::v1::StorageError>&
  stream_errors() const;
  [[nodiscard]] ::google::protobuf::RepeatedPtrField<::google::cloud::bigquery::storage::v1::StorageError>* PROTOBUF_NONNULL
  mutable_stream_errors();

  private:
  const ::google::protobuf::RepeatedPtrField<::google::cloud::bigquery::storage::v1::StorageError>& _internal_stream_errors() const;
  ::google::protobuf::RepeatedPtrField<::google::cloud::bigquery::storage::v1::StorageError>* PROTOBUF_NONNULL _internal_mutable_stream_errors();

  public:
  // .google.protobuf.Timestamp commit_time = 1;
  [[nodiscard]] bool has_commit_time()
      const;
  void clear_commit_time() ;
  [[nodiscard]] const ::google::protobuf::Timestamp& commit_time() const;
  [[nodiscard]] ::google::protobuf::Timestamp* PROTOBUF_NULLABLE release_commit_time();
  ::google::protobuf::Timestamp* PROTOBUF_NONNULL mutable_commit_time();
  void set_allocated_commit_time(::google::protobuf::Timestamp* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_commit_time(::google::protobuf::Timestamp* PROTOBUF_NULLABLE value);
  ::google::protobuf::Timestamp* PROTOBUF_NULLABLE unsafe_arena_release_commit_time();

  private:
  const ::google::protobuf::Timestamp& _internal_commit_time() const;
  ::google::protobuf::Timestamp* PROTOBUF_NONNULL _internal_mutable_commit_time();

  public:
  // @@protoc_insertion_point(class_scope:google.cloud.bigquery.storage.v1.BatchCommitWriteStreamsResponse)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<1, 2,
                          2, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const BatchCommitWriteStreamsResponse& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedPtrField< ::google::cloud::bigquery::storage::v1::StorageError > stream_errors_;
    ::google::protobuf::Timestamp* PROTOBUF_NULLABLE commit_time_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_google_2fcloud_2fbigquery_2fstorage_2fv1_2fstorage_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED AppendRowsResponse_AppendResult final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:google.cloud.bigquery.storage.v1.AppendRowsResponse.AppendResult) */ {
 public:
  inline AppendRowsResponse_AppendResult() : AppendRowsResponse_AppendResult(nullptr) {}
  ~AppendRowsResponse_AppendResult() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(AppendRowsResponse_AppendResult* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(AppendRowsResponse_AppendResult));
  }
#endif

  template <typename = void>
  explicit constexpr AppendRowsResponse_AppendResult(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline AppendRowsResponse_AppendResult(const AppendRowsResponse_AppendResult& from) : AppendRowsResponse_AppendResult(nullptr, from) {}
  inline AppendRowsResponse_AppendResult(AppendRowsResponse_AppendResult&& from) noexcept : AppendRowsResponse_AppendResult(nullptr, ::std::move(from)) {}
  inline AppendRowsResponse_AppendResult& operator=(const AppendRowsResponse_AppendResult& from) {
    CopyFrom(from);
    return *this;
  }
  inline AppendRowsResponse_AppendResult& operator=(AppendRowsResponse_AppendResult&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const AppendRowsResponse_AppendResult& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<AppendRowsResponse_AppendResult>(&AppendRowsResponse_AppendResult_globals_);
  }
  static constexpr int kIndexInFileMessages = 12;
  friend void swap(AppendRowsResponse_AppendResult& a, AppendRowsResponse_AppendResult& b) { a.Swap(&b); }
  inline void Swap(AppendRowsResponse_AppendResult* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(AppendRowsResponse_AppendResult* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] AppendRowsResponse_AppendResult* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<AppendRowsResponse_AppendResult>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const AppendRowsResponse_AppendResult& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const AppendRowsResponse_AppendResult& from) { AppendRowsResponse_AppendResult::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(AppendRowsResponse_AppendResult* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "google.cloud.bigquery.storage.v1.AppendRowsResponse.AppendResult"; }

  explicit AppendRowsResponse_AppendResult(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  AppendRowsResponse_AppendResult(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const AppendRowsResponse_AppendResult& from);
  AppendRowsResponse_AppendResult(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, AppendRowsResponse_AppendResult&& from) noexcept
      : AppendRowsResponse_AppendResult(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kOffsetFieldNumber = 1,
  };
  // .google.protobuf.Int64Value offset = 1;
  [[nodiscard]] bool has_offset()
      const;
  void clear_offset() ;
  [[nodiscard]] const ::google::protobuf::Int64Value& offset() const;
  [[nodiscard]] ::google::protobuf::Int64Value* PROTOBUF_NULLABLE release_offset();
  ::google::protobuf::Int64Value* PROTOBUF_NONNULL mutable_offset();
  void set_allocated_offset(::google::protobuf::Int64Value* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_offset(::google::protobuf::Int64Value* PROTOBUF_NULLABLE value);
  ::google::protobuf::Int64Value* PROTOBUF_NULLABLE unsafe_arena_release_offset();

  private:
  const ::google::protobuf::Int64Value& _internal_offset() const;
  ::google::protobuf::Int64Value* PROTOBUF_NONNULL _internal_mutable_offset();

  public:
  // @@protoc_insertion_point(class_scope:google.cloud.bigquery.storage.v1.AppendRowsResponse.AppendResult)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 1,
                          1, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const AppendRowsResponse_AppendResult& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::Int64Value* PROTOBUF_NULLABLE offset_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_google_2fcloud_2fbigquery_2fstorage_2fv1_2fstorage_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED ReadRowsResponse final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:google.cloud.bigquery.storage.v1.ReadRowsResponse) */ {
 public:
  inline ReadRowsResponse() : ReadRowsResponse(nullptr) {}
  ~ReadRowsResponse() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(ReadRowsResponse* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(ReadRowsResponse));
  }
#endif

  template <typename = void>
  explicit constexpr ReadRowsResponse(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline ReadRowsResponse(const ReadRowsResponse& from) : ReadRowsResponse(nullptr, from) {}
  inline ReadRowsResponse(ReadRowsResponse&& from) noexcept : ReadRowsResponse(nullptr, ::std::move(from)) {}
  inline ReadRowsResponse& operator=(const ReadRowsResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline ReadRowsResponse& operator=(ReadRowsResponse&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const ReadRowsResponse& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<ReadRowsResponse>(&ReadRowsResponse_globals_);
  }
  enum RowsCase {
    kAvroRows = 3,
    kArrowRecordBatch = 4,
    ROWS_NOT_SET = 0,
  };
  enum SchemaCase {
    kAvroSchema = 7,
    kArrowSchema = 8,
    SCHEMA_NOT_SET = 0,
  };
  static constexpr int kIndexInFileMessages = 5;
  friend void swap(ReadRowsResponse& a, ReadRowsResponse& b) { a.Swap(&b); }
  inline void Swap(ReadRowsResponse* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(ReadRowsResponse* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] ReadRowsResponse* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<ReadRowsResponse>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const ReadRowsResponse& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const ReadRowsResponse& from) { ReadRowsResponse::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(ReadRowsResponse* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "google.cloud.bigquery.storage.v1.ReadRowsResponse"; }

  explicit ReadRowsResponse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  ReadRowsResponse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const ReadRowsResponse& from);
  ReadRowsResponse(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, ReadRowsResponse&& from) noexcept
      : ReadRowsResponse(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kStatsFieldNumber = 2,
    kThrottleStateFieldNumber = 5,
    kRowCountFieldNumber = 6,
    kAvroRowsFieldNumber = 3,
    kArrowRecordBatchFieldNumber = 4,
    kAvroSchemaFieldNumber = 7,
    kArrowSchemaFieldNumber = 8,
  };
  // .google.cloud.bigquery.storage.v1.StreamStats stats = 2;
  [[nodiscard]] bool has_stats()
      const;
  void clear_stats() ;
  [[nodiscard]] const ::google::cloud::bigquery::storage::v1::StreamStats& stats() const;
  [[nodiscard]] ::google::cloud::bigquery::storage::v1::StreamStats* PROTOBUF_NULLABLE release_stats();
  ::google::cloud::bigquery::storage::v1::StreamStats* PROTOBUF_NONNULL mutable_stats();
  void set_allocated_stats(::google::cloud::bigquery::storage::v1::StreamStats* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_stats(::google::cloud::bigquery::storage::v1::StreamStats* PROTOBUF_NULLABLE value);
  ::google::cloud::bigquery::storage::v1::StreamStats* PROTOBUF_NULLABLE unsafe_arena_release_stats();

  private:
  const ::google::cloud::bigquery::storage::v1::StreamStats& _internal_stats() const;
  ::google::cloud::bigquery::storage::v1::StreamStats* PROTOBUF_NONNULL _internal_mutable_stats();

  public:
  // .google.cloud.bigquery.storage.v1.ThrottleState throttle_state = 5;
  [[nodiscard]] bool has_throttle_state()
      const;
  void clear_throttle_state() ;
  [[nodiscard]] const ::google::cloud::bigquery::storage::v1::ThrottleState& throttle_state() const;
  [[nodiscard]] ::google::cloud::bigquery::storage::v1::ThrottleState* PROTOBUF_NULLABLE release_throttle_state();
  ::google::cloud::bigquery::storage::v1::ThrottleState* PROTOBUF_NONNULL mutable_throttle_state();
  void set_allocated_throttle_state(::google::cloud::bigquery::storage::v1::ThrottleState* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_throttle_state(::google::cloud::bigquery::storage::v1::ThrottleState* PROTOBUF_NULLABLE value);
  ::google::cloud::bigquery::storage::v1::ThrottleState* PROTOBUF_NULLABLE unsafe_arena_release_throttle_state();

  private:
  const ::google::cloud::bigquery::storage::v1::ThrottleState& _internal_throttle_state() const;
  ::google::cloud::bigquery::storage::v1::ThrottleState* PROTOBUF_NONNULL _internal_mutable_throttle_state();

  public:
  // int64 row_count = 6;
  void clear_row_count() ;
  [[nodiscard]] ::int64_t row_count() const;
  void set_row_count(::int64_t value);

  private:
  ::int64_t _internal_row_count() const;
  void _internal_set_row_count(::int64_t value);

  public:
  // .google.cloud.bigquery.storage.v1.AvroRows avro_rows = 3;
  [[nodiscard]] bool has_avro_rows()
      const;
  private:
  bool _internal_has_avro_rows() const;

  public:
  void clear_avro_rows() ;
  [[nodiscard]] const ::google::cloud::bigquery::storage::v1::AvroRows& avro_rows() const;
  [[nodiscard]] ::google::cloud::bigquery::storage::v1::AvroRows* PROTOBUF_NULLABLE release_avro_rows();
  ::google::cloud::bigquery::storage::v1::AvroRows* PROTOBUF_NONNULL mutable_avro_rows();
  void set_allocated_avro_rows(::google::cloud::bigquery::storage::v1::AvroRows* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_avro_rows(::google::cloud::bigquery::storage::v1::AvroRows* PROTOBUF_NULLABLE value);
  ::google::cloud::bigquery::storage::v1::AvroRows* PROTOBUF_NULLABLE unsafe_arena_release_avro_rows();

  private:
  const ::google::cloud::bigquery::storage::v1::AvroRows& _internal_avro_rows() const;
  ::google::cloud::bigquery::storage::v1::AvroRows* PROTOBUF_NONNULL _internal_mutable_avro_rows();

  public:
  // .google.cloud.bigquery.storage.v1.ArrowRecordBatch arrow_record_batch = 4;
  [[nodiscard]] bool has_arrow_record_batch()
      const;
  private:
  bool _internal_has_arrow_record_batch() const;

  public:
  void clear_arrow_record_batch() ;
  [[nodiscard]] const ::google::cloud::bigquery::storage::v1::ArrowRecordBatch& arrow_record_batch() const;
  [[nodiscard]] ::google::cloud::bigquery::storage::v1::ArrowRecordBatch* PROTOBUF_NULLABLE release_arrow_record_batch();
  ::google::cloud::bigquery::storage::v1::ArrowRecordBatch* PROTOBUF_NONNULL mutable_arrow_record_batch();
  void set_allocated_arrow_record_batch(::google::cloud::bigquery::storage::v1::ArrowRecordBatch* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_arrow_record_batch(::google::cloud::bigquery::storage::v1::ArrowRecordBatch* PROTOBUF_NULLABLE value);
  ::google::cloud::bigquery::storage::v1::ArrowRecordBatch* PROTOBUF_NULLABLE unsafe_arena_release_arrow_record_batch();

  private:
  const ::google::cloud::bigquery::storage::v1::ArrowRecordBatch& _internal_arrow_record_batch() const;
  ::google::cloud::bigquery::storage::v1::ArrowRecordBatch* PROTOBUF_NONNULL _internal_mutable_arrow_record_batch();

  public:
  // .google.cloud.bigquery.storage.v1.AvroSchema avro_schema = 7 [(.google.api.field_behavior) = OUTPUT_ONLY];
  [[nodiscard]] bool has_avro_schema()
      const;
  private:
  bool _internal_has_avro_schema() const;

  public:
  void clear_avro_schema() ;
  [[nodiscard]] const ::google::cloud::bigquery::storage::v1::AvroSchema& avro_schema() const;
  [[nodiscard]] ::google::cloud::bigquery::storage::v1::AvroSchema* PROTOBUF_NULLABLE release_avro_schema();
  ::google::cloud::bigquery::storage::v1::AvroSchema* PROTOBUF_NONNULL mutable_avro_schema();
  void set_allocated_avro_schema(::google::cloud::bigquery::storage::v1::AvroSchema* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_avro_schema(::google::cloud::bigquery::storage::v1::AvroSchema* PROTOBUF_NULLABLE value);
  ::google::cloud::bigquery::storage::v1::AvroSchema* PROTOBUF_NULLABLE unsafe_arena_release_avro_schema();

  private:
  const ::google::cloud::bigquery::storage::v1::AvroSchema& _internal_avro_schema() const;
  ::google::cloud::bigquery::storage::v1::AvroSchema* PROTOBUF_NONNULL _internal_mutable_avro_schema();

  public:
  // .google.cloud.bigquery.storage.v1.ArrowSchema arrow_schema = 8 [(.google.api.field_behavior) = OUTPUT_ONLY];
  [[nodiscard]] bool has_arrow_schema()
      const;
  private:
  bool _internal_has_arrow_schema() const;

  public:
  void clear_arrow_schema() ;
  [[nodiscard]] const ::google::cloud::bigquery::storage::v1::ArrowSchema& arrow_schema() const;
  [[nodiscard]] ::google::cloud::bigquery::storage::v1::ArrowSchema* PROTOBUF_NULLABLE release_arrow_schema();
  ::google::cloud::bigquery::storage::v1::ArrowSchema* PROTOBUF_NONNULL mutable_arrow_schema();
  void set_allocated_arrow_schema(::google::cloud::bigquery::storage::v1::ArrowSchema* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_arrow_schema(::google::cloud::bigquery::storage::v1::ArrowSchema* PROTOBUF_NULLABLE value);
  ::google::cloud::bigquery::storage::v1::ArrowSchema* PROTOBUF_NULLABLE unsafe_arena_release_arrow_schema();

  private:
  const ::google::cloud::bigquery::storage::v1::ArrowSchema& _internal_arrow_schema() const;
  ::google::cloud::bigquery::storage::v1::ArrowSchema* PROTOBUF_NONNULL _internal_mutable_arrow_schema();

  public:
  void clear_rows();
  RowsCase rows_case() const;
  void clear_schema();
  SchemaCase schema_case() const;
  // @@protoc_insertion_point(class_scope:google.cloud.bigquery.storage.v1.ReadRowsResponse)
 private:
  class _Internal;
  void set_has_avro_rows();
  void set_has_arrow_record_batch();
  void set_has_avro_schema();
  void set_has_arrow_schema();
  [[nodiscard]] inline bool has_rows() const;
  inline void clear_has_rows();
  [[nodiscard]] inline bool has_schema() const;
  inline void clear_has_schema();
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<3, 7,
                          6, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const ReadRowsResponse& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::cloud::bigquery::storage::v1::StreamStats* PROTOBUF_NULLABLE stats_;
    ::google::cloud::bigquery::storage::v1::ThrottleState* PROTOBUF_NULLABLE throttle_state_;
    ::int64_t row_count_;
    union RowsUnion {
      constexpr RowsUnion() : _constinit_{} {}
      ::google::protobuf::internal::ConstantInitialized _constinit_;
      ::google::cloud::bigquery::storage::v1::AvroRows* PROTOBUF_NULLABLE avro_rows_;
      ::google::cloud::bigquery::storage::v1::ArrowRecordBatch* PROTOBUF_NULLABLE arrow_record_batch_;
    } rows_;
    union SchemaUnion {
      constexpr SchemaUnion() : _constinit_{} {}
      ::google::protobuf::internal::ConstantInitialized _constinit_;
      ::google::cloud::bigquery::storage::v1::AvroSchema* PROTOBUF_NULLABLE avro_schema_;
      ::google::cloud::bigquery::storage::v1::ArrowSchema* PROTOBUF_NULLABLE arrow_schema_;
    } schema_;
    ::uint32_t _oneof_case_[2];
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_google_2fcloud_2fbigquery_2fstorage_2fv1_2fstorage_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED AppendRowsResponse final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:google.cloud.bigquery.storage.v1.AppendRowsResponse) */ {
 public:
  inline AppendRowsResponse() : AppendRowsResponse(nullptr) {}
  ~AppendRowsResponse() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(AppendRowsResponse* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(AppendRowsResponse));
  }
#endif

  template <typename = void>
  explicit constexpr AppendRowsResponse(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline AppendRowsResponse(const AppendRowsResponse& from) : AppendRowsResponse(nullptr, from) {}
  inline AppendRowsResponse(AppendRowsResponse&& from) noexcept : AppendRowsResponse(nullptr, ::std::move(from)) {}
  inline AppendRowsResponse& operator=(const AppendRowsResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline AppendRowsResponse& operator=(AppendRowsResponse&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const AppendRowsResponse& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<AppendRowsResponse>(&AppendRowsResponse_globals_);
  }
  enum ResponseCase {
    kAppendResult = 1,
    kError = 2,
    RESPONSE_NOT_SET = 0,
  };
  static constexpr int kIndexInFileMessages = 13;
  friend void swap(AppendRowsResponse& a, AppendRowsResponse& b) { a.Swap(&b); }
  inline void Swap(AppendRowsResponse* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(AppendRowsResponse* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] AppendRowsResponse* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<AppendRowsResponse>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const AppendRowsResponse& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const AppendRowsResponse& from) { AppendRowsResponse::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(AppendRowsResponse* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "google.cloud.bigquery.storage.v1.AppendRowsResponse"; }

  explicit AppendRowsResponse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  AppendRowsResponse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const AppendRowsResponse& from);
  AppendRowsResponse(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, AppendRowsResponse&& from) noexcept
      : AppendRowsResponse(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------
  using AppendResult = AppendRowsResponse_AppendResult;

  // accessors -------------------------------------------------------
  enum : int {
    kRowErrorsFieldNumber = 4,
    kWriteStreamFieldNumber = 5,
    kUpdatedSchemaFieldNumber = 3,
    kAppendResultFieldNumber = 1,
    kErrorFieldNumber = 2,
  };
  // repeated .google.cloud.bigquery.storage.v1.RowError row_errors = 4;
  [[nodiscard]] int row_errors_size()
      const;
  private:
  int _internal_row_errors_size() const;

  public:
  void clear_row_errors() ;
  [[nodiscard]] const ::google::cloud::bigquery::storage::v1::RowError& row_errors(int index) const;
  [[nodiscard]] ::google::cloud::bigquery::storage::v1::RowError* PROTOBUF_NONNULL mutable_row_errors(int index);
  ::google::cloud::bigquery::storage::v1::RowError* PROTOBUF_NONNULL add_row_errors();
  [[nodiscard]] const ::google::protobuf::RepeatedPtrField<::google::cloud::bigquery::storage::v1::RowError>&
  row_errors() const;
  [[nodiscard]] ::google::protobuf::RepeatedPtrField<::google::cloud::bigquery::storage::v1::RowError>* PROTOBUF_NONNULL
  mutable_row_errors();

  private:
  const ::google::protobuf::RepeatedPtrField<::google::cloud::bigquery::storage::v1::RowError>& _internal_row_errors() const;
  ::google::protobuf::RepeatedPtrField<::google::cloud::bigquery::storage::v1::RowError>* PROTOBUF_NONNULL _internal_mutable_row_errors();

  public:
  // string write_stream = 5;
  void clear_write_stream() ;
  [[nodiscard]] const ::std::string& write_stream() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_write_stream(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_write_stream();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_write_stream();
  void set_allocated_write_stream(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_write_stream() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_write_stream(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_write_stream();

  public:
  // .google.cloud.bigquery.storage.v1.TableSchema updated_schema = 3;
  [[nodiscard]] bool has_updated_schema()
      const;
  void clear_updated_schema() ;
  [[nodiscard]] const ::google::cloud::bigquery::storage::v1::TableSchema& updated_schema() const;
  [[nodiscard]] ::google::cloud::bigquery::storage::v1::TableSchema* PROTOBUF_NULLABLE release_updated_schema();
  ::google::cloud::bigquery::storage::v1::TableSchema* PROTOBUF_NONNULL mutable_updated_schema();
  void set_allocated_updated_schema(::google::cloud::bigquery::storage::v1::TableSchema* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_updated_schema(::google::cloud::bigquery::storage::v1::TableSchema* PROTOBUF_NULLABLE value);
  ::google::cloud::bigquery::storage::v1::TableSchema* PROTOBUF_NULLABLE unsafe_arena_release_updated_schema();

  private:
  const ::google::cloud::bigquery::storage::v1::TableSchema& _internal_updated_schema() const;
  ::google::cloud::bigquery::storage::v1::TableSchema* PROTOBUF_NONNULL _internal_mutable_updated_schema();

  public:
  // .google.cloud.bigquery.storage.v1.AppendRowsResponse.AppendResult append_result = 1;
  [[nodiscard]] bool has_append_result()
      const;
  private:
  bool _internal_has_append_result() const;

  public:
  void clear_append_result() ;
  [[nodiscard]] const ::google::cloud::bigquery::storage::v1::AppendRowsResponse_AppendResult& append_result() const;
  [[nodiscard]] ::google::cloud::bigquery::storage::v1::AppendRowsResponse_AppendResult* PROTOBUF_NULLABLE release_append_result();
  ::google::cloud::bigquery::storage::v1::AppendRowsResponse_AppendResult* PROTOBUF_NONNULL mutable_append_result();
  void set_allocated_append_result(::google::cloud::bigquery::storage::v1::AppendRowsResponse_AppendResult* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_append_result(::google::cloud::bigquery::storage::v1::AppendRowsResponse_AppendResult* PROTOBUF_NULLABLE value);
  ::google::cloud::bigquery::storage::v1::AppendRowsResponse_AppendResult* PROTOBUF_NULLABLE unsafe_arena_release_append_result();

  private:
  const ::google::cloud::bigquery::storage::v1::AppendRowsResponse_AppendResult& _internal_append_result() const;
  ::google::cloud::bigquery::storage::v1::AppendRowsResponse_AppendResult* PROTOBUF_NONNULL _internal_mutable_append_result();

  public:
  // .google.rpc.Status error = 2;
  [[nodiscard]] bool has_error()
      const;
  private:
  bool _internal_has_error() const;

  public:
  void clear_error() ;
  [[nodiscard]] const ::google::rpc::Status& error() const;
  [[nodiscard]] ::google::rpc::Status* PROTOBUF_NULLABLE release_error();
  ::google::rpc::Status* PROTOBUF_NONNULL mutable_error();
  void set_allocated_error(::google::rpc::Status* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_error(::google::rpc::Status* PROTOBUF_NULLABLE value);
  ::google::rpc::Status* PROTOBUF_NULLABLE unsafe_arena_release_error();

  private:
  const ::google::rpc::Status& _internal_error() const;
  ::google::rpc::Status* PROTOBUF_NONNULL _internal_mutable_error();

  public:
  void clear_response();
  ResponseCase response_case() const;
  // @@protoc_insertion_point(class_scope:google.cloud.bigquery.storage.v1.AppendRowsResponse)
 private:
  class _Internal;
  void set_has_append_result();
  void set_has_error();
  [[nodiscard]] inline bool has_response() const;
  inline void clear_has_response();
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<2, 5,
                          4, 72,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const AppendRowsResponse& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedPtrField< ::google::cloud::bigquery::storage::v1::RowError > row_errors_;
    ::google::protobuf::internal::ArenaStringPtr write_stream_;
    ::google::cloud::bigquery::storage::v1::TableSchema* PROTOBUF_NULLABLE updated_schema_;
    union ResponseUnion {
      constexpr ResponseUnion() : _constinit_{} {}
      ::google::protobuf::internal::ConstantInitialized _constinit_;
      ::google::cloud::bigquery::storage::v1::AppendRowsResponse_AppendResult* PROTOBUF_NULLABLE append_result_;
      ::google::rpc::Status* PROTOBUF_NULLABLE error_;
    } response_;
    ::uint32_t _oneof_case_[1];
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_google_2fcloud_2fbigquery_2fstorage_2fv1_2fstorage_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED CreateWriteStreamRequest final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:google.cloud.bigquery.storage.v1.CreateWriteStreamRequest) */ {
 public:
  inline CreateWriteStreamRequest() : CreateWriteStreamRequest(nullptr) {}
  ~CreateWriteStreamRequest() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(CreateWriteStreamRequest* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(CreateWriteStreamRequest));
  }
#endif

  template <typename = void>
  explicit constexpr CreateWriteStreamRequest(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline CreateWriteStreamRequest(const CreateWriteStreamRequest& from) : CreateWriteStreamRequest(nullptr, from) {}
  inline CreateWriteStreamRequest(CreateWriteStreamRequest&& from) noexcept : CreateWriteStreamRequest(nullptr, ::std::move(from)) {}
  inline CreateWriteStreamRequest& operator=(const CreateWriteStreamRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline CreateWriteStreamRequest& operator=(CreateWriteStreamRequest&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const CreateWriteStreamRequest& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<CreateWriteStreamRequest>(&CreateWriteStreamRequest_globals_);
  }
  static constexpr int kIndexInFileMessages = 8;
  friend void swap(CreateWriteStreamRequest& a, CreateWriteStreamRequest& b) { a.Swap(&b); }
  inline void Swap(CreateWriteStreamRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CreateWriteStreamRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] CreateWriteStreamRequest* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<CreateWriteStreamRequest>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const CreateWriteStreamRequest& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const CreateWriteStreamRequest& from) { CreateWriteStreamRequest::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(CreateWriteStreamRequest* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "google.cloud.bigquery.storage.v1.CreateWriteStreamRequest"; }

  explicit CreateWriteStreamRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  CreateWriteStreamRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const CreateWriteStreamRequest& from);
  CreateWriteStreamRequest(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, CreateWriteStreamRequest&& from) noexcept
      : CreateWriteStreamRequest(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kParentFieldNumber = 1,
    kWriteStreamFieldNumber = 2,
  };
  // string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
  void clear_parent() ;
  [[nodiscard]] const ::std::string& parent() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_parent(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_parent();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_parent();
  void set_allocated_parent(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_parent() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_parent(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_parent();

  public:
  // .google.cloud.bigquery.storage.v1.WriteStream write_stream = 2 [(.google.api.field_behavior) = REQUIRED];
  [[nodiscard]] bool has_write_stream()
      const;
  void clear_write_stream() ;
  [[nodiscard]] const ::google::cloud::bigquery::storage::v1::WriteStream& write_stream() const;
  [[nodiscard]] ::google::cloud::bigquery::storage::v1::WriteStream* PROTOBUF_NULLABLE release_write_stream();
  ::google::cloud::bigquery::storage::v1::WriteStream* PROTOBUF_NONNULL mutable_write_stream();
  void set_allocated_write_stream(::google::cloud::bigquery::storage::v1::WriteStream* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_write_stream(::google::cloud::bigquery::storage::v1::WriteStream* PROTOBUF_NULLABLE value);
  ::google::cloud::bigquery::storage::v1::WriteStream* PROTOBUF_NULLABLE unsafe_arena_release_write_stream();

  private:
  const ::google::cloud::bigquery::storage::v1::WriteStream& _internal_write_stream() const;
  ::google::cloud::bigquery::storage::v1::WriteStream* PROTOBUF_NONNULL _internal_mutable_write_stream();

  public:
  // @@protoc_insertion_point(class_scope:google.cloud.bigquery.storage.v1.CreateWriteStreamRequest)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<1, 2,
                          1, 72,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const CreateWriteStreamRequest& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr parent_;
    ::google::cloud::bigquery::storage::v1::WriteStream* PROTOBUF_NULLABLE write_stream_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_google_2fcloud_2fbigquery_2fstorage_2fv1_2fstorage_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED CreateReadSessionRequest final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:google.cloud.bigquery.storage.v1.CreateReadSessionRequest) */ {
 public:
  inline CreateReadSessionRequest() : CreateReadSessionRequest(nullptr) {}
  ~CreateReadSessionRequest() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(CreateReadSessionRequest* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(CreateReadSessionRequest));
  }
#endif

  template <typename = void>
  explicit constexpr CreateReadSessionRequest(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline CreateReadSessionRequest(const CreateReadSessionRequest& from) : CreateReadSessionRequest(nullptr, from) {}
  inline CreateReadSessionRequest(CreateReadSessionRequest&& from) noexcept : CreateReadSessionRequest(nullptr, ::std::move(from)) {}
  inline CreateReadSessionRequest& operator=(const CreateReadSessionRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline CreateReadSessionRequest& operator=(CreateReadSessionRequest&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const CreateReadSessionRequest& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<CreateReadSessionRequest>(&CreateReadSessionRequest_globals_);
  }
  static constexpr int kIndexInFileMessages = 0;
  friend void swap(CreateReadSessionRequest& a, CreateReadSessionRequest& b) { a.Swap(&b); }
  inline void Swap(CreateReadSessionRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CreateReadSessionRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] CreateReadSessionRequest* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<CreateReadSessionRequest>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const CreateReadSessionRequest& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const CreateReadSessionRequest& from) { CreateReadSessionRequest::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(CreateReadSessionRequest* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "google.cloud.bigquery.storage.v1.CreateReadSessionRequest"; }

  explicit CreateReadSessionRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  CreateReadSessionRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const CreateReadSessionRequest& from);
  CreateReadSessionRequest(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, CreateReadSessionRequest&& from) noexcept
      : CreateReadSessionRequest(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kParentFieldNumber = 1,
    kReadSessionFieldNumber = 2,
    kMaxStreamCountFieldNumber = 3,
    kPreferredMinStreamCountFieldNumber = 4,
  };
  // string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
  void clear_parent() ;
  [[nodiscard]] const ::std::string& parent() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_parent(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_parent();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_parent();
  void set_allocated_parent(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_parent() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_parent(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_parent();

  public:
  // .google.cloud.bigquery.storage.v1.ReadSession read_session = 2 [(.google.api.field_behavior) = REQUIRED];
  [[nodiscard]] bool has_read_session()
      const;
  void clear_read_session() ;
  [[nodiscard]] const ::google::cloud::bigquery::storage::v1::ReadSession& read_session() const;
  [[nodiscard]] ::google::cloud::bigquery::storage::v1::ReadSession* PROTOBUF_NULLABLE release_read_session();
  ::google::cloud::bigquery::storage::v1::ReadSession* PROTOBUF_NONNULL mutable_read_session();
  void set_allocated_read_session(::google::cloud::bigquery::storage::v1::ReadSession* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_read_session(::google::cloud::bigquery::storage::v1::ReadSession* PROTOBUF_NULLABLE value);
  ::google::cloud::bigquery::storage::v1::ReadSession* PROTOBUF_NULLABLE unsafe_arena_release_read_session();

  private:
  const ::google::cloud::bigquery::storage::v1::ReadSession& _internal_read_session() const;
  ::google::cloud::bigquery::storage::v1::ReadSession* PROTOBUF_NONNULL _internal_mutable_read_session();

  public:
  // int32 max_stream_count = 3;
  void clear_max_stream_count() ;
  [[nodiscard]] ::int32_t max_stream_count() const;
  void set_max_stream_count(::int32_t value);

  private:
  ::int32_t _internal_max_stream_count() const;
  void _internal_set_max_stream_count(::int32_t value);

  public:
  // int32 preferred_min_stream_count = 4;
  void clear_preferred_min_stream_count() ;
  [[nodiscard]] ::int32_t preferred_min_stream_count() const;
  void set_preferred_min_stream_count(::int32_t value);

  private:
  ::int32_t _internal_preferred_min_stream_count() const;
  void _internal_set_preferred_min_stream_count(::int32_t value);

  public:
  // @@protoc_insertion_point(class_scope:google.cloud.bigquery.storage.v1.CreateReadSessionRequest)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<2, 4,
                          1, 72,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const CreateReadSessionRequest& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr parent_;
    ::google::cloud::bigquery::storage::v1::ReadSession* PROTOBUF_NULLABLE read_session_;
    ::int32_t max_stream_count_;
    ::int32_t preferred_min_stream_count_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_google_2fcloud_2fbigquery_2fstorage_2fv1_2fstorage_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED AppendRowsRequest_ProtoData final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:google.cloud.bigquery.storage.v1.AppendRowsRequest.ProtoData) */ {
 public:
  inline AppendRowsRequest_ProtoData() : AppendRowsRequest_ProtoData(nullptr) {}
  ~AppendRowsRequest_ProtoData() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(AppendRowsRequest_ProtoData* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(AppendRowsRequest_ProtoData));
  }
#endif

  template <typename = void>
  explicit constexpr AppendRowsRequest_ProtoData(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline AppendRowsRequest_ProtoData(const AppendRowsRequest_ProtoData& from) : AppendRowsRequest_ProtoData(nullptr, from) {}
  inline AppendRowsRequest_ProtoData(AppendRowsRequest_ProtoData&& from) noexcept : AppendRowsRequest_ProtoData(nullptr, ::std::move(from)) {}
  inline AppendRowsRequest_ProtoData& operator=(const AppendRowsRequest_ProtoData& from) {
    CopyFrom(from);
    return *this;
  }
  inline AppendRowsRequest_ProtoData& operator=(AppendRowsRequest_ProtoData&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const AppendRowsRequest_ProtoData& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<AppendRowsRequest_ProtoData>(&AppendRowsRequest_ProtoData_globals_);
  }
  static constexpr int kIndexInFileMessages = 9;
  friend void swap(AppendRowsRequest_ProtoData& a, AppendRowsRequest_ProtoData& b) { a.Swap(&b); }
  inline void Swap(AppendRowsRequest_ProtoData* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(AppendRowsRequest_ProtoData* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] AppendRowsRequest_ProtoData* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<AppendRowsRequest_ProtoData>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const AppendRowsRequest_ProtoData& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const AppendRowsRequest_ProtoData& from) { AppendRowsRequest_ProtoData::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return IsInitializedImpl(*this);
  }

  private:
  static bool IsInitializedImpl(const MessageLite& msg);

  public:
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(AppendRowsRequest_ProtoData* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "google.cloud.bigquery.storage.v1.AppendRowsRequest.ProtoData"; }

  explicit AppendRowsRequest_ProtoData(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  AppendRowsRequest_ProtoData(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const AppendRowsRequest_ProtoData& from);
  AppendRowsRequest_ProtoData(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, AppendRowsRequest_ProtoData&& from) noexcept
      : AppendRowsRequest_ProtoData(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kWriterSchemaFieldNumber = 1,
    kRowsFieldNumber = 2,
  };
  // .google.cloud.bigquery.storage.v1.ProtoSchema writer_schema = 1;
  [[nodiscard]] bool has_writer_schema()
      const;
  void clear_writer_schema() ;
  [[nodiscard]] const ::google::cloud::bigquery::storage::v1::ProtoSchema& writer_schema() const;
  [[nodiscard]] ::google::cloud::bigquery::storage::v1::ProtoSchema* PROTOBUF_NULLABLE release_writer_schema();
  ::google::cloud::bigquery::storage::v1::ProtoSchema* PROTOBUF_NONNULL mutable_writer_schema();
  void set_allocated_writer_schema(::google::cloud::bigquery::storage::v1::ProtoSchema* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_writer_schema(::google::cloud::bigquery::storage::v1::ProtoSchema* PROTOBUF_NULLABLE value);
  ::google::cloud::bigquery::storage::v1::ProtoSchema* PROTOBUF_NULLABLE unsafe_arena_release_writer_schema();

  private:
  const ::google::cloud::bigquery::storage::v1::ProtoSchema& _internal_writer_schema() const;
  ::google::cloud::bigquery::storage::v1::ProtoSchema* PROTOBUF_NONNULL _internal_mutable_writer_schema();

  public:
  // .google.cloud.bigquery.storage.v1.ProtoRows rows = 2;
  [[nodiscard]] bool has_rows()
      const;
  void clear_rows() ;
  [[nodiscard]] const ::google::cloud::bigquery::storage::v1::ProtoRows& rows() const;
  [[nodiscard]] ::google::cloud::bigquery::storage::v1::ProtoRows* PROTOBUF_NULLABLE release_rows();
  ::google::cloud::bigquery::storage::v1::ProtoRows* PROTOBUF_NONNULL mutable_rows();
  void set_allocated_rows(::google::cloud::bigquery::storage::v1::ProtoRows* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_rows(::google::cloud::bigquery::storage::v1::ProtoRows* PROTOBUF_NULLABLE value);
  ::google::cloud::bigquery::storage::v1::ProtoRows* PROTOBUF_NULLABLE unsafe_arena_release_rows();

  private:
  const ::google::cloud::bigquery::storage::v1::ProtoRows& _internal_rows() const;
  ::google::cloud::bigquery::storage::v1::ProtoRows* PROTOBUF_NONNULL _internal_mutable_rows();

  public:
  // @@protoc_insertion_point(class_scope:google.cloud.bigquery.storage.v1.AppendRowsRequest.ProtoData)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<1, 2,
                          2, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const AppendRowsRequest_ProtoData& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::cloud::bigquery::storage::v1::ProtoSchema* PROTOBUF_NULLABLE writer_schema_;
    ::google::cloud::bigquery::storage::v1::ProtoRows* PROTOBUF_NULLABLE rows_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_google_2fcloud_2fbigquery_2fstorage_2fv1_2fstorage_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED AppendRowsRequest final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:google.cloud.bigquery.storage.v1.AppendRowsRequest) */ {
 public:
  inline AppendRowsRequest() : AppendRowsRequest(nullptr) {}
  ~AppendRowsRequest() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(AppendRowsRequest* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(AppendRowsRequest));
  }
#endif

  template <typename = void>
  explicit constexpr AppendRowsRequest(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline AppendRowsRequest(const AppendRowsRequest& from) : AppendRowsRequest(nullptr, from) {}
  inline AppendRowsRequest(AppendRowsRequest&& from) noexcept : AppendRowsRequest(nullptr, ::std::move(from)) {}
  inline AppendRowsRequest& operator=(const AppendRowsRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline AppendRowsRequest& operator=(AppendRowsRequest&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const AppendRowsRequest& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<AppendRowsRequest>(&AppendRowsRequest_globals_);
  }
  enum RowsCase {
    kProtoRows = 4,
    ROWS_NOT_SET = 0,
  };
  static constexpr int kIndexInFileMessages = 11;
  friend void swap(AppendRowsRequest& a, AppendRowsRequest& b) { a.Swap(&b); }
  inline void Swap(AppendRowsRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(AppendRowsRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] AppendRowsRequest* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<AppendRowsRequest>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const AppendRowsRequest& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const AppendRowsRequest& from) { AppendRowsRequest::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return IsInitializedImpl(*this);
  }

  private:
  static bool IsInitializedImpl(const MessageLite& msg);

  public:
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(AppendRowsRequest* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "google.cloud.bigquery.storage.v1.AppendRowsRequest"; }

  explicit AppendRowsRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  AppendRowsRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const AppendRowsRequest& from);
  AppendRowsRequest(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, AppendRowsRequest&& from) noexcept
      : AppendRowsRequest(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------
  using ProtoData = AppendRowsRequest_ProtoData;
  using MissingValueInterpretation = AppendRowsRequest_MissingValueInterpretation;
  static constexpr MissingValueInterpretation MISSING_VALUE_INTERPRETATION_UNSPECIFIED = AppendRowsRequest_MissingValueInterpretation_MISSING_VALUE_INTERPRETATION_UNSPECIFIED;
  static constexpr MissingValueInterpretation NULL_VALUE = AppendRowsRequest_MissingValueInterpretation_NULL_VALUE;
  static constexpr MissingValueInterpretation DEFAULT_VALUE = AppendRowsRequest_MissingValueInterpretation_DEFAULT_VALUE;
  [[nodiscard]] static inline bool MissingValueInterpretation_IsValid(int value) {
    return AppendRowsRequest_MissingValueInterpretation_IsValid(value);
  }
  static constexpr MissingValueInterpretation MissingValueInterpretation_MIN = AppendRowsRequest_MissingValueInterpretation_MissingValueInterpretation_MIN;
  static constexpr MissingValueInterpretation MissingValueInterpretation_MAX = AppendRowsRequest_MissingValueInterpretation_MissingValueInterpretation_MAX;
  static constexpr int MissingValueInterpretation_ARRAYSIZE = AppendRowsRequest_MissingValueInterpretation_MissingValueInterpretation_ARRAYSIZE;
  static inline const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL MissingValueInterpretation_descriptor() {
    return AppendRowsRequest_MissingValueInterpretation_descriptor();
  }
  template <typename T>
  [[nodiscard]] static inline const ::std::string& MissingValueInterpretation_Name(T value) {
    return AppendRowsRequest_MissingValueInterpretation_Name(value);
  }
  [[nodiscard]] static inline bool MissingValueInterpretation_Parse(
      ::absl::string_view name, MissingValueInterpretation* PROTOBUF_NONNULL value) {
    return AppendRowsRequest_MissingValueInterpretation_Parse(name, value);
  }

  // accessors -------------------------------------------------------
  enum : int {
    kWriteStreamFieldNumber = 1,
    kTraceIdFieldNumber = 6,
    kOffsetFieldNumber = 2,
    kMissingValueInterpretationsFieldNumber = 7,
    kProtoRowsFieldNumber = 4,
  };
  // string write_stream = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
  void clear_write_stream() ;
  [[nodiscard]] const ::std::string& write_stream() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_write_stream(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_write_stream();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_write_stream();
  void set_allocated_write_stream(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_write_stream() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_write_stream(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_write_stream();

  public:
  // string trace_id = 6;
  void clear_trace_id() ;
  [[nodiscard]] const ::std::string& trace_id() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_trace_id(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_trace_id();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_trace_id();
  void set_allocated_trace_id(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_trace_id() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_trace_id(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_trace_id();

  public:
  // .google.protobuf.Int64Value offset = 2;
  [[nodiscard]] bool has_offset()
      const;
  void clear_offset() ;
  [[nodiscard]] const ::google::protobuf::Int64Value& offset() const;
  [[nodiscard]] ::google::protobuf::Int64Value* PROTOBUF_NULLABLE release_offset();
  ::google::protobuf::Int64Value* PROTOBUF_NONNULL mutable_offset();
  void set_allocated_offset(::google::protobuf::Int64Value* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_offset(::google::protobuf::Int64Value* PROTOBUF_NULLABLE value);
  ::google::protobuf::Int64Value* PROTOBUF_NULLABLE unsafe_arena_release_offset();

  private:
  const ::google::protobuf::Int64Value& _internal_offset() const;
  ::google::protobuf::Int64Value* PROTOBUF_NONNULL _internal_mutable_offset();

  public:
  // map<string, .google.cloud.bigquery.storage.v1.AppendRowsRequest.MissingValueInterpretation> missing_value_interpretations = 7;
  [[nodiscard]] int missing_value_interpretations_size()
      const;
  private:
  int _internal_missing_value_interpretations_size() const;

  public:
  void clear_missing_value_interpretations() ;
  [[nodiscard]] const ::google::protobuf::Map<::std::string, ::google::cloud::bigquery::storage::v1::AppendRowsRequest_MissingValueInterpretation>& missing_value_interpretations() const;
  [[nodiscard]] ::google::protobuf::Map<::std::string, ::google::cloud::bigquery::storage::v1::AppendRowsRequest_MissingValueInterpretation>* PROTOBUF_NONNULL mutable_missing_value_interpretations();

  private:
  const ::google::protobuf::Map<::std::string, ::google::cloud::bigquery::storage::v1::AppendRowsRequest_MissingValueInterpretation>& _internal_missing_value_interpretations() const;
  ::google::protobuf::Map<::std::string, ::google::cloud::bigquery::storage::v1::AppendRowsRequest_MissingValueInterpretation>* PROTOBUF_NONNULL _internal_mutable_missing_value_interpretations();

  public:
  // .google.cloud.bigquery.storage.v1.AppendRowsRequest.ProtoData proto_rows = 4;
  [[nodiscard]] bool has_proto_rows()
      const;
  private:
  bool _internal_has_proto_rows() const;

  public:
  void clear_proto_rows() ;
  [[nodiscard]] const ::google::cloud::bigquery::storage::v1::AppendRowsRequest_ProtoData& proto_rows() const;
  [[nodiscard]] ::google::cloud::bigquery::storage::v1::AppendRowsRequest_ProtoData* PROTOBUF_NULLABLE release_proto_rows();
  ::google::cloud::bigquery::storage::v1::AppendRowsRequest_ProtoData* PROTOBUF_NONNULL mutable_proto_rows();
  void set_allocated_proto_rows(::google::cloud::bigquery::storage::v1::AppendRowsRequest_ProtoData* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_proto_rows(::google::cloud::bigquery::storage::v1::AppendRowsRequest_ProtoData* PROTOBUF_NULLABLE value);
  ::google::cloud::bigquery::storage::v1::AppendRowsRequest_ProtoData* PROTOBUF_NULLABLE unsafe_arena_release_proto_rows();

  private:
  const ::google::cloud::bigquery::storage::v1::AppendRowsRequest_ProtoData& _internal_proto_rows() const;
  ::google::cloud::bigquery::storage::v1::AppendRowsRequest_ProtoData* PROTOBUF_NONNULL _internal_mutable_proto_rows();

  public:
  void clear_rows();
  RowsCase rows_case() const;
  // @@protoc_insertion_point(class_scope:google.cloud.bigquery.storage.v1.AppendRowsRequest)
 private:
  class _Internal;
  void set_has_proto_rows();
  [[nodiscard]] inline bool has_rows() const;
  inline void clear_has_rows();
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<3, 5,
                          3, 108,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const AppendRowsRequest& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr write_stream_;
    ::google::protobuf::internal::ArenaStringPtr trace_id_;
    ::google::protobuf::Int64Value* PROTOBUF_NULLABLE offset_;
    ::google::protobuf::internal::MapField<AppendRowsRequest_MissingValueInterpretationsEntry_DoNotUse, ::std::string, ::google::cloud::bigquery::storage::v1::AppendRowsRequest_MissingValueInterpretation> missing_value_interpretations_;
    union RowsUnion {
      constexpr RowsUnion() : _constinit_{} {}
      ::google::protobuf::internal::ConstantInitialized _constinit_;
      ::google::cloud::bigquery::storage::v1::AppendRowsRequest_ProtoData* PROTOBUF_NULLABLE proto_rows_;
    } rows_;
    ::uint32_t _oneof_case_[1];
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_google_2fcloud_2fbigquery_2fstorage_2fv1_2fstorage_2eproto;
};

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




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


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

// CreateReadSessionRequest

// string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
inline void CreateReadSessionRequest::clear_parent() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.parent_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::std::string& CreateReadSessionRequest::parent() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.cloud.bigquery.storage.v1.CreateReadSessionRequest.parent)
  return _internal_parent();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void CreateReadSessionRequest::set_parent(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.parent_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:google.cloud.bigquery.storage.v1.CreateReadSessionRequest.parent)
}
inline ::std::string* PROTOBUF_NONNULL CreateReadSessionRequest::mutable_parent()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_parent();
  // @@protoc_insertion_point(field_mutable:google.cloud.bigquery.storage.v1.CreateReadSessionRequest.parent)
  return _s;
}
inline const ::std::string& CreateReadSessionRequest::_internal_parent() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.parent_.Get();
}
inline void CreateReadSessionRequest::_internal_set_parent(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.parent_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL CreateReadSessionRequest::_internal_mutable_parent() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.parent_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE CreateReadSessionRequest::release_parent() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.cloud.bigquery.storage.v1.CreateReadSessionRequest.parent)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.parent_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.parent_.Set("", GetArena());
  }
  return released;
}
inline void CreateReadSessionRequest::set_allocated_parent(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.parent_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.parent_.IsDefault()) {
    _impl_.parent_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:google.cloud.bigquery.storage.v1.CreateReadSessionRequest.parent)
}

// .google.cloud.bigquery.storage.v1.ReadSession read_session = 2 [(.google.api.field_behavior) = REQUIRED];
inline bool CreateReadSessionRequest::has_read_session() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U);
  PROTOBUF_ASSUME(!value || _impl_.read_session_ != nullptr);
  return value;
}
inline const ::google::cloud::bigquery::storage::v1::ReadSession& CreateReadSessionRequest::_internal_read_session() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::google::cloud::bigquery::storage::v1::ReadSession* p = _impl_.read_session_;
  return p != nullptr ? *p : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::google::cloud::bigquery::storage::v1::ReadSession>(&::google::cloud::bigquery::storage::v1::ReadSession_globals_);
}
inline const ::google::cloud::bigquery::storage::v1::ReadSession& CreateReadSessionRequest::read_session() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.cloud.bigquery.storage.v1.CreateReadSessionRequest.read_session)
  return _internal_read_session();
}
inline void CreateReadSessionRequest::unsafe_arena_set_allocated_read_session(
    ::google::cloud::bigquery::storage::v1::ReadSession* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.read_session_);
  }
  _impl_.read_session_ = reinterpret_cast<::google::cloud::bigquery::storage::v1::ReadSession*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.cloud.bigquery.storage.v1.CreateReadSessionRequest.read_session)
}
inline ::google::cloud::bigquery::storage::v1::ReadSession* PROTOBUF_NULLABLE CreateReadSessionRequest::release_read_session() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::google::cloud::bigquery::storage::v1::ReadSession* released = _impl_.read_session_;
  _impl_.read_session_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::google::cloud::bigquery::storage::v1::ReadSession* PROTOBUF_NULLABLE CreateReadSessionRequest::unsafe_arena_release_read_session() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.cloud.bigquery.storage.v1.CreateReadSessionRequest.read_session)

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::google::cloud::bigquery::storage::v1::ReadSession* temp = _impl_.read_session_;
  _impl_.read_session_ = nullptr;
  return temp;
}
inline ::google::cloud::bigquery::storage::v1::ReadSession* PROTOBUF_NONNULL CreateReadSessionRequest::_internal_mutable_read_session() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.read_session_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::google::cloud::bigquery::storage::v1::ReadSession>(GetArena());
    _impl_.read_session_ = reinterpret_cast<::google::cloud::bigquery::storage::v1::ReadSession*>(p);
  }
  return _impl_.read_session_;
}
inline ::google::cloud::bigquery::storage::v1::ReadSession* PROTOBUF_NONNULL CreateReadSessionRequest::mutable_read_session()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::google::cloud::bigquery::storage::v1::ReadSession* _msg = _internal_mutable_read_session();
  // @@protoc_insertion_point(field_mutable:google.cloud.bigquery.storage.v1.CreateReadSessionRequest.read_session)
  return _msg;
}
inline void CreateReadSessionRequest::set_allocated_read_session(::google::cloud::bigquery::storage::v1::ReadSession* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.read_session_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::Message*>(value)->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }

  _impl_.read_session_ = reinterpret_cast<::google::cloud::bigquery::storage::v1::ReadSession*>(value);
  // @@protoc_insertion_point(field_set_allocated:google.cloud.bigquery.storage.v1.CreateReadSessionRequest.read_session)
}

// int32 max_stream_count = 3;
inline void CreateReadSessionRequest::clear_max_stream_count() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.max_stream_count_ = 0;
  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
}
inline ::int32_t CreateReadSessionRequest::max_stream_count() const {
  // @@protoc_insertion_point(field_get:google.cloud.bigquery.storage.v1.CreateReadSessionRequest.max_stream_count)
  return _internal_max_stream_count();
}
inline void CreateReadSessionRequest::set_max_stream_count(::int32_t value) {
  _internal_set_max_stream_count(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  // @@protoc_insertion_point(field_set:google.cloud.bigquery.storage.v1.CreateReadSessionRequest.max_stream_count)
}
inline ::int32_t CreateReadSessionRequest::_internal_max_stream_count() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.max_stream_count_;
}
inline void CreateReadSessionRequest::_internal_set_max_stream_count(::int32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.max_stream_count_ = value;
}

// int32 preferred_min_stream_count = 4;
inline void CreateReadSessionRequest::clear_preferred_min_stream_count() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.preferred_min_stream_count_ = 0;
  ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
}
inline ::int32_t CreateReadSessionRequest::preferred_min_stream_count() const {
  // @@protoc_insertion_point(field_get:google.cloud.bigquery.storage.v1.CreateReadSessionRequest.preferred_min_stream_count)
  return _internal_preferred_min_stream_count();
}
inline void CreateReadSessionRequest::set_preferred_min_stream_count(::int32_t value) {
  _internal_set_preferred_min_stream_count(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  // @@protoc_insertion_point(field_set:google.cloud.bigquery.storage.v1.CreateReadSessionRequest.preferred_min_stream_count)
}
inline ::int32_t CreateReadSessionRequest::_internal_preferred_min_stream_count() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.preferred_min_stream_count_;
}
inline void CreateReadSessionRequest::_internal_set_preferred_min_stream_count(::int32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.preferred_min_stream_count_ = value;
}

// -------------------------------------------------------------------

// ReadRowsRequest

// string read_stream = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
inline void ReadRowsRequest::clear_read_stream() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.read_stream_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::std::string& ReadRowsRequest::read_stream() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.cloud.bigquery.storage.v1.ReadRowsRequest.read_stream)
  return _internal_read_stream();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void ReadRowsRequest::set_read_stream(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.read_stream_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:google.cloud.bigquery.storage.v1.ReadRowsRequest.read_stream)
}
inline ::std::string* PROTOBUF_NONNULL ReadRowsRequest::mutable_read_stream()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_read_stream();
  // @@protoc_insertion_point(field_mutable:google.cloud.bigquery.storage.v1.ReadRowsRequest.read_stream)
  return _s;
}
inline const ::std::string& ReadRowsRequest::_internal_read_stream() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.read_stream_.Get();
}
inline void ReadRowsRequest::_internal_set_read_stream(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.read_stream_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL ReadRowsRequest::_internal_mutable_read_stream() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.read_stream_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE ReadRowsRequest::release_read_stream() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.cloud.bigquery.storage.v1.ReadRowsRequest.read_stream)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.read_stream_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.read_stream_.Set("", GetArena());
  }
  return released;
}
inline void ReadRowsRequest::set_allocated_read_stream(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.read_stream_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.read_stream_.IsDefault()) {
    _impl_.read_stream_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:google.cloud.bigquery.storage.v1.ReadRowsRequest.read_stream)
}

// int64 offset = 2;
inline void ReadRowsRequest::clear_offset() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.offset_ = ::int64_t{0};
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline ::int64_t ReadRowsRequest::offset() const {
  // @@protoc_insertion_point(field_get:google.cloud.bigquery.storage.v1.ReadRowsRequest.offset)
  return _internal_offset();
}
inline void ReadRowsRequest::set_offset(::int64_t value) {
  _internal_set_offset(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_set:google.cloud.bigquery.storage.v1.ReadRowsRequest.offset)
}
inline ::int64_t ReadRowsRequest::_internal_offset() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.offset_;
}
inline void ReadRowsRequest::_internal_set_offset(::int64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.offset_ = value;
}

// -------------------------------------------------------------------

// ThrottleState

// int32 throttle_percent = 1;
inline void ThrottleState::clear_throttle_percent() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.throttle_percent_ = 0;
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline ::int32_t ThrottleState::throttle_percent() const {
  // @@protoc_insertion_point(field_get:google.cloud.bigquery.storage.v1.ThrottleState.throttle_percent)
  return _internal_throttle_percent();
}
inline void ThrottleState::set_throttle_percent(::int32_t value) {
  _internal_set_throttle_percent(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_set:google.cloud.bigquery.storage.v1.ThrottleState.throttle_percent)
}
inline ::int32_t ThrottleState::_internal_throttle_percent() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.throttle_percent_;
}
inline void ThrottleState::_internal_set_throttle_percent(::int32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.throttle_percent_ = value;
}

// -------------------------------------------------------------------

// StreamStats_Progress

// double at_response_start = 1;
inline void StreamStats_Progress::clear_at_response_start() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.at_response_start_ = 0;
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline double StreamStats_Progress::at_response_start() const {
  // @@protoc_insertion_point(field_get:google.cloud.bigquery.storage.v1.StreamStats.Progress.at_response_start)
  return _internal_at_response_start();
}
inline void StreamStats_Progress::set_at_response_start(double value) {
  _internal_set_at_response_start(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_set:google.cloud.bigquery.storage.v1.StreamStats.Progress.at_response_start)
}
inline double StreamStats_Progress::_internal_at_response_start() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.at_response_start_;
}
inline void StreamStats_Progress::_internal_set_at_response_start(double value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.at_response_start_ = value;
}

// double at_response_end = 2;
inline void StreamStats_Progress::clear_at_response_end() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.at_response_end_ = 0;
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline double StreamStats_Progress::at_response_end() const {
  // @@protoc_insertion_point(field_get:google.cloud.bigquery.storage.v1.StreamStats.Progress.at_response_end)
  return _internal_at_response_end();
}
inline void StreamStats_Progress::set_at_response_end(double value) {
  _internal_set_at_response_end(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_set:google.cloud.bigquery.storage.v1.StreamStats.Progress.at_response_end)
}
inline double StreamStats_Progress::_internal_at_response_end() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.at_response_end_;
}
inline void StreamStats_Progress::_internal_set_at_response_end(double value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.at_response_end_ = value;
}

// -------------------------------------------------------------------

// StreamStats

// .google.cloud.bigquery.storage.v1.StreamStats.Progress progress = 2;
inline bool StreamStats::has_progress() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U);
  PROTOBUF_ASSUME(!value || _impl_.progress_ != nullptr);
  return value;
}
inline void StreamStats::clear_progress() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.progress_ != nullptr) _impl_.progress_->Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::google::cloud::bigquery::storage::v1::StreamStats_Progress& StreamStats::_internal_progress() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::google::cloud::bigquery::storage::v1::StreamStats_Progress* p = _impl_.progress_;
  return p != nullptr ? *p : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::google::cloud::bigquery::storage::v1::StreamStats_Progress>(&::google::cloud::bigquery::storage::v1::StreamStats_Progress_globals_);
}
inline const ::google::cloud::bigquery::storage::v1::StreamStats_Progress& StreamStats::progress() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.cloud.bigquery.storage.v1.StreamStats.progress)
  return _internal_progress();
}
inline void StreamStats::unsafe_arena_set_allocated_progress(
    ::google::cloud::bigquery::storage::v1::StreamStats_Progress* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.progress_);
  }
  _impl_.progress_ = reinterpret_cast<::google::cloud::bigquery::storage::v1::StreamStats_Progress*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.cloud.bigquery.storage.v1.StreamStats.progress)
}
inline ::google::cloud::bigquery::storage::v1::StreamStats_Progress* PROTOBUF_NULLABLE StreamStats::release_progress() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::google::cloud::bigquery::storage::v1::StreamStats_Progress* released = _impl_.progress_;
  _impl_.progress_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::google::cloud::bigquery::storage::v1::StreamStats_Progress* PROTOBUF_NULLABLE StreamStats::unsafe_arena_release_progress() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.cloud.bigquery.storage.v1.StreamStats.progress)

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::google::cloud::bigquery::storage::v1::StreamStats_Progress* temp = _impl_.progress_;
  _impl_.progress_ = nullptr;
  return temp;
}
inline ::google::cloud::bigquery::storage::v1::StreamStats_Progress* PROTOBUF_NONNULL StreamStats::_internal_mutable_progress() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.progress_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::google::cloud::bigquery::storage::v1::StreamStats_Progress>(GetArena());
    _impl_.progress_ = reinterpret_cast<::google::cloud::bigquery::storage::v1::StreamStats_Progress*>(p);
  }
  return _impl_.progress_;
}
inline ::google::cloud::bigquery::storage::v1::StreamStats_Progress* PROTOBUF_NONNULL StreamStats::mutable_progress()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::google::cloud::bigquery::storage::v1::StreamStats_Progress* _msg = _internal_mutable_progress();
  // @@protoc_insertion_point(field_mutable:google.cloud.bigquery.storage.v1.StreamStats.progress)
  return _msg;
}
inline void StreamStats::set_allocated_progress(::google::cloud::bigquery::storage::v1::StreamStats_Progress* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.progress_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }

  _impl_.progress_ = reinterpret_cast<::google::cloud::bigquery::storage::v1::StreamStats_Progress*>(value);
  // @@protoc_insertion_point(field_set_allocated:google.cloud.bigquery.storage.v1.StreamStats.progress)
}

// -------------------------------------------------------------------

// ReadRowsResponse

// .google.cloud.bigquery.storage.v1.AvroRows avro_rows = 3;
inline bool ReadRowsResponse::has_avro_rows() const {
  return rows_case() == kAvroRows;
}
inline bool ReadRowsResponse::_internal_has_avro_rows() const {
  return rows_case() == kAvroRows;
}
inline void ReadRowsResponse::set_has_avro_rows() {
  _impl_._oneof_case_[0] = kAvroRows;
}
inline ::google::cloud::bigquery::storage::v1::AvroRows* PROTOBUF_NULLABLE ReadRowsResponse::release_avro_rows() {
  // @@protoc_insertion_point(field_release:google.cloud.bigquery.storage.v1.ReadRowsResponse.avro_rows)
  if (rows_case() == kAvroRows) {
    clear_has_rows();
    auto* temp = _impl_.rows_.avro_rows_;
    if (GetArena() != nullptr) {
      temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
    }
    _impl_.rows_.avro_rows_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::google::cloud::bigquery::storage::v1::AvroRows& ReadRowsResponse::_internal_avro_rows() const {
  return rows_case() == kAvroRows ? static_cast<const ::google::cloud::bigquery::storage::v1::AvroRows&>(*_impl_.rows_.avro_rows_)
                     : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::google::cloud::bigquery::storage::v1::AvroRows>(&::google::cloud::bigquery::storage::v1::AvroRows_globals_);
}
inline const ::google::cloud::bigquery::storage::v1::AvroRows& ReadRowsResponse::avro_rows() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.cloud.bigquery.storage.v1.ReadRowsResponse.avro_rows)
  return _internal_avro_rows();
}
inline ::google::cloud::bigquery::storage::v1::AvroRows* PROTOBUF_NULLABLE ReadRowsResponse::unsafe_arena_release_avro_rows() {
  // @@protoc_insertion_point(field_unsafe_arena_release:google.cloud.bigquery.storage.v1.ReadRowsResponse.avro_rows)
  if (rows_case() == kAvroRows) {
    clear_has_rows();
    auto* temp = _impl_.rows_.avro_rows_;
    _impl_.rows_.avro_rows_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void ReadRowsResponse::unsafe_arena_set_allocated_avro_rows(
    ::google::cloud::bigquery::storage::v1::AvroRows* PROTOBUF_NULLABLE value) {
  // We rely on the oneof clear method to free the earlier contents
  // of this oneof. We can directly use the pointer we're given to
  // set the new value.
  clear_rows();
  if (value) {
    set_has_avro_rows();
    _impl_.rows_.avro_rows_ = value;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.cloud.bigquery.storage.v1.ReadRowsResponse.avro_rows)
}
inline ::google::cloud::bigquery::storage::v1::AvroRows* PROTOBUF_NONNULL ReadRowsResponse::_internal_mutable_avro_rows() {
  if (rows_case() != kAvroRows) {
    clear_rows();
    set_has_avro_rows();
    _impl_.rows_.avro_rows_ = 
        ::google::protobuf::Message::DefaultConstruct<::google::cloud::bigquery::storage::v1::AvroRows>(GetArena());
  }
  return _impl_.rows_.avro_rows_;
}
inline ::google::cloud::bigquery::storage::v1::AvroRows* PROTOBUF_NONNULL ReadRowsResponse::mutable_avro_rows()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::cloud::bigquery::storage::v1::AvroRows* _msg = _internal_mutable_avro_rows();
  // @@protoc_insertion_point(field_mutable:google.cloud.bigquery.storage.v1.ReadRowsResponse.avro_rows)
  return _msg;
}

// .google.cloud.bigquery.storage.v1.ArrowRecordBatch arrow_record_batch = 4;
inline bool ReadRowsResponse::has_arrow_record_batch() const {
  return rows_case() == kArrowRecordBatch;
}
inline bool ReadRowsResponse::_internal_has_arrow_record_batch() const {
  return rows_case() == kArrowRecordBatch;
}
inline void ReadRowsResponse::set_has_arrow_record_batch() {
  _impl_._oneof_case_[0] = kArrowRecordBatch;
}
inline ::google::cloud::bigquery::storage::v1::ArrowRecordBatch* PROTOBUF_NULLABLE ReadRowsResponse::release_arrow_record_batch() {
  // @@protoc_insertion_point(field_release:google.cloud.bigquery.storage.v1.ReadRowsResponse.arrow_record_batch)
  if (rows_case() == kArrowRecordBatch) {
    clear_has_rows();
    auto* temp = _impl_.rows_.arrow_record_batch_;
    if (GetArena() != nullptr) {
      temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
    }
    _impl_.rows_.arrow_record_batch_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::google::cloud::bigquery::storage::v1::ArrowRecordBatch& ReadRowsResponse::_internal_arrow_record_batch() const {
  return rows_case() == kArrowRecordBatch ? static_cast<const ::google::cloud::bigquery::storage::v1::ArrowRecordBatch&>(*_impl_.rows_.arrow_record_batch_)
                     : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::google::cloud::bigquery::storage::v1::ArrowRecordBatch>(&::google::cloud::bigquery::storage::v1::ArrowRecordBatch_globals_);
}
inline const ::google::cloud::bigquery::storage::v1::ArrowRecordBatch& ReadRowsResponse::arrow_record_batch() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.cloud.bigquery.storage.v1.ReadRowsResponse.arrow_record_batch)
  return _internal_arrow_record_batch();
}
inline ::google::cloud::bigquery::storage::v1::ArrowRecordBatch* PROTOBUF_NULLABLE ReadRowsResponse::unsafe_arena_release_arrow_record_batch() {
  // @@protoc_insertion_point(field_unsafe_arena_release:google.cloud.bigquery.storage.v1.ReadRowsResponse.arrow_record_batch)
  if (rows_case() == kArrowRecordBatch) {
    clear_has_rows();
    auto* temp = _impl_.rows_.arrow_record_batch_;
    _impl_.rows_.arrow_record_batch_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void ReadRowsResponse::unsafe_arena_set_allocated_arrow_record_batch(
    ::google::cloud::bigquery::storage::v1::ArrowRecordBatch* PROTOBUF_NULLABLE value) {
  // We rely on the oneof clear method to free the earlier contents
  // of this oneof. We can directly use the pointer we're given to
  // set the new value.
  clear_rows();
  if (value) {
    set_has_arrow_record_batch();
    _impl_.rows_.arrow_record_batch_ = value;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.cloud.bigquery.storage.v1.ReadRowsResponse.arrow_record_batch)
}
inline ::google::cloud::bigquery::storage::v1::ArrowRecordBatch* PROTOBUF_NONNULL ReadRowsResponse::_internal_mutable_arrow_record_batch() {
  if (rows_case() != kArrowRecordBatch) {
    clear_rows();
    set_has_arrow_record_batch();
    _impl_.rows_.arrow_record_batch_ = 
        ::google::protobuf::Message::DefaultConstruct<::google::cloud::bigquery::storage::v1::ArrowRecordBatch>(GetArena());
  }
  return _impl_.rows_.arrow_record_batch_;
}
inline ::google::cloud::bigquery::storage::v1::ArrowRecordBatch* PROTOBUF_NONNULL ReadRowsResponse::mutable_arrow_record_batch()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::cloud::bigquery::storage::v1::ArrowRecordBatch* _msg = _internal_mutable_arrow_record_batch();
  // @@protoc_insertion_point(field_mutable:google.cloud.bigquery.storage.v1.ReadRowsResponse.arrow_record_batch)
  return _msg;
}

// int64 row_count = 6;
inline void ReadRowsResponse::clear_row_count() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.row_count_ = ::int64_t{0};
  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
}
inline ::int64_t ReadRowsResponse::row_count() const {
  // @@protoc_insertion_point(field_get:google.cloud.bigquery.storage.v1.ReadRowsResponse.row_count)
  return _internal_row_count();
}
inline void ReadRowsResponse::set_row_count(::int64_t value) {
  _internal_set_row_count(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  // @@protoc_insertion_point(field_set:google.cloud.bigquery.storage.v1.ReadRowsResponse.row_count)
}
inline ::int64_t ReadRowsResponse::_internal_row_count() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.row_count_;
}
inline void ReadRowsResponse::_internal_set_row_count(::int64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.row_count_ = value;
}

// .google.cloud.bigquery.storage.v1.StreamStats stats = 2;
inline bool ReadRowsResponse::has_stats() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U);
  PROTOBUF_ASSUME(!value || _impl_.stats_ != nullptr);
  return value;
}
inline void ReadRowsResponse::clear_stats() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.stats_ != nullptr) _impl_.stats_->Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::google::cloud::bigquery::storage::v1::StreamStats& ReadRowsResponse::_internal_stats() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::google::cloud::bigquery::storage::v1::StreamStats* p = _impl_.stats_;
  return p != nullptr ? *p : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::google::cloud::bigquery::storage::v1::StreamStats>(&::google::cloud::bigquery::storage::v1::StreamStats_globals_);
}
inline const ::google::cloud::bigquery::storage::v1::StreamStats& ReadRowsResponse::stats() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.cloud.bigquery.storage.v1.ReadRowsResponse.stats)
  return _internal_stats();
}
inline void ReadRowsResponse::unsafe_arena_set_allocated_stats(
    ::google::cloud::bigquery::storage::v1::StreamStats* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.stats_);
  }
  _impl_.stats_ = reinterpret_cast<::google::cloud::bigquery::storage::v1::StreamStats*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.cloud.bigquery.storage.v1.ReadRowsResponse.stats)
}
inline ::google::cloud::bigquery::storage::v1::StreamStats* PROTOBUF_NULLABLE ReadRowsResponse::release_stats() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::google::cloud::bigquery::storage::v1::StreamStats* released = _impl_.stats_;
  _impl_.stats_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::google::cloud::bigquery::storage::v1::StreamStats* PROTOBUF_NULLABLE ReadRowsResponse::unsafe_arena_release_stats() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.cloud.bigquery.storage.v1.ReadRowsResponse.stats)

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::google::cloud::bigquery::storage::v1::StreamStats* temp = _impl_.stats_;
  _impl_.stats_ = nullptr;
  return temp;
}
inline ::google::cloud::bigquery::storage::v1::StreamStats* PROTOBUF_NONNULL ReadRowsResponse::_internal_mutable_stats() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.stats_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::google::cloud::bigquery::storage::v1::StreamStats>(GetArena());
    _impl_.stats_ = reinterpret_cast<::google::cloud::bigquery::storage::v1::StreamStats*>(p);
  }
  return _impl_.stats_;
}
inline ::google::cloud::bigquery::storage::v1::StreamStats* PROTOBUF_NONNULL ReadRowsResponse::mutable_stats()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::google::cloud::bigquery::storage::v1::StreamStats* _msg = _internal_mutable_stats();
  // @@protoc_insertion_point(field_mutable:google.cloud.bigquery.storage.v1.ReadRowsResponse.stats)
  return _msg;
}
inline void ReadRowsResponse::set_allocated_stats(::google::cloud::bigquery::storage::v1::StreamStats* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.stats_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }

  _impl_.stats_ = reinterpret_cast<::google::cloud::bigquery::storage::v1::StreamStats*>(value);
  // @@protoc_insertion_point(field_set_allocated:google.cloud.bigquery.storage.v1.ReadRowsResponse.stats)
}

// .google.cloud.bigquery.storage.v1.ThrottleState throttle_state = 5;
inline bool ReadRowsResponse::has_throttle_state() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U);
  PROTOBUF_ASSUME(!value || _impl_.throttle_state_ != nullptr);
  return value;
}
inline void ReadRowsResponse::clear_throttle_state() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.throttle_state_ != nullptr) _impl_.throttle_state_->Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline const ::google::cloud::bigquery::storage::v1::ThrottleState& ReadRowsResponse::_internal_throttle_state() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::google::cloud::bigquery::storage::v1::ThrottleState* p = _impl_.throttle_state_;
  return p != nullptr ? *p : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::google::cloud::bigquery::storage::v1::ThrottleState>(&::google::cloud::bigquery::storage::v1::ThrottleState_globals_);
}
inline const ::google::cloud::bigquery::storage::v1::ThrottleState& ReadRowsResponse::throttle_state() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.cloud.bigquery.storage.v1.ReadRowsResponse.throttle_state)
  return _internal_throttle_state();
}
inline void ReadRowsResponse::unsafe_arena_set_allocated_throttle_state(
    ::google::cloud::bigquery::storage::v1::ThrottleState* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.throttle_state_);
  }
  _impl_.throttle_state_ = reinterpret_cast<::google::cloud::bigquery::storage::v1::ThrottleState*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.cloud.bigquery.storage.v1.ReadRowsResponse.throttle_state)
}
inline ::google::cloud::bigquery::storage::v1::ThrottleState* PROTOBUF_NULLABLE ReadRowsResponse::release_throttle_state() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::google::cloud::bigquery::storage::v1::ThrottleState* released = _impl_.throttle_state_;
  _impl_.throttle_state_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::google::cloud::bigquery::storage::v1::ThrottleState* PROTOBUF_NULLABLE ReadRowsResponse::unsafe_arena_release_throttle_state() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.cloud.bigquery.storage.v1.ReadRowsResponse.throttle_state)

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::google::cloud::bigquery::storage::v1::ThrottleState* temp = _impl_.throttle_state_;
  _impl_.throttle_state_ = nullptr;
  return temp;
}
inline ::google::cloud::bigquery::storage::v1::ThrottleState* PROTOBUF_NONNULL ReadRowsResponse::_internal_mutable_throttle_state() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.throttle_state_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::google::cloud::bigquery::storage::v1::ThrottleState>(GetArena());
    _impl_.throttle_state_ = reinterpret_cast<::google::cloud::bigquery::storage::v1::ThrottleState*>(p);
  }
  return _impl_.throttle_state_;
}
inline ::google::cloud::bigquery::storage::v1::ThrottleState* PROTOBUF_NONNULL ReadRowsResponse::mutable_throttle_state()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::google::cloud::bigquery::storage::v1::ThrottleState* _msg = _internal_mutable_throttle_state();
  // @@protoc_insertion_point(field_mutable:google.cloud.bigquery.storage.v1.ReadRowsResponse.throttle_state)
  return _msg;
}
inline void ReadRowsResponse::set_allocated_throttle_state(::google::cloud::bigquery::storage::v1::ThrottleState* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.throttle_state_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }

  _impl_.throttle_state_ = reinterpret_cast<::google::cloud::bigquery::storage::v1::ThrottleState*>(value);
  // @@protoc_insertion_point(field_set_allocated:google.cloud.bigquery.storage.v1.ReadRowsResponse.throttle_state)
}

// .google.cloud.bigquery.storage.v1.AvroSchema avro_schema = 7 [(.google.api.field_behavior) = OUTPUT_ONLY];
inline bool ReadRowsResponse::has_avro_schema() const {
  return schema_case() == kAvroSchema;
}
inline bool ReadRowsResponse::_internal_has_avro_schema() const {
  return schema_case() == kAvroSchema;
}
inline void ReadRowsResponse::set_has_avro_schema() {
  _impl_._oneof_case_[1] = kAvroSchema;
}
inline ::google::cloud::bigquery::storage::v1::AvroSchema* PROTOBUF_NULLABLE ReadRowsResponse::release_avro_schema() {
  // @@protoc_insertion_point(field_release:google.cloud.bigquery.storage.v1.ReadRowsResponse.avro_schema)
  if (schema_case() == kAvroSchema) {
    clear_has_schema();
    auto* temp = _impl_.schema_.avro_schema_;
    if (GetArena() != nullptr) {
      temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
    }
    _impl_.schema_.avro_schema_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::google::cloud::bigquery::storage::v1::AvroSchema& ReadRowsResponse::_internal_avro_schema() const {
  return schema_case() == kAvroSchema ? static_cast<const ::google::cloud::bigquery::storage::v1::AvroSchema&>(*_impl_.schema_.avro_schema_)
                     : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::google::cloud::bigquery::storage::v1::AvroSchema>(&::google::cloud::bigquery::storage::v1::AvroSchema_globals_);
}
inline const ::google::cloud::bigquery::storage::v1::AvroSchema& ReadRowsResponse::avro_schema() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.cloud.bigquery.storage.v1.ReadRowsResponse.avro_schema)
  return _internal_avro_schema();
}
inline ::google::cloud::bigquery::storage::v1::AvroSchema* PROTOBUF_NULLABLE ReadRowsResponse::unsafe_arena_release_avro_schema() {
  // @@protoc_insertion_point(field_unsafe_arena_release:google.cloud.bigquery.storage.v1.ReadRowsResponse.avro_schema)
  if (schema_case() == kAvroSchema) {
    clear_has_schema();
    auto* temp = _impl_.schema_.avro_schema_;
    _impl_.schema_.avro_schema_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void ReadRowsResponse::unsafe_arena_set_allocated_avro_schema(
    ::google::cloud::bigquery::storage::v1::AvroSchema* PROTOBUF_NULLABLE value) {
  // We rely on the oneof clear method to free the earlier contents
  // of this oneof. We can directly use the pointer we're given to
  // set the new value.
  clear_schema();
  if (value) {
    set_has_avro_schema();
    _impl_.schema_.avro_schema_ = value;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.cloud.bigquery.storage.v1.ReadRowsResponse.avro_schema)
}
inline ::google::cloud::bigquery::storage::v1::AvroSchema* PROTOBUF_NONNULL ReadRowsResponse::_internal_mutable_avro_schema() {
  if (schema_case() != kAvroSchema) {
    clear_schema();
    set_has_avro_schema();
    _impl_.schema_.avro_schema_ = 
        ::google::protobuf::Message::DefaultConstruct<::google::cloud::bigquery::storage::v1::AvroSchema>(GetArena());
  }
  return _impl_.schema_.avro_schema_;
}
inline ::google::cloud::bigquery::storage::v1::AvroSchema* PROTOBUF_NONNULL ReadRowsResponse::mutable_avro_schema()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::cloud::bigquery::storage::v1::AvroSchema* _msg = _internal_mutable_avro_schema();
  // @@protoc_insertion_point(field_mutable:google.cloud.bigquery.storage.v1.ReadRowsResponse.avro_schema)
  return _msg;
}

// .google.cloud.bigquery.storage.v1.ArrowSchema arrow_schema = 8 [(.google.api.field_behavior) = OUTPUT_ONLY];
inline bool ReadRowsResponse::has_arrow_schema() const {
  return schema_case() == kArrowSchema;
}
inline bool ReadRowsResponse::_internal_has_arrow_schema() const {
  return schema_case() == kArrowSchema;
}
inline void ReadRowsResponse::set_has_arrow_schema() {
  _impl_._oneof_case_[1] = kArrowSchema;
}
inline ::google::cloud::bigquery::storage::v1::ArrowSchema* PROTOBUF_NULLABLE ReadRowsResponse::release_arrow_schema() {
  // @@protoc_insertion_point(field_release:google.cloud.bigquery.storage.v1.ReadRowsResponse.arrow_schema)
  if (schema_case() == kArrowSchema) {
    clear_has_schema();
    auto* temp = _impl_.schema_.arrow_schema_;
    if (GetArena() != nullptr) {
      temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
    }
    _impl_.schema_.arrow_schema_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::google::cloud::bigquery::storage::v1::ArrowSchema& ReadRowsResponse::_internal_arrow_schema() const {
  return schema_case() == kArrowSchema ? static_cast<const ::google::cloud::bigquery::storage::v1::ArrowSchema&>(*_impl_.schema_.arrow_schema_)
                     : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::google::cloud::bigquery::storage::v1::ArrowSchema>(&::google::cloud::bigquery::storage::v1::ArrowSchema_globals_);
}
inline const ::google::cloud::bigquery::storage::v1::ArrowSchema& ReadRowsResponse::arrow_schema() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.cloud.bigquery.storage.v1.ReadRowsResponse.arrow_schema)
  return _internal_arrow_schema();
}
inline ::google::cloud::bigquery::storage::v1::ArrowSchema* PROTOBUF_NULLABLE ReadRowsResponse::unsafe_arena_release_arrow_schema() {
  // @@protoc_insertion_point(field_unsafe_arena_release:google.cloud.bigquery.storage.v1.ReadRowsResponse.arrow_schema)
  if (schema_case() == kArrowSchema) {
    clear_has_schema();
    auto* temp = _impl_.schema_.arrow_schema_;
    _impl_.schema_.arrow_schema_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void ReadRowsResponse::unsafe_arena_set_allocated_arrow_schema(
    ::google::cloud::bigquery::storage::v1::ArrowSchema* PROTOBUF_NULLABLE value) {
  // We rely on the oneof clear method to free the earlier contents
  // of this oneof. We can directly use the pointer we're given to
  // set the new value.
  clear_schema();
  if (value) {
    set_has_arrow_schema();
    _impl_.schema_.arrow_schema_ = value;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.cloud.bigquery.storage.v1.ReadRowsResponse.arrow_schema)
}
inline ::google::cloud::bigquery::storage::v1::ArrowSchema* PROTOBUF_NONNULL ReadRowsResponse::_internal_mutable_arrow_schema() {
  if (schema_case() != kArrowSchema) {
    clear_schema();
    set_has_arrow_schema();
    _impl_.schema_.arrow_schema_ = 
        ::google::protobuf::Message::DefaultConstruct<::google::cloud::bigquery::storage::v1::ArrowSchema>(GetArena());
  }
  return _impl_.schema_.arrow_schema_;
}
inline ::google::cloud::bigquery::storage::v1::ArrowSchema* PROTOBUF_NONNULL ReadRowsResponse::mutable_arrow_schema()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::cloud::bigquery::storage::v1::ArrowSchema* _msg = _internal_mutable_arrow_schema();
  // @@protoc_insertion_point(field_mutable:google.cloud.bigquery.storage.v1.ReadRowsResponse.arrow_schema)
  return _msg;
}

inline bool ReadRowsResponse::has_rows() const {
  return rows_case() != ROWS_NOT_SET;
}
inline void ReadRowsResponse::clear_has_rows() {
  _impl_._oneof_case_[0] = ROWS_NOT_SET;
}
inline bool ReadRowsResponse::has_schema() const {
  return schema_case() != SCHEMA_NOT_SET;
}
inline void ReadRowsResponse::clear_has_schema() {
  _impl_._oneof_case_[1] = SCHEMA_NOT_SET;
}
inline ReadRowsResponse::RowsCase ReadRowsResponse::rows_case() const {
  return ReadRowsResponse::RowsCase(_impl_._oneof_case_[0]);
}
inline ReadRowsResponse::SchemaCase ReadRowsResponse::schema_case() const {
  return ReadRowsResponse::SchemaCase(_impl_._oneof_case_[1]);
}
// -------------------------------------------------------------------

// SplitReadStreamRequest

// string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
inline void SplitReadStreamRequest::clear_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.name_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::std::string& SplitReadStreamRequest::name() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.cloud.bigquery.storage.v1.SplitReadStreamRequest.name)
  return _internal_name();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void SplitReadStreamRequest::set_name(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:google.cloud.bigquery.storage.v1.SplitReadStreamRequest.name)
}
inline ::std::string* PROTOBUF_NONNULL SplitReadStreamRequest::mutable_name()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_name();
  // @@protoc_insertion_point(field_mutable:google.cloud.bigquery.storage.v1.SplitReadStreamRequest.name)
  return _s;
}
inline const ::std::string& SplitReadStreamRequest::_internal_name() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.name_.Get();
}
inline void SplitReadStreamRequest::_internal_set_name(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.name_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL SplitReadStreamRequest::_internal_mutable_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.name_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE SplitReadStreamRequest::release_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.cloud.bigquery.storage.v1.SplitReadStreamRequest.name)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.name_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.name_.Set("", GetArena());
  }
  return released;
}
inline void SplitReadStreamRequest::set_allocated_name(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.name_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.name_.IsDefault()) {
    _impl_.name_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:google.cloud.bigquery.storage.v1.SplitReadStreamRequest.name)
}

// double fraction = 2;
inline void SplitReadStreamRequest::clear_fraction() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.fraction_ = 0;
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline double SplitReadStreamRequest::fraction() const {
  // @@protoc_insertion_point(field_get:google.cloud.bigquery.storage.v1.SplitReadStreamRequest.fraction)
  return _internal_fraction();
}
inline void SplitReadStreamRequest::set_fraction(double value) {
  _internal_set_fraction(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_set:google.cloud.bigquery.storage.v1.SplitReadStreamRequest.fraction)
}
inline double SplitReadStreamRequest::_internal_fraction() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.fraction_;
}
inline void SplitReadStreamRequest::_internal_set_fraction(double value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.fraction_ = value;
}

// -------------------------------------------------------------------

// SplitReadStreamResponse

// .google.cloud.bigquery.storage.v1.ReadStream primary_stream = 1;
inline bool SplitReadStreamResponse::has_primary_stream() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U);
  PROTOBUF_ASSUME(!value || _impl_.primary_stream_ != nullptr);
  return value;
}
inline const ::google::cloud::bigquery::storage::v1::ReadStream& SplitReadStreamResponse::_internal_primary_stream() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::google::cloud::bigquery::storage::v1::ReadStream* p = _impl_.primary_stream_;
  return p != nullptr ? *p : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::google::cloud::bigquery::storage::v1::ReadStream>(&::google::cloud::bigquery::storage::v1::ReadStream_globals_);
}
inline const ::google::cloud::bigquery::storage::v1::ReadStream& SplitReadStreamResponse::primary_stream() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.cloud.bigquery.storage.v1.SplitReadStreamResponse.primary_stream)
  return _internal_primary_stream();
}
inline void SplitReadStreamResponse::unsafe_arena_set_allocated_primary_stream(
    ::google::cloud::bigquery::storage::v1::ReadStream* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.primary_stream_);
  }
  _impl_.primary_stream_ = reinterpret_cast<::google::cloud::bigquery::storage::v1::ReadStream*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.cloud.bigquery.storage.v1.SplitReadStreamResponse.primary_stream)
}
inline ::google::cloud::bigquery::storage::v1::ReadStream* PROTOBUF_NULLABLE SplitReadStreamResponse::release_primary_stream() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::google::cloud::bigquery::storage::v1::ReadStream* released = _impl_.primary_stream_;
  _impl_.primary_stream_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::google::cloud::bigquery::storage::v1::ReadStream* PROTOBUF_NULLABLE SplitReadStreamResponse::unsafe_arena_release_primary_stream() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.cloud.bigquery.storage.v1.SplitReadStreamResponse.primary_stream)

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::google::cloud::bigquery::storage::v1::ReadStream* temp = _impl_.primary_stream_;
  _impl_.primary_stream_ = nullptr;
  return temp;
}
inline ::google::cloud::bigquery::storage::v1::ReadStream* PROTOBUF_NONNULL SplitReadStreamResponse::_internal_mutable_primary_stream() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.primary_stream_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::google::cloud::bigquery::storage::v1::ReadStream>(GetArena());
    _impl_.primary_stream_ = reinterpret_cast<::google::cloud::bigquery::storage::v1::ReadStream*>(p);
  }
  return _impl_.primary_stream_;
}
inline ::google::cloud::bigquery::storage::v1::ReadStream* PROTOBUF_NONNULL SplitReadStreamResponse::mutable_primary_stream()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::google::cloud::bigquery::storage::v1::ReadStream* _msg = _internal_mutable_primary_stream();
  // @@protoc_insertion_point(field_mutable:google.cloud.bigquery.storage.v1.SplitReadStreamResponse.primary_stream)
  return _msg;
}
inline void SplitReadStreamResponse::set_allocated_primary_stream(::google::cloud::bigquery::storage::v1::ReadStream* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.primary_stream_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::Message*>(value)->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }

  _impl_.primary_stream_ = reinterpret_cast<::google::cloud::bigquery::storage::v1::ReadStream*>(value);
  // @@protoc_insertion_point(field_set_allocated:google.cloud.bigquery.storage.v1.SplitReadStreamResponse.primary_stream)
}

// .google.cloud.bigquery.storage.v1.ReadStream remainder_stream = 2;
inline bool SplitReadStreamResponse::has_remainder_stream() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U);
  PROTOBUF_ASSUME(!value || _impl_.remainder_stream_ != nullptr);
  return value;
}
inline const ::google::cloud::bigquery::storage::v1::ReadStream& SplitReadStreamResponse::_internal_remainder_stream() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::google::cloud::bigquery::storage::v1::ReadStream* p = _impl_.remainder_stream_;
  return p != nullptr ? *p : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::google::cloud::bigquery::storage::v1::ReadStream>(&::google::cloud::bigquery::storage::v1::ReadStream_globals_);
}
inline const ::google::cloud::bigquery::storage::v1::ReadStream& SplitReadStreamResponse::remainder_stream() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.cloud.bigquery.storage.v1.SplitReadStreamResponse.remainder_stream)
  return _internal_remainder_stream();
}
inline void SplitReadStreamResponse::unsafe_arena_set_allocated_remainder_stream(
    ::google::cloud::bigquery::storage::v1::ReadStream* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.remainder_stream_);
  }
  _impl_.remainder_stream_ = reinterpret_cast<::google::cloud::bigquery::storage::v1::ReadStream*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.cloud.bigquery.storage.v1.SplitReadStreamResponse.remainder_stream)
}
inline ::google::cloud::bigquery::storage::v1::ReadStream* PROTOBUF_NULLABLE SplitReadStreamResponse::release_remainder_stream() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::google::cloud::bigquery::storage::v1::ReadStream* released = _impl_.remainder_stream_;
  _impl_.remainder_stream_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::google::cloud::bigquery::storage::v1::ReadStream* PROTOBUF_NULLABLE SplitReadStreamResponse::unsafe_arena_release_remainder_stream() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.cloud.bigquery.storage.v1.SplitReadStreamResponse.remainder_stream)

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::google::cloud::bigquery::storage::v1::ReadStream* temp = _impl_.remainder_stream_;
  _impl_.remainder_stream_ = nullptr;
  return temp;
}
inline ::google::cloud::bigquery::storage::v1::ReadStream* PROTOBUF_NONNULL SplitReadStreamResponse::_internal_mutable_remainder_stream() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.remainder_stream_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::google::cloud::bigquery::storage::v1::ReadStream>(GetArena());
    _impl_.remainder_stream_ = reinterpret_cast<::google::cloud::bigquery::storage::v1::ReadStream*>(p);
  }
  return _impl_.remainder_stream_;
}
inline ::google::cloud::bigquery::storage::v1::ReadStream* PROTOBUF_NONNULL SplitReadStreamResponse::mutable_remainder_stream()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::google::cloud::bigquery::storage::v1::ReadStream* _msg = _internal_mutable_remainder_stream();
  // @@protoc_insertion_point(field_mutable:google.cloud.bigquery.storage.v1.SplitReadStreamResponse.remainder_stream)
  return _msg;
}
inline void SplitReadStreamResponse::set_allocated_remainder_stream(::google::cloud::bigquery::storage::v1::ReadStream* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.remainder_stream_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::Message*>(value)->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }

  _impl_.remainder_stream_ = reinterpret_cast<::google::cloud::bigquery::storage::v1::ReadStream*>(value);
  // @@protoc_insertion_point(field_set_allocated:google.cloud.bigquery.storage.v1.SplitReadStreamResponse.remainder_stream)
}

// -------------------------------------------------------------------

// CreateWriteStreamRequest

// string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
inline void CreateWriteStreamRequest::clear_parent() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.parent_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::std::string& CreateWriteStreamRequest::parent() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.cloud.bigquery.storage.v1.CreateWriteStreamRequest.parent)
  return _internal_parent();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void CreateWriteStreamRequest::set_parent(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.parent_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:google.cloud.bigquery.storage.v1.CreateWriteStreamRequest.parent)
}
inline ::std::string* PROTOBUF_NONNULL CreateWriteStreamRequest::mutable_parent()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_parent();
  // @@protoc_insertion_point(field_mutable:google.cloud.bigquery.storage.v1.CreateWriteStreamRequest.parent)
  return _s;
}
inline const ::std::string& CreateWriteStreamRequest::_internal_parent() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.parent_.Get();
}
inline void CreateWriteStreamRequest::_internal_set_parent(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.parent_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL CreateWriteStreamRequest::_internal_mutable_parent() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.parent_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE CreateWriteStreamRequest::release_parent() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.cloud.bigquery.storage.v1.CreateWriteStreamRequest.parent)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.parent_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.parent_.Set("", GetArena());
  }
  return released;
}
inline void CreateWriteStreamRequest::set_allocated_parent(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.parent_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.parent_.IsDefault()) {
    _impl_.parent_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:google.cloud.bigquery.storage.v1.CreateWriteStreamRequest.parent)
}

// .google.cloud.bigquery.storage.v1.WriteStream write_stream = 2 [(.google.api.field_behavior) = REQUIRED];
inline bool CreateWriteStreamRequest::has_write_stream() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U);
  PROTOBUF_ASSUME(!value || _impl_.write_stream_ != nullptr);
  return value;
}
inline const ::google::cloud::bigquery::storage::v1::WriteStream& CreateWriteStreamRequest::_internal_write_stream() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::google::cloud::bigquery::storage::v1::WriteStream* p = _impl_.write_stream_;
  return p != nullptr ? *p : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::google::cloud::bigquery::storage::v1::WriteStream>(&::google::cloud::bigquery::storage::v1::WriteStream_globals_);
}
inline const ::google::cloud::bigquery::storage::v1::WriteStream& CreateWriteStreamRequest::write_stream() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.cloud.bigquery.storage.v1.CreateWriteStreamRequest.write_stream)
  return _internal_write_stream();
}
inline void CreateWriteStreamRequest::unsafe_arena_set_allocated_write_stream(
    ::google::cloud::bigquery::storage::v1::WriteStream* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.write_stream_);
  }
  _impl_.write_stream_ = reinterpret_cast<::google::cloud::bigquery::storage::v1::WriteStream*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.cloud.bigquery.storage.v1.CreateWriteStreamRequest.write_stream)
}
inline ::google::cloud::bigquery::storage::v1::WriteStream* PROTOBUF_NULLABLE CreateWriteStreamRequest::release_write_stream() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::google::cloud::bigquery::storage::v1::WriteStream* released = _impl_.write_stream_;
  _impl_.write_stream_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::google::cloud::bigquery::storage::v1::WriteStream* PROTOBUF_NULLABLE CreateWriteStreamRequest::unsafe_arena_release_write_stream() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.cloud.bigquery.storage.v1.CreateWriteStreamRequest.write_stream)

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::google::cloud::bigquery::storage::v1::WriteStream* temp = _impl_.write_stream_;
  _impl_.write_stream_ = nullptr;
  return temp;
}
inline ::google::cloud::bigquery::storage::v1::WriteStream* PROTOBUF_NONNULL CreateWriteStreamRequest::_internal_mutable_write_stream() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.write_stream_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::google::cloud::bigquery::storage::v1::WriteStream>(GetArena());
    _impl_.write_stream_ = reinterpret_cast<::google::cloud::bigquery::storage::v1::WriteStream*>(p);
  }
  return _impl_.write_stream_;
}
inline ::google::cloud::bigquery::storage::v1::WriteStream* PROTOBUF_NONNULL CreateWriteStreamRequest::mutable_write_stream()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::google::cloud::bigquery::storage::v1::WriteStream* _msg = _internal_mutable_write_stream();
  // @@protoc_insertion_point(field_mutable:google.cloud.bigquery.storage.v1.CreateWriteStreamRequest.write_stream)
  return _msg;
}
inline void CreateWriteStreamRequest::set_allocated_write_stream(::google::cloud::bigquery::storage::v1::WriteStream* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.write_stream_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::Message*>(value)->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }

  _impl_.write_stream_ = reinterpret_cast<::google::cloud::bigquery::storage::v1::WriteStream*>(value);
  // @@protoc_insertion_point(field_set_allocated:google.cloud.bigquery.storage.v1.CreateWriteStreamRequest.write_stream)
}

// -------------------------------------------------------------------

// AppendRowsRequest_ProtoData

// .google.cloud.bigquery.storage.v1.ProtoSchema writer_schema = 1;
inline bool AppendRowsRequest_ProtoData::has_writer_schema() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U);
  PROTOBUF_ASSUME(!value || _impl_.writer_schema_ != nullptr);
  return value;
}
inline const ::google::cloud::bigquery::storage::v1::ProtoSchema& AppendRowsRequest_ProtoData::_internal_writer_schema() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::google::cloud::bigquery::storage::v1::ProtoSchema* p = _impl_.writer_schema_;
  return p != nullptr ? *p : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::google::cloud::bigquery::storage::v1::ProtoSchema>(&::google::cloud::bigquery::storage::v1::ProtoSchema_globals_);
}
inline const ::google::cloud::bigquery::storage::v1::ProtoSchema& AppendRowsRequest_ProtoData::writer_schema() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.cloud.bigquery.storage.v1.AppendRowsRequest.ProtoData.writer_schema)
  return _internal_writer_schema();
}
inline void AppendRowsRequest_ProtoData::unsafe_arena_set_allocated_writer_schema(
    ::google::cloud::bigquery::storage::v1::ProtoSchema* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.writer_schema_);
  }
  _impl_.writer_schema_ = reinterpret_cast<::google::cloud::bigquery::storage::v1::ProtoSchema*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.cloud.bigquery.storage.v1.AppendRowsRequest.ProtoData.writer_schema)
}
inline ::google::cloud::bigquery::storage::v1::ProtoSchema* PROTOBUF_NULLABLE AppendRowsRequest_ProtoData::release_writer_schema() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::google::cloud::bigquery::storage::v1::ProtoSchema* released = _impl_.writer_schema_;
  _impl_.writer_schema_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::google::cloud::bigquery::storage::v1::ProtoSchema* PROTOBUF_NULLABLE AppendRowsRequest_ProtoData::unsafe_arena_release_writer_schema() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.cloud.bigquery.storage.v1.AppendRowsRequest.ProtoData.writer_schema)

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::google::cloud::bigquery::storage::v1::ProtoSchema* temp = _impl_.writer_schema_;
  _impl_.writer_schema_ = nullptr;
  return temp;
}
inline ::google::cloud::bigquery::storage::v1::ProtoSchema* PROTOBUF_NONNULL AppendRowsRequest_ProtoData::_internal_mutable_writer_schema() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.writer_schema_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::google::cloud::bigquery::storage::v1::ProtoSchema>(GetArena());
    _impl_.writer_schema_ = reinterpret_cast<::google::cloud::bigquery::storage::v1::ProtoSchema*>(p);
  }
  return _impl_.writer_schema_;
}
inline ::google::cloud::bigquery::storage::v1::ProtoSchema* PROTOBUF_NONNULL AppendRowsRequest_ProtoData::mutable_writer_schema()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::google::cloud::bigquery::storage::v1::ProtoSchema* _msg = _internal_mutable_writer_schema();
  // @@protoc_insertion_point(field_mutable:google.cloud.bigquery.storage.v1.AppendRowsRequest.ProtoData.writer_schema)
  return _msg;
}
inline void AppendRowsRequest_ProtoData::set_allocated_writer_schema(::google::cloud::bigquery::storage::v1::ProtoSchema* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.writer_schema_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::Message*>(value)->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }

  _impl_.writer_schema_ = reinterpret_cast<::google::cloud::bigquery::storage::v1::ProtoSchema*>(value);
  // @@protoc_insertion_point(field_set_allocated:google.cloud.bigquery.storage.v1.AppendRowsRequest.ProtoData.writer_schema)
}

// .google.cloud.bigquery.storage.v1.ProtoRows rows = 2;
inline bool AppendRowsRequest_ProtoData::has_rows() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U);
  PROTOBUF_ASSUME(!value || _impl_.rows_ != nullptr);
  return value;
}
inline const ::google::cloud::bigquery::storage::v1::ProtoRows& AppendRowsRequest_ProtoData::_internal_rows() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::google::cloud::bigquery::storage::v1::ProtoRows* p = _impl_.rows_;
  return p != nullptr ? *p : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::google::cloud::bigquery::storage::v1::ProtoRows>(&::google::cloud::bigquery::storage::v1::ProtoRows_globals_);
}
inline const ::google::cloud::bigquery::storage::v1::ProtoRows& AppendRowsRequest_ProtoData::rows() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.cloud.bigquery.storage.v1.AppendRowsRequest.ProtoData.rows)
  return _internal_rows();
}
inline void AppendRowsRequest_ProtoData::unsafe_arena_set_allocated_rows(
    ::google::cloud::bigquery::storage::v1::ProtoRows* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.rows_);
  }
  _impl_.rows_ = reinterpret_cast<::google::cloud::bigquery::storage::v1::ProtoRows*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.cloud.bigquery.storage.v1.AppendRowsRequest.ProtoData.rows)
}
inline ::google::cloud::bigquery::storage::v1::ProtoRows* PROTOBUF_NULLABLE AppendRowsRequest_ProtoData::release_rows() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::google::cloud::bigquery::storage::v1::ProtoRows* released = _impl_.rows_;
  _impl_.rows_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::google::cloud::bigquery::storage::v1::ProtoRows* PROTOBUF_NULLABLE AppendRowsRequest_ProtoData::unsafe_arena_release_rows() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.cloud.bigquery.storage.v1.AppendRowsRequest.ProtoData.rows)

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::google::cloud::bigquery::storage::v1::ProtoRows* temp = _impl_.rows_;
  _impl_.rows_ = nullptr;
  return temp;
}
inline ::google::cloud::bigquery::storage::v1::ProtoRows* PROTOBUF_NONNULL AppendRowsRequest_ProtoData::_internal_mutable_rows() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.rows_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::google::cloud::bigquery::storage::v1::ProtoRows>(GetArena());
    _impl_.rows_ = reinterpret_cast<::google::cloud::bigquery::storage::v1::ProtoRows*>(p);
  }
  return _impl_.rows_;
}
inline ::google::cloud::bigquery::storage::v1::ProtoRows* PROTOBUF_NONNULL AppendRowsRequest_ProtoData::mutable_rows()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::google::cloud::bigquery::storage::v1::ProtoRows* _msg = _internal_mutable_rows();
  // @@protoc_insertion_point(field_mutable:google.cloud.bigquery.storage.v1.AppendRowsRequest.ProtoData.rows)
  return _msg;
}
inline void AppendRowsRequest_ProtoData::set_allocated_rows(::google::cloud::bigquery::storage::v1::ProtoRows* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.rows_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::Message*>(value)->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }

  _impl_.rows_ = reinterpret_cast<::google::cloud::bigquery::storage::v1::ProtoRows*>(value);
  // @@protoc_insertion_point(field_set_allocated:google.cloud.bigquery.storage.v1.AppendRowsRequest.ProtoData.rows)
}

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// AppendRowsRequest

// string write_stream = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
inline void AppendRowsRequest::clear_write_stream() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.write_stream_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::std::string& AppendRowsRequest::write_stream() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.cloud.bigquery.storage.v1.AppendRowsRequest.write_stream)
  return _internal_write_stream();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void AppendRowsRequest::set_write_stream(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.write_stream_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:google.cloud.bigquery.storage.v1.AppendRowsRequest.write_stream)
}
inline ::std::string* PROTOBUF_NONNULL AppendRowsRequest::mutable_write_stream()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_write_stream();
  // @@protoc_insertion_point(field_mutable:google.cloud.bigquery.storage.v1.AppendRowsRequest.write_stream)
  return _s;
}
inline const ::std::string& AppendRowsRequest::_internal_write_stream() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.write_stream_.Get();
}
inline void AppendRowsRequest::_internal_set_write_stream(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.write_stream_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL AppendRowsRequest::_internal_mutable_write_stream() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.write_stream_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE AppendRowsRequest::release_write_stream() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.cloud.bigquery.storage.v1.AppendRowsRequest.write_stream)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.write_stream_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.write_stream_.Set("", GetArena());
  }
  return released;
}
inline void AppendRowsRequest::set_allocated_write_stream(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.write_stream_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.write_stream_.IsDefault()) {
    _impl_.write_stream_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:google.cloud.bigquery.storage.v1.AppendRowsRequest.write_stream)
}

// .google.protobuf.Int64Value offset = 2;
inline bool AppendRowsRequest::has_offset() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000004U);
  PROTOBUF_ASSUME(!value || _impl_.offset_ != nullptr);
  return value;
}
inline const ::google::protobuf::Int64Value& AppendRowsRequest::_internal_offset() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::google::protobuf::Int64Value* p = _impl_.offset_;
  return p != nullptr ? *p : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::google::protobuf::Int64Value>(&::google::protobuf::Int64Value_globals_);
}
inline const ::google::protobuf::Int64Value& AppendRowsRequest::offset() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.cloud.bigquery.storage.v1.AppendRowsRequest.offset)
  return _internal_offset();
}
inline void AppendRowsRequest::unsafe_arena_set_allocated_offset(
    ::google::protobuf::Int64Value* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.offset_);
  }
  _impl_.offset_ = reinterpret_cast<::google::protobuf::Int64Value*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.cloud.bigquery.storage.v1.AppendRowsRequest.offset)
}
inline ::google::protobuf::Int64Value* PROTOBUF_NULLABLE AppendRowsRequest::release_offset() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::google::protobuf::Int64Value* released = _impl_.offset_;
  _impl_.offset_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::google::protobuf::Int64Value* PROTOBUF_NULLABLE AppendRowsRequest::unsafe_arena_release_offset() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.cloud.bigquery.storage.v1.AppendRowsRequest.offset)

  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::google::protobuf::Int64Value* temp = _impl_.offset_;
  _impl_.offset_ = nullptr;
  return temp;
}
inline ::google::protobuf::Int64Value* PROTOBUF_NONNULL AppendRowsRequest::_internal_mutable_offset() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.offset_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::google::protobuf::Int64Value>(GetArena());
    _impl_.offset_ = reinterpret_cast<::google::protobuf::Int64Value*>(p);
  }
  return _impl_.offset_;
}
inline ::google::protobuf::Int64Value* PROTOBUF_NONNULL AppendRowsRequest::mutable_offset()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::google::protobuf::Int64Value* _msg = _internal_mutable_offset();
  // @@protoc_insertion_point(field_mutable:google.cloud.bigquery.storage.v1.AppendRowsRequest.offset)
  return _msg;
}
inline void AppendRowsRequest::set_allocated_offset(::google::protobuf::Int64Value* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.offset_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::Message*>(value)->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  }

  _impl_.offset_ = reinterpret_cast<::google::protobuf::Int64Value*>(value);
  // @@protoc_insertion_point(field_set_allocated:google.cloud.bigquery.storage.v1.AppendRowsRequest.offset)
}

// .google.cloud.bigquery.storage.v1.AppendRowsRequest.ProtoData proto_rows = 4;
inline bool AppendRowsRequest::has_proto_rows() const {
  return rows_case() == kProtoRows;
}
inline bool AppendRowsRequest::_internal_has_proto_rows() const {
  return rows_case() == kProtoRows;
}
inline void AppendRowsRequest::set_has_proto_rows() {
  _impl_._oneof_case_[0] = kProtoRows;
}
inline void AppendRowsRequest::clear_proto_rows() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (rows_case() == kProtoRows) {
    if (GetArena() == nullptr) {
      delete _impl_.rows_.proto_rows_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.rows_.proto_rows_);
    }
    clear_has_rows();
  }
}
inline ::google::cloud::bigquery::storage::v1::AppendRowsRequest_ProtoData* PROTOBUF_NULLABLE AppendRowsRequest::release_proto_rows() {
  // @@protoc_insertion_point(field_release:google.cloud.bigquery.storage.v1.AppendRowsRequest.proto_rows)
  if (rows_case() == kProtoRows) {
    clear_has_rows();
    auto* temp = _impl_.rows_.proto_rows_;
    if (GetArena() != nullptr) {
      temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
    }
    _impl_.rows_.proto_rows_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::google::cloud::bigquery::storage::v1::AppendRowsRequest_ProtoData& AppendRowsRequest::_internal_proto_rows() const {
  return rows_case() == kProtoRows ? static_cast<const ::google::cloud::bigquery::storage::v1::AppendRowsRequest_ProtoData&>(*_impl_.rows_.proto_rows_)
                     : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::google::cloud::bigquery::storage::v1::AppendRowsRequest_ProtoData>(&::google::cloud::bigquery::storage::v1::AppendRowsRequest_ProtoData_globals_);
}
inline const ::google::cloud::bigquery::storage::v1::AppendRowsRequest_ProtoData& AppendRowsRequest::proto_rows() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.cloud.bigquery.storage.v1.AppendRowsRequest.proto_rows)
  return _internal_proto_rows();
}
inline ::google::cloud::bigquery::storage::v1::AppendRowsRequest_ProtoData* PROTOBUF_NULLABLE AppendRowsRequest::unsafe_arena_release_proto_rows() {
  // @@protoc_insertion_point(field_unsafe_arena_release:google.cloud.bigquery.storage.v1.AppendRowsRequest.proto_rows)
  if (rows_case() == kProtoRows) {
    clear_has_rows();
    auto* temp = _impl_.rows_.proto_rows_;
    _impl_.rows_.proto_rows_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void AppendRowsRequest::unsafe_arena_set_allocated_proto_rows(
    ::google::cloud::bigquery::storage::v1::AppendRowsRequest_ProtoData* PROTOBUF_NULLABLE value) {
  // We rely on the oneof clear method to free the earlier contents
  // of this oneof. We can directly use the pointer we're given to
  // set the new value.
  clear_rows();
  if (value) {
    set_has_proto_rows();
    _impl_.rows_.proto_rows_ = value;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.cloud.bigquery.storage.v1.AppendRowsRequest.proto_rows)
}
inline ::google::cloud::bigquery::storage::v1::AppendRowsRequest_ProtoData* PROTOBUF_NONNULL AppendRowsRequest::_internal_mutable_proto_rows() {
  if (rows_case() != kProtoRows) {
    clear_rows();
    set_has_proto_rows();
    _impl_.rows_.proto_rows_ = 
        ::google::protobuf::Message::DefaultConstruct<::google::cloud::bigquery::storage::v1::AppendRowsRequest_ProtoData>(GetArena());
  }
  return _impl_.rows_.proto_rows_;
}
inline ::google::cloud::bigquery::storage::v1::AppendRowsRequest_ProtoData* PROTOBUF_NONNULL AppendRowsRequest::mutable_proto_rows()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::cloud::bigquery::storage::v1::AppendRowsRequest_ProtoData* _msg = _internal_mutable_proto_rows();
  // @@protoc_insertion_point(field_mutable:google.cloud.bigquery.storage.v1.AppendRowsRequest.proto_rows)
  return _msg;
}

// string trace_id = 6;
inline void AppendRowsRequest::clear_trace_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.trace_id_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline const ::std::string& AppendRowsRequest::trace_id() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.cloud.bigquery.storage.v1.AppendRowsRequest.trace_id)
  return _internal_trace_id();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void AppendRowsRequest::set_trace_id(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  _impl_.trace_id_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:google.cloud.bigquery.storage.v1.AppendRowsRequest.trace_id)
}
inline ::std::string* PROTOBUF_NONNULL AppendRowsRequest::mutable_trace_id()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::std::string* _s = _internal_mutable_trace_id();
  // @@protoc_insertion_point(field_mutable:google.cloud.bigquery.storage.v1.AppendRowsRequest.trace_id)
  return _s;
}
inline const ::std::string& AppendRowsRequest::_internal_trace_id() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.trace_id_.Get();
}
inline void AppendRowsRequest::_internal_set_trace_id(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.trace_id_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL AppendRowsRequest::_internal_mutable_trace_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.trace_id_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE AppendRowsRequest::release_trace_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.cloud.bigquery.storage.v1.AppendRowsRequest.trace_id)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000002U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  auto* released = _impl_.trace_id_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.trace_id_.Set("", GetArena());
  }
  return released;
}
inline void AppendRowsRequest::set_allocated_trace_id(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  _impl_.trace_id_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.trace_id_.IsDefault()) {
    _impl_.trace_id_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:google.cloud.bigquery.storage.v1.AppendRowsRequest.trace_id)
}

// map<string, .google.cloud.bigquery.storage.v1.AppendRowsRequest.MissingValueInterpretation> missing_value_interpretations = 7;
inline int AppendRowsRequest::_internal_missing_value_interpretations_size() const {
  return _internal_missing_value_interpretations().size();
}
inline int AppendRowsRequest::missing_value_interpretations_size() const {
  return _internal_missing_value_interpretations_size();
}
inline void AppendRowsRequest::clear_missing_value_interpretations() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.missing_value_interpretations_.Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
}
inline const ::google::protobuf::Map<::std::string, ::google::cloud::bigquery::storage::v1::AppendRowsRequest_MissingValueInterpretation>& AppendRowsRequest::_internal_missing_value_interpretations() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.missing_value_interpretations_.GetMap();
}
inline const ::google::protobuf::Map<::std::string, ::google::cloud::bigquery::storage::v1::AppendRowsRequest_MissingValueInterpretation>& AppendRowsRequest::missing_value_interpretations() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_map:google.cloud.bigquery.storage.v1.AppendRowsRequest.missing_value_interpretations)
  return _internal_missing_value_interpretations();
}
inline ::google::protobuf::Map<::std::string, ::google::cloud::bigquery::storage::v1::AppendRowsRequest_MissingValueInterpretation>* PROTOBUF_NONNULL AppendRowsRequest::_internal_mutable_missing_value_interpretations() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.missing_value_interpretations_.MutableMap();
}
inline ::google::protobuf::Map<::std::string, ::google::cloud::bigquery::storage::v1::AppendRowsRequest_MissingValueInterpretation>* PROTOBUF_NONNULL AppendRowsRequest::mutable_missing_value_interpretations()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  // @@protoc_insertion_point(field_mutable_map:google.cloud.bigquery.storage.v1.AppendRowsRequest.missing_value_interpretations)
  return _internal_mutable_missing_value_interpretations();
}

inline bool AppendRowsRequest::has_rows() const {
  return rows_case() != ROWS_NOT_SET;
}
inline void AppendRowsRequest::clear_has_rows() {
  _impl_._oneof_case_[0] = ROWS_NOT_SET;
}
inline AppendRowsRequest::RowsCase AppendRowsRequest::rows_case() const {
  return AppendRowsRequest::RowsCase(_impl_._oneof_case_[0]);
}
// -------------------------------------------------------------------

// AppendRowsResponse_AppendResult

// .google.protobuf.Int64Value offset = 1;
inline bool AppendRowsResponse_AppendResult::has_offset() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U);
  PROTOBUF_ASSUME(!value || _impl_.offset_ != nullptr);
  return value;
}
inline const ::google::protobuf::Int64Value& AppendRowsResponse_AppendResult::_internal_offset() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::google::protobuf::Int64Value* p = _impl_.offset_;
  return p != nullptr ? *p : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::google::protobuf::Int64Value>(&::google::protobuf::Int64Value_globals_);
}
inline const ::google::protobuf::Int64Value& AppendRowsResponse_AppendResult::offset() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.cloud.bigquery.storage.v1.AppendRowsResponse.AppendResult.offset)
  return _internal_offset();
}
inline void AppendRowsResponse_AppendResult::unsafe_arena_set_allocated_offset(
    ::google::protobuf::Int64Value* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.offset_);
  }
  _impl_.offset_ = reinterpret_cast<::google::protobuf::Int64Value*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.cloud.bigquery.storage.v1.AppendRowsResponse.AppendResult.offset)
}
inline ::google::protobuf::Int64Value* PROTOBUF_NULLABLE AppendRowsResponse_AppendResult::release_offset() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::google::protobuf::Int64Value* released = _impl_.offset_;
  _impl_.offset_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::google::protobuf::Int64Value* PROTOBUF_NULLABLE AppendRowsResponse_AppendResult::unsafe_arena_release_offset() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.cloud.bigquery.storage.v1.AppendRowsResponse.AppendResult.offset)

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::google::protobuf::Int64Value* temp = _impl_.offset_;
  _impl_.offset_ = nullptr;
  return temp;
}
inline ::google::protobuf::Int64Value* PROTOBUF_NONNULL AppendRowsResponse_AppendResult::_internal_mutable_offset() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.offset_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::google::protobuf::Int64Value>(GetArena());
    _impl_.offset_ = reinterpret_cast<::google::protobuf::Int64Value*>(p);
  }
  return _impl_.offset_;
}
inline ::google::protobuf::Int64Value* PROTOBUF_NONNULL AppendRowsResponse_AppendResult::mutable_offset()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::google::protobuf::Int64Value* _msg = _internal_mutable_offset();
  // @@protoc_insertion_point(field_mutable:google.cloud.bigquery.storage.v1.AppendRowsResponse.AppendResult.offset)
  return _msg;
}
inline void AppendRowsResponse_AppendResult::set_allocated_offset(::google::protobuf::Int64Value* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.offset_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::Message*>(value)->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }

  _impl_.offset_ = reinterpret_cast<::google::protobuf::Int64Value*>(value);
  // @@protoc_insertion_point(field_set_allocated:google.cloud.bigquery.storage.v1.AppendRowsResponse.AppendResult.offset)
}

// -------------------------------------------------------------------

// AppendRowsResponse

// .google.cloud.bigquery.storage.v1.AppendRowsResponse.AppendResult append_result = 1;
inline bool AppendRowsResponse::has_append_result() const {
  return response_case() == kAppendResult;
}
inline bool AppendRowsResponse::_internal_has_append_result() const {
  return response_case() == kAppendResult;
}
inline void AppendRowsResponse::set_has_append_result() {
  _impl_._oneof_case_[0] = kAppendResult;
}
inline void AppendRowsResponse::clear_append_result() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (response_case() == kAppendResult) {
    if (GetArena() == nullptr) {
      delete _impl_.response_.append_result_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.response_.append_result_);
    }
    clear_has_response();
  }
}
inline ::google::cloud::bigquery::storage::v1::AppendRowsResponse_AppendResult* PROTOBUF_NULLABLE AppendRowsResponse::release_append_result() {
  // @@protoc_insertion_point(field_release:google.cloud.bigquery.storage.v1.AppendRowsResponse.append_result)
  if (response_case() == kAppendResult) {
    clear_has_response();
    auto* temp = _impl_.response_.append_result_;
    if (GetArena() != nullptr) {
      temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
    }
    _impl_.response_.append_result_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::google::cloud::bigquery::storage::v1::AppendRowsResponse_AppendResult& AppendRowsResponse::_internal_append_result() const {
  return response_case() == kAppendResult ? static_cast<const ::google::cloud::bigquery::storage::v1::AppendRowsResponse_AppendResult&>(*_impl_.response_.append_result_)
                     : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::google::cloud::bigquery::storage::v1::AppendRowsResponse_AppendResult>(&::google::cloud::bigquery::storage::v1::AppendRowsResponse_AppendResult_globals_);
}
inline const ::google::cloud::bigquery::storage::v1::AppendRowsResponse_AppendResult& AppendRowsResponse::append_result() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.cloud.bigquery.storage.v1.AppendRowsResponse.append_result)
  return _internal_append_result();
}
inline ::google::cloud::bigquery::storage::v1::AppendRowsResponse_AppendResult* PROTOBUF_NULLABLE AppendRowsResponse::unsafe_arena_release_append_result() {
  // @@protoc_insertion_point(field_unsafe_arena_release:google.cloud.bigquery.storage.v1.AppendRowsResponse.append_result)
  if (response_case() == kAppendResult) {
    clear_has_response();
    auto* temp = _impl_.response_.append_result_;
    _impl_.response_.append_result_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void AppendRowsResponse::unsafe_arena_set_allocated_append_result(
    ::google::cloud::bigquery::storage::v1::AppendRowsResponse_AppendResult* PROTOBUF_NULLABLE value) {
  // We rely on the oneof clear method to free the earlier contents
  // of this oneof. We can directly use the pointer we're given to
  // set the new value.
  clear_response();
  if (value) {
    set_has_append_result();
    _impl_.response_.append_result_ = value;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.cloud.bigquery.storage.v1.AppendRowsResponse.append_result)
}
inline ::google::cloud::bigquery::storage::v1::AppendRowsResponse_AppendResult* PROTOBUF_NONNULL AppendRowsResponse::_internal_mutable_append_result() {
  if (response_case() != kAppendResult) {
    clear_response();
    set_has_append_result();
    _impl_.response_.append_result_ = 
        ::google::protobuf::Message::DefaultConstruct<::google::cloud::bigquery::storage::v1::AppendRowsResponse_AppendResult>(GetArena());
  }
  return _impl_.response_.append_result_;
}
inline ::google::cloud::bigquery::storage::v1::AppendRowsResponse_AppendResult* PROTOBUF_NONNULL AppendRowsResponse::mutable_append_result()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::cloud::bigquery::storage::v1::AppendRowsResponse_AppendResult* _msg = _internal_mutable_append_result();
  // @@protoc_insertion_point(field_mutable:google.cloud.bigquery.storage.v1.AppendRowsResponse.append_result)
  return _msg;
}

// .google.rpc.Status error = 2;
inline bool AppendRowsResponse::has_error() const {
  return response_case() == kError;
}
inline bool AppendRowsResponse::_internal_has_error() const {
  return response_case() == kError;
}
inline void AppendRowsResponse::set_has_error() {
  _impl_._oneof_case_[0] = kError;
}
inline ::google::rpc::Status* PROTOBUF_NULLABLE AppendRowsResponse::release_error() {
  // @@protoc_insertion_point(field_release:google.cloud.bigquery.storage.v1.AppendRowsResponse.error)
  if (response_case() == kError) {
    clear_has_response();
    auto* temp = _impl_.response_.error_;
    if (GetArena() != nullptr) {
      temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
    }
    _impl_.response_.error_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::google::rpc::Status& AppendRowsResponse::_internal_error() const {
  return response_case() == kError ? static_cast<const ::google::rpc::Status&>(*_impl_.response_.error_)
                     : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::google::rpc::Status>(&::google::rpc::Status_globals_);
}
inline const ::google::rpc::Status& AppendRowsResponse::error() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.cloud.bigquery.storage.v1.AppendRowsResponse.error)
  return _internal_error();
}
inline ::google::rpc::Status* PROTOBUF_NULLABLE AppendRowsResponse::unsafe_arena_release_error() {
  // @@protoc_insertion_point(field_unsafe_arena_release:google.cloud.bigquery.storage.v1.AppendRowsResponse.error)
  if (response_case() == kError) {
    clear_has_response();
    auto* temp = _impl_.response_.error_;
    _impl_.response_.error_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void AppendRowsResponse::unsafe_arena_set_allocated_error(
    ::google::rpc::Status* PROTOBUF_NULLABLE value) {
  // We rely on the oneof clear method to free the earlier contents
  // of this oneof. We can directly use the pointer we're given to
  // set the new value.
  clear_response();
  if (value) {
    set_has_error();
    _impl_.response_.error_ = value;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.cloud.bigquery.storage.v1.AppendRowsResponse.error)
}
inline ::google::rpc::Status* PROTOBUF_NONNULL AppendRowsResponse::_internal_mutable_error() {
  if (response_case() != kError) {
    clear_response();
    set_has_error();
    _impl_.response_.error_ = 
        ::google::protobuf::Message::DefaultConstruct<::google::rpc::Status>(GetArena());
  }
  return _impl_.response_.error_;
}
inline ::google::rpc::Status* PROTOBUF_NONNULL AppendRowsResponse::mutable_error()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::rpc::Status* _msg = _internal_mutable_error();
  // @@protoc_insertion_point(field_mutable:google.cloud.bigquery.storage.v1.AppendRowsResponse.error)
  return _msg;
}

// .google.cloud.bigquery.storage.v1.TableSchema updated_schema = 3;
inline bool AppendRowsResponse::has_updated_schema() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000004U);
  PROTOBUF_ASSUME(!value || _impl_.updated_schema_ != nullptr);
  return value;
}
inline const ::google::cloud::bigquery::storage::v1::TableSchema& AppendRowsResponse::_internal_updated_schema() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::google::cloud::bigquery::storage::v1::TableSchema* p = _impl_.updated_schema_;
  return p != nullptr ? *p : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::google::cloud::bigquery::storage::v1::TableSchema>(&::google::cloud::bigquery::storage::v1::TableSchema_globals_);
}
inline const ::google::cloud::bigquery::storage::v1::TableSchema& AppendRowsResponse::updated_schema() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.cloud.bigquery.storage.v1.AppendRowsResponse.updated_schema)
  return _internal_updated_schema();
}
inline void AppendRowsResponse::unsafe_arena_set_allocated_updated_schema(
    ::google::cloud::bigquery::storage::v1::TableSchema* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.updated_schema_);
  }
  _impl_.updated_schema_ = reinterpret_cast<::google::cloud::bigquery::storage::v1::TableSchema*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.cloud.bigquery.storage.v1.AppendRowsResponse.updated_schema)
}
inline ::google::cloud::bigquery::storage::v1::TableSchema* PROTOBUF_NULLABLE AppendRowsResponse::release_updated_schema() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::google::cloud::bigquery::storage::v1::TableSchema* released = _impl_.updated_schema_;
  _impl_.updated_schema_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::google::cloud::bigquery::storage::v1::TableSchema* PROTOBUF_NULLABLE AppendRowsResponse::unsafe_arena_release_updated_schema() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.cloud.bigquery.storage.v1.AppendRowsResponse.updated_schema)

  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::google::cloud::bigquery::storage::v1::TableSchema* temp = _impl_.updated_schema_;
  _impl_.updated_schema_ = nullptr;
  return temp;
}
inline ::google::cloud::bigquery::storage::v1::TableSchema* PROTOBUF_NONNULL AppendRowsResponse::_internal_mutable_updated_schema() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.updated_schema_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::google::cloud::bigquery::storage::v1::TableSchema>(GetArena());
    _impl_.updated_schema_ = reinterpret_cast<::google::cloud::bigquery::storage::v1::TableSchema*>(p);
  }
  return _impl_.updated_schema_;
}
inline ::google::cloud::bigquery::storage::v1::TableSchema* PROTOBUF_NONNULL AppendRowsResponse::mutable_updated_schema()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::google::cloud::bigquery::storage::v1::TableSchema* _msg = _internal_mutable_updated_schema();
  // @@protoc_insertion_point(field_mutable:google.cloud.bigquery.storage.v1.AppendRowsResponse.updated_schema)
  return _msg;
}
inline void AppendRowsResponse::set_allocated_updated_schema(::google::cloud::bigquery::storage::v1::TableSchema* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.updated_schema_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::Message*>(value)->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  }

  _impl_.updated_schema_ = reinterpret_cast<::google::cloud::bigquery::storage::v1::TableSchema*>(value);
  // @@protoc_insertion_point(field_set_allocated:google.cloud.bigquery.storage.v1.AppendRowsResponse.updated_schema)
}

// repeated .google.cloud.bigquery.storage.v1.RowError row_errors = 4;
inline int AppendRowsResponse::_internal_row_errors_size() const {
  return _internal_row_errors().size();
}
inline int AppendRowsResponse::row_errors_size() const {
  return _internal_row_errors_size();
}
inline void AppendRowsResponse::clear_row_errors() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.row_errors_.Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::google::cloud::bigquery::storage::v1::RowError& AppendRowsResponse::row_errors(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.cloud.bigquery.storage.v1.AppendRowsResponse.row_errors)
  return _internal_row_errors().Get(index);
}
inline ::google::cloud::bigquery::storage::v1::RowError* PROTOBUF_NONNULL AppendRowsResponse::mutable_row_errors(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:google.cloud.bigquery.storage.v1.AppendRowsResponse.row_errors)
  return _internal_mutable_row_errors()->Mutable(index);
}
inline ::google::cloud::bigquery::storage::v1::RowError* PROTOBUF_NONNULL AppendRowsResponse::add_row_errors()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::google::cloud::bigquery::storage::v1::RowError* _add =
      _internal_mutable_row_errors()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add:google.cloud.bigquery.storage.v1.AppendRowsResponse.row_errors)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::google::cloud::bigquery::storage::v1::RowError>& AppendRowsResponse::row_errors() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:google.cloud.bigquery.storage.v1.AppendRowsResponse.row_errors)
  return _internal_row_errors();
}
inline ::google::protobuf::RepeatedPtrField<::google::cloud::bigquery::storage::v1::RowError>* PROTOBUF_NONNULL
AppendRowsResponse::mutable_row_errors() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_mutable_list:google.cloud.bigquery.storage.v1.AppendRowsResponse.row_errors)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_row_errors();
}
inline const ::google::protobuf::RepeatedPtrField<::google::cloud::bigquery::storage::v1::RowError>&
AppendRowsResponse::_internal_row_errors() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.row_errors_;
}
inline ::google::protobuf::RepeatedPtrField<::google::cloud::bigquery::storage::v1::RowError>* PROTOBUF_NONNULL
AppendRowsResponse::_internal_mutable_row_errors() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.row_errors_;
}

// string write_stream = 5;
inline void AppendRowsResponse::clear_write_stream() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.write_stream_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline const ::std::string& AppendRowsResponse::write_stream() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.cloud.bigquery.storage.v1.AppendRowsResponse.write_stream)
  return _internal_write_stream();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void AppendRowsResponse::set_write_stream(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  _impl_.write_stream_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:google.cloud.bigquery.storage.v1.AppendRowsResponse.write_stream)
}
inline ::std::string* PROTOBUF_NONNULL AppendRowsResponse::mutable_write_stream()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::std::string* _s = _internal_mutable_write_stream();
  // @@protoc_insertion_point(field_mutable:google.cloud.bigquery.storage.v1.AppendRowsResponse.write_stream)
  return _s;
}
inline const ::std::string& AppendRowsResponse::_internal_write_stream() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.write_stream_.Get();
}
inline void AppendRowsResponse::_internal_set_write_stream(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.write_stream_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL AppendRowsResponse::_internal_mutable_write_stream() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.write_stream_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE AppendRowsResponse::release_write_stream() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.cloud.bigquery.storage.v1.AppendRowsResponse.write_stream)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000002U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  auto* released = _impl_.write_stream_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.write_stream_.Set("", GetArena());
  }
  return released;
}
inline void AppendRowsResponse::set_allocated_write_stream(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  _impl_.write_stream_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.write_stream_.IsDefault()) {
    _impl_.write_stream_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:google.cloud.bigquery.storage.v1.AppendRowsResponse.write_stream)
}

inline bool AppendRowsResponse::has_response() const {
  return response_case() != RESPONSE_NOT_SET;
}
inline void AppendRowsResponse::clear_has_response() {
  _impl_._oneof_case_[0] = RESPONSE_NOT_SET;
}
inline AppendRowsResponse::ResponseCase AppendRowsResponse::response_case() const {
  return AppendRowsResponse::ResponseCase(_impl_._oneof_case_[0]);
}
// -------------------------------------------------------------------

// GetWriteStreamRequest

// string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
inline void GetWriteStreamRequest::clear_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.name_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::std::string& GetWriteStreamRequest::name() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.cloud.bigquery.storage.v1.GetWriteStreamRequest.name)
  return _internal_name();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void GetWriteStreamRequest::set_name(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:google.cloud.bigquery.storage.v1.GetWriteStreamRequest.name)
}
inline ::std::string* PROTOBUF_NONNULL GetWriteStreamRequest::mutable_name()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_name();
  // @@protoc_insertion_point(field_mutable:google.cloud.bigquery.storage.v1.GetWriteStreamRequest.name)
  return _s;
}
inline const ::std::string& GetWriteStreamRequest::_internal_name() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.name_.Get();
}
inline void GetWriteStreamRequest::_internal_set_name(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.name_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL GetWriteStreamRequest::_internal_mutable_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.name_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE GetWriteStreamRequest::release_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.cloud.bigquery.storage.v1.GetWriteStreamRequest.name)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.name_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.name_.Set("", GetArena());
  }
  return released;
}
inline void GetWriteStreamRequest::set_allocated_name(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.name_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.name_.IsDefault()) {
    _impl_.name_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:google.cloud.bigquery.storage.v1.GetWriteStreamRequest.name)
}

// .google.cloud.bigquery.storage.v1.WriteStreamView view = 3;
inline void GetWriteStreamRequest::clear_view() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.view_ = 0;
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline ::google::cloud::bigquery::storage::v1::WriteStreamView GetWriteStreamRequest::view() const {
  // @@protoc_insertion_point(field_get:google.cloud.bigquery.storage.v1.GetWriteStreamRequest.view)
  return _internal_view();
}
inline void GetWriteStreamRequest::set_view(::google::cloud::bigquery::storage::v1::WriteStreamView value) {
  _internal_set_view(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_set:google.cloud.bigquery.storage.v1.GetWriteStreamRequest.view)
}
inline ::google::cloud::bigquery::storage::v1::WriteStreamView GetWriteStreamRequest::_internal_view() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return static_cast<::google::cloud::bigquery::storage::v1::WriteStreamView>(_impl_.view_);
}
inline void GetWriteStreamRequest::_internal_set_view(::google::cloud::bigquery::storage::v1::WriteStreamView value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.view_ = value;
}

// -------------------------------------------------------------------

// BatchCommitWriteStreamsRequest

// string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
inline void BatchCommitWriteStreamsRequest::clear_parent() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.parent_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline const ::std::string& BatchCommitWriteStreamsRequest::parent() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.cloud.bigquery.storage.v1.BatchCommitWriteStreamsRequest.parent)
  return _internal_parent();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void BatchCommitWriteStreamsRequest::set_parent(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  _impl_.parent_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:google.cloud.bigquery.storage.v1.BatchCommitWriteStreamsRequest.parent)
}
inline ::std::string* PROTOBUF_NONNULL BatchCommitWriteStreamsRequest::mutable_parent()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::std::string* _s = _internal_mutable_parent();
  // @@protoc_insertion_point(field_mutable:google.cloud.bigquery.storage.v1.BatchCommitWriteStreamsRequest.parent)
  return _s;
}
inline const ::std::string& BatchCommitWriteStreamsRequest::_internal_parent() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.parent_.Get();
}
inline void BatchCommitWriteStreamsRequest::_internal_set_parent(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.parent_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL BatchCommitWriteStreamsRequest::_internal_mutable_parent() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.parent_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE BatchCommitWriteStreamsRequest::release_parent() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.cloud.bigquery.storage.v1.BatchCommitWriteStreamsRequest.parent)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000002U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  auto* released = _impl_.parent_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.parent_.Set("", GetArena());
  }
  return released;
}
inline void BatchCommitWriteStreamsRequest::set_allocated_parent(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  _impl_.parent_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.parent_.IsDefault()) {
    _impl_.parent_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:google.cloud.bigquery.storage.v1.BatchCommitWriteStreamsRequest.parent)
}

// repeated string write_streams = 2 [(.google.api.field_behavior) = REQUIRED];
inline int BatchCommitWriteStreamsRequest::_internal_write_streams_size() const {
  return _internal_write_streams().size();
}
inline int BatchCommitWriteStreamsRequest::write_streams_size() const {
  return _internal_write_streams_size();
}
inline void BatchCommitWriteStreamsRequest::clear_write_streams() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.write_streams_.Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline ::std::string* PROTOBUF_NONNULL BatchCommitWriteStreamsRequest::add_write_streams()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::std::string* _s =
      _internal_mutable_write_streams()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add_mutable:google.cloud.bigquery.storage.v1.BatchCommitWriteStreamsRequest.write_streams)
  return _s;
}
inline const ::std::string& BatchCommitWriteStreamsRequest::write_streams(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.cloud.bigquery.storage.v1.BatchCommitWriteStreamsRequest.write_streams)
  return _internal_write_streams().Get(index);
}
inline ::std::string* PROTOBUF_NONNULL BatchCommitWriteStreamsRequest::mutable_write_streams(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:google.cloud.bigquery.storage.v1.BatchCommitWriteStreamsRequest.write_streams)
  return _internal_mutable_write_streams()->Mutable(index);
}
template <typename Arg_, typename... Args_>
inline void BatchCommitWriteStreamsRequest::set_write_streams(int index, Arg_&& value, Args_... args) {
  ::google::protobuf::internal::AssignToString(
      *_internal_mutable_write_streams()->Mutable(index),
      ::std::forward<Arg_>(value), args... );
  // @@protoc_insertion_point(field_set:google.cloud.bigquery.storage.v1.BatchCommitWriteStreamsRequest.write_streams)
}
template <typename Arg_, typename... Args_>
inline void BatchCommitWriteStreamsRequest::add_write_streams(Arg_&& value, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::google::protobuf::internal::AddToRepeatedPtrField(
      ::google::protobuf::MessageLite::internal_visibility(), GetArena(),
      *_internal_mutable_write_streams(), ::std::forward<Arg_>(value),
      args... );
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add:google.cloud.bigquery.storage.v1.BatchCommitWriteStreamsRequest.write_streams)
}
inline const ::google::protobuf::RepeatedPtrField<::std::string>& BatchCommitWriteStreamsRequest::write_streams()
    const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:google.cloud.bigquery.storage.v1.BatchCommitWriteStreamsRequest.write_streams)
  return _internal_write_streams();
}
inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL
BatchCommitWriteStreamsRequest::mutable_write_streams() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_mutable_list:google.cloud.bigquery.storage.v1.BatchCommitWriteStreamsRequest.write_streams)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_write_streams();
}
inline const ::google::protobuf::RepeatedPtrField<::std::string>&
BatchCommitWriteStreamsRequest::_internal_write_streams() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.write_streams_;
}
inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL
BatchCommitWriteStreamsRequest::_internal_mutable_write_streams() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.write_streams_;
}

// -------------------------------------------------------------------

// BatchCommitWriteStreamsResponse

// .google.protobuf.Timestamp commit_time = 1;
inline bool BatchCommitWriteStreamsResponse::has_commit_time() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U);
  PROTOBUF_ASSUME(!value || _impl_.commit_time_ != nullptr);
  return value;
}
inline const ::google::protobuf::Timestamp& BatchCommitWriteStreamsResponse::_internal_commit_time() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::google::protobuf::Timestamp* p = _impl_.commit_time_;
  return p != nullptr ? *p : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::google::protobuf::Timestamp>(&::google::protobuf::Timestamp_globals_);
}
inline const ::google::protobuf::Timestamp& BatchCommitWriteStreamsResponse::commit_time() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.cloud.bigquery.storage.v1.BatchCommitWriteStreamsResponse.commit_time)
  return _internal_commit_time();
}
inline void BatchCommitWriteStreamsResponse::unsafe_arena_set_allocated_commit_time(
    ::google::protobuf::Timestamp* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.commit_time_);
  }
  _impl_.commit_time_ = reinterpret_cast<::google::protobuf::Timestamp*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.cloud.bigquery.storage.v1.BatchCommitWriteStreamsResponse.commit_time)
}
inline ::google::protobuf::Timestamp* PROTOBUF_NULLABLE BatchCommitWriteStreamsResponse::release_commit_time() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::google::protobuf::Timestamp* released = _impl_.commit_time_;
  _impl_.commit_time_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::google::protobuf::Timestamp* PROTOBUF_NULLABLE BatchCommitWriteStreamsResponse::unsafe_arena_release_commit_time() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.cloud.bigquery.storage.v1.BatchCommitWriteStreamsResponse.commit_time)

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::google::protobuf::Timestamp* temp = _impl_.commit_time_;
  _impl_.commit_time_ = nullptr;
  return temp;
}
inline ::google::protobuf::Timestamp* PROTOBUF_NONNULL BatchCommitWriteStreamsResponse::_internal_mutable_commit_time() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.commit_time_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::google::protobuf::Timestamp>(GetArena());
    _impl_.commit_time_ = reinterpret_cast<::google::protobuf::Timestamp*>(p);
  }
  return _impl_.commit_time_;
}
inline ::google::protobuf::Timestamp* PROTOBUF_NONNULL BatchCommitWriteStreamsResponse::mutable_commit_time()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::google::protobuf::Timestamp* _msg = _internal_mutable_commit_time();
  // @@protoc_insertion_point(field_mutable:google.cloud.bigquery.storage.v1.BatchCommitWriteStreamsResponse.commit_time)
  return _msg;
}
inline void BatchCommitWriteStreamsResponse::set_allocated_commit_time(::google::protobuf::Timestamp* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.commit_time_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::Message*>(value)->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }

  _impl_.commit_time_ = reinterpret_cast<::google::protobuf::Timestamp*>(value);
  // @@protoc_insertion_point(field_set_allocated:google.cloud.bigquery.storage.v1.BatchCommitWriteStreamsResponse.commit_time)
}

// repeated .google.cloud.bigquery.storage.v1.StorageError stream_errors = 2;
inline int BatchCommitWriteStreamsResponse::_internal_stream_errors_size() const {
  return _internal_stream_errors().size();
}
inline int BatchCommitWriteStreamsResponse::stream_errors_size() const {
  return _internal_stream_errors_size();
}
inline void BatchCommitWriteStreamsResponse::clear_stream_errors() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.stream_errors_.Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::google::cloud::bigquery::storage::v1::StorageError& BatchCommitWriteStreamsResponse::stream_errors(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.cloud.bigquery.storage.v1.BatchCommitWriteStreamsResponse.stream_errors)
  return _internal_stream_errors().Get(index);
}
inline ::google::cloud::bigquery::storage::v1::StorageError* PROTOBUF_NONNULL BatchCommitWriteStreamsResponse::mutable_stream_errors(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:google.cloud.bigquery.storage.v1.BatchCommitWriteStreamsResponse.stream_errors)
  return _internal_mutable_stream_errors()->Mutable(index);
}
inline ::google::cloud::bigquery::storage::v1::StorageError* PROTOBUF_NONNULL BatchCommitWriteStreamsResponse::add_stream_errors()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::google::cloud::bigquery::storage::v1::StorageError* _add =
      _internal_mutable_stream_errors()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add:google.cloud.bigquery.storage.v1.BatchCommitWriteStreamsResponse.stream_errors)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::google::cloud::bigquery::storage::v1::StorageError>& BatchCommitWriteStreamsResponse::stream_errors() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:google.cloud.bigquery.storage.v1.BatchCommitWriteStreamsResponse.stream_errors)
  return _internal_stream_errors();
}
inline ::google::protobuf::RepeatedPtrField<::google::cloud::bigquery::storage::v1::StorageError>* PROTOBUF_NONNULL
BatchCommitWriteStreamsResponse::mutable_stream_errors() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_mutable_list:google.cloud.bigquery.storage.v1.BatchCommitWriteStreamsResponse.stream_errors)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_stream_errors();
}
inline const ::google::protobuf::RepeatedPtrField<::google::cloud::bigquery::storage::v1::StorageError>&
BatchCommitWriteStreamsResponse::_internal_stream_errors() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.stream_errors_;
}
inline ::google::protobuf::RepeatedPtrField<::google::cloud::bigquery::storage::v1::StorageError>* PROTOBUF_NONNULL
BatchCommitWriteStreamsResponse::_internal_mutable_stream_errors() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.stream_errors_;
}

// -------------------------------------------------------------------

// FinalizeWriteStreamRequest

// string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
inline void FinalizeWriteStreamRequest::clear_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.name_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::std::string& FinalizeWriteStreamRequest::name() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.cloud.bigquery.storage.v1.FinalizeWriteStreamRequest.name)
  return _internal_name();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void FinalizeWriteStreamRequest::set_name(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:google.cloud.bigquery.storage.v1.FinalizeWriteStreamRequest.name)
}
inline ::std::string* PROTOBUF_NONNULL FinalizeWriteStreamRequest::mutable_name()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_name();
  // @@protoc_insertion_point(field_mutable:google.cloud.bigquery.storage.v1.FinalizeWriteStreamRequest.name)
  return _s;
}
inline const ::std::string& FinalizeWriteStreamRequest::_internal_name() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.name_.Get();
}
inline void FinalizeWriteStreamRequest::_internal_set_name(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.name_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL FinalizeWriteStreamRequest::_internal_mutable_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.name_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE FinalizeWriteStreamRequest::release_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.cloud.bigquery.storage.v1.FinalizeWriteStreamRequest.name)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.name_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.name_.Set("", GetArena());
  }
  return released;
}
inline void FinalizeWriteStreamRequest::set_allocated_name(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.name_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.name_.IsDefault()) {
    _impl_.name_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:google.cloud.bigquery.storage.v1.FinalizeWriteStreamRequest.name)
}

// -------------------------------------------------------------------

// FinalizeWriteStreamResponse

// int64 row_count = 1;
inline void FinalizeWriteStreamResponse::clear_row_count() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.row_count_ = ::int64_t{0};
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline ::int64_t FinalizeWriteStreamResponse::row_count() const {
  // @@protoc_insertion_point(field_get:google.cloud.bigquery.storage.v1.FinalizeWriteStreamResponse.row_count)
  return _internal_row_count();
}
inline void FinalizeWriteStreamResponse::set_row_count(::int64_t value) {
  _internal_set_row_count(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_set:google.cloud.bigquery.storage.v1.FinalizeWriteStreamResponse.row_count)
}
inline ::int64_t FinalizeWriteStreamResponse::_internal_row_count() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.row_count_;
}
inline void FinalizeWriteStreamResponse::_internal_set_row_count(::int64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.row_count_ = value;
}

// -------------------------------------------------------------------

// FlushRowsRequest

// string write_stream = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
inline void FlushRowsRequest::clear_write_stream() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.write_stream_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::std::string& FlushRowsRequest::write_stream() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.cloud.bigquery.storage.v1.FlushRowsRequest.write_stream)
  return _internal_write_stream();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void FlushRowsRequest::set_write_stream(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.write_stream_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:google.cloud.bigquery.storage.v1.FlushRowsRequest.write_stream)
}
inline ::std::string* PROTOBUF_NONNULL FlushRowsRequest::mutable_write_stream()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_write_stream();
  // @@protoc_insertion_point(field_mutable:google.cloud.bigquery.storage.v1.FlushRowsRequest.write_stream)
  return _s;
}
inline const ::std::string& FlushRowsRequest::_internal_write_stream() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.write_stream_.Get();
}
inline void FlushRowsRequest::_internal_set_write_stream(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.write_stream_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL FlushRowsRequest::_internal_mutable_write_stream() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.write_stream_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE FlushRowsRequest::release_write_stream() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.cloud.bigquery.storage.v1.FlushRowsRequest.write_stream)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.write_stream_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.write_stream_.Set("", GetArena());
  }
  return released;
}
inline void FlushRowsRequest::set_allocated_write_stream(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.write_stream_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.write_stream_.IsDefault()) {
    _impl_.write_stream_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:google.cloud.bigquery.storage.v1.FlushRowsRequest.write_stream)
}

// .google.protobuf.Int64Value offset = 2;
inline bool FlushRowsRequest::has_offset() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U);
  PROTOBUF_ASSUME(!value || _impl_.offset_ != nullptr);
  return value;
}
inline const ::google::protobuf::Int64Value& FlushRowsRequest::_internal_offset() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::google::protobuf::Int64Value* p = _impl_.offset_;
  return p != nullptr ? *p : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::google::protobuf::Int64Value>(&::google::protobuf::Int64Value_globals_);
}
inline const ::google::protobuf::Int64Value& FlushRowsRequest::offset() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.cloud.bigquery.storage.v1.FlushRowsRequest.offset)
  return _internal_offset();
}
inline void FlushRowsRequest::unsafe_arena_set_allocated_offset(
    ::google::protobuf::Int64Value* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.offset_);
  }
  _impl_.offset_ = reinterpret_cast<::google::protobuf::Int64Value*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.cloud.bigquery.storage.v1.FlushRowsRequest.offset)
}
inline ::google::protobuf::Int64Value* PROTOBUF_NULLABLE FlushRowsRequest::release_offset() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::google::protobuf::Int64Value* released = _impl_.offset_;
  _impl_.offset_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::google::protobuf::Int64Value* PROTOBUF_NULLABLE FlushRowsRequest::unsafe_arena_release_offset() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.cloud.bigquery.storage.v1.FlushRowsRequest.offset)

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::google::protobuf::Int64Value* temp = _impl_.offset_;
  _impl_.offset_ = nullptr;
  return temp;
}
inline ::google::protobuf::Int64Value* PROTOBUF_NONNULL FlushRowsRequest::_internal_mutable_offset() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.offset_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::google::protobuf::Int64Value>(GetArena());
    _impl_.offset_ = reinterpret_cast<::google::protobuf::Int64Value*>(p);
  }
  return _impl_.offset_;
}
inline ::google::protobuf::Int64Value* PROTOBUF_NONNULL FlushRowsRequest::mutable_offset()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::google::protobuf::Int64Value* _msg = _internal_mutable_offset();
  // @@protoc_insertion_point(field_mutable:google.cloud.bigquery.storage.v1.FlushRowsRequest.offset)
  return _msg;
}
inline void FlushRowsRequest::set_allocated_offset(::google::protobuf::Int64Value* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.offset_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::Message*>(value)->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }

  _impl_.offset_ = reinterpret_cast<::google::protobuf::Int64Value*>(value);
  // @@protoc_insertion_point(field_set_allocated:google.cloud.bigquery.storage.v1.FlushRowsRequest.offset)
}

// -------------------------------------------------------------------

// FlushRowsResponse

// int64 offset = 1;
inline void FlushRowsResponse::clear_offset() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.offset_ = ::int64_t{0};
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline ::int64_t FlushRowsResponse::offset() const {
  // @@protoc_insertion_point(field_get:google.cloud.bigquery.storage.v1.FlushRowsResponse.offset)
  return _internal_offset();
}
inline void FlushRowsResponse::set_offset(::int64_t value) {
  _internal_set_offset(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_set:google.cloud.bigquery.storage.v1.FlushRowsResponse.offset)
}
inline ::int64_t FlushRowsResponse::_internal_offset() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.offset_;
}
inline void FlushRowsResponse::_internal_set_offset(::int64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.offset_ = value;
}

// -------------------------------------------------------------------

// StorageError

// .google.cloud.bigquery.storage.v1.StorageError.StorageErrorCode code = 1;
inline void StorageError::clear_code() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.code_ = 0;
  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
}
inline ::google::cloud::bigquery::storage::v1::StorageError_StorageErrorCode StorageError::code() const {
  // @@protoc_insertion_point(field_get:google.cloud.bigquery.storage.v1.StorageError.code)
  return _internal_code();
}
inline void StorageError::set_code(::google::cloud::bigquery::storage::v1::StorageError_StorageErrorCode value) {
  _internal_set_code(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  // @@protoc_insertion_point(field_set:google.cloud.bigquery.storage.v1.StorageError.code)
}
inline ::google::cloud::bigquery::storage::v1::StorageError_StorageErrorCode StorageError::_internal_code() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return static_cast<::google::cloud::bigquery::storage::v1::StorageError_StorageErrorCode>(_impl_.code_);
}
inline void StorageError::_internal_set_code(::google::cloud::bigquery::storage::v1::StorageError_StorageErrorCode value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.code_ = value;
}

// string entity = 2;
inline void StorageError::clear_entity() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.entity_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::std::string& StorageError::entity() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.cloud.bigquery.storage.v1.StorageError.entity)
  return _internal_entity();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void StorageError::set_entity(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.entity_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:google.cloud.bigquery.storage.v1.StorageError.entity)
}
inline ::std::string* PROTOBUF_NONNULL StorageError::mutable_entity()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_entity();
  // @@protoc_insertion_point(field_mutable:google.cloud.bigquery.storage.v1.StorageError.entity)
  return _s;
}
inline const ::std::string& StorageError::_internal_entity() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.entity_.Get();
}
inline void StorageError::_internal_set_entity(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.entity_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL StorageError::_internal_mutable_entity() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.entity_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE StorageError::release_entity() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.cloud.bigquery.storage.v1.StorageError.entity)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.entity_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.entity_.Set("", GetArena());
  }
  return released;
}
inline void StorageError::set_allocated_entity(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.entity_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.entity_.IsDefault()) {
    _impl_.entity_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:google.cloud.bigquery.storage.v1.StorageError.entity)
}

// string error_message = 3;
inline void StorageError::clear_error_message() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.error_message_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline const ::std::string& StorageError::error_message() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.cloud.bigquery.storage.v1.StorageError.error_message)
  return _internal_error_message();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void StorageError::set_error_message(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  _impl_.error_message_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:google.cloud.bigquery.storage.v1.StorageError.error_message)
}
inline ::std::string* PROTOBUF_NONNULL StorageError::mutable_error_message()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::std::string* _s = _internal_mutable_error_message();
  // @@protoc_insertion_point(field_mutable:google.cloud.bigquery.storage.v1.StorageError.error_message)
  return _s;
}
inline const ::std::string& StorageError::_internal_error_message() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.error_message_.Get();
}
inline void StorageError::_internal_set_error_message(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.error_message_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL StorageError::_internal_mutable_error_message() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.error_message_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE StorageError::release_error_message() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.cloud.bigquery.storage.v1.StorageError.error_message)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000002U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  auto* released = _impl_.error_message_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.error_message_.Set("", GetArena());
  }
  return released;
}
inline void StorageError::set_allocated_error_message(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  _impl_.error_message_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.error_message_.IsDefault()) {
    _impl_.error_message_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:google.cloud.bigquery.storage.v1.StorageError.error_message)
}

// -------------------------------------------------------------------

// RowError

// int64 index = 1;
inline void RowError::clear_index() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.index_ = ::int64_t{0};
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline ::int64_t RowError::index() const {
  // @@protoc_insertion_point(field_get:google.cloud.bigquery.storage.v1.RowError.index)
  return _internal_index();
}
inline void RowError::set_index(::int64_t value) {
  _internal_set_index(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_set:google.cloud.bigquery.storage.v1.RowError.index)
}
inline ::int64_t RowError::_internal_index() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.index_;
}
inline void RowError::_internal_set_index(::int64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.index_ = value;
}

// .google.cloud.bigquery.storage.v1.RowError.RowErrorCode code = 2;
inline void RowError::clear_code() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.code_ = 0;
  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
}
inline ::google::cloud::bigquery::storage::v1::RowError_RowErrorCode RowError::code() const {
  // @@protoc_insertion_point(field_get:google.cloud.bigquery.storage.v1.RowError.code)
  return _internal_code();
}
inline void RowError::set_code(::google::cloud::bigquery::storage::v1::RowError_RowErrorCode value) {
  _internal_set_code(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  // @@protoc_insertion_point(field_set:google.cloud.bigquery.storage.v1.RowError.code)
}
inline ::google::cloud::bigquery::storage::v1::RowError_RowErrorCode RowError::_internal_code() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return static_cast<::google::cloud::bigquery::storage::v1::RowError_RowErrorCode>(_impl_.code_);
}
inline void RowError::_internal_set_code(::google::cloud::bigquery::storage::v1::RowError_RowErrorCode value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.code_ = value;
}

// string message = 3;
inline void RowError::clear_message() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.message_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::std::string& RowError::message() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.cloud.bigquery.storage.v1.RowError.message)
  return _internal_message();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void RowError::set_message(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.message_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:google.cloud.bigquery.storage.v1.RowError.message)
}
inline ::std::string* PROTOBUF_NONNULL RowError::mutable_message()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_message();
  // @@protoc_insertion_point(field_mutable:google.cloud.bigquery.storage.v1.RowError.message)
  return _s;
}
inline const ::std::string& RowError::_internal_message() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.message_.Get();
}
inline void RowError::_internal_set_message(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.message_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL RowError::_internal_mutable_message() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.message_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE RowError::release_message() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.cloud.bigquery.storage.v1.RowError.message)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.message_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.message_.Set("", GetArena());
  }
  return released;
}
inline void RowError::set_allocated_message(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.message_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.message_.IsDefault()) {
    _impl_.message_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:google.cloud.bigquery.storage.v1.RowError.message)
}

#ifdef __GNUC__
#pragma GCC diagnostic pop
#endif  // __GNUC__

// @@protoc_insertion_point(namespace_scope)
}  // namespace v1
}  // namespace storage
}  // namespace bigquery
}  // namespace cloud
}  // namespace google


namespace google {
namespace protobuf {

template <>
struct is_proto_enum<::google::cloud::bigquery::storage::v1::AppendRowsRequest_MissingValueInterpretation> : std::true_type {};
template <>
inline const EnumDescriptor* PROTOBUF_NONNULL GetEnumDescriptor<::google::cloud::bigquery::storage::v1::AppendRowsRequest_MissingValueInterpretation>() {
  return ::google::cloud::bigquery::storage::v1::AppendRowsRequest_MissingValueInterpretation_descriptor();
}
template <>
struct is_proto_enum<::google::cloud::bigquery::storage::v1::StorageError_StorageErrorCode> : std::true_type {};
template <>
inline const EnumDescriptor* PROTOBUF_NONNULL GetEnumDescriptor<::google::cloud::bigquery::storage::v1::StorageError_StorageErrorCode>() {
  return ::google::cloud::bigquery::storage::v1::StorageError_StorageErrorCode_descriptor();
}
template <>
struct is_proto_enum<::google::cloud::bigquery::storage::v1::RowError_RowErrorCode> : std::true_type {};
template <>
inline const EnumDescriptor* PROTOBUF_NONNULL GetEnumDescriptor<::google::cloud::bigquery::storage::v1::RowError_RowErrorCode>() {
  return ::google::cloud::bigquery::storage::v1::RowError_RowErrorCode_descriptor();
}

}  // namespace protobuf
}  // namespace google

// @@protoc_insertion_point(global_scope)

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

#endif  // google_2fcloud_2fbigquery_2fstorage_2fv1_2fstorage_2eproto_2epb_2eh
