// This is a generated file - do not edit.
//
// Generated from user-attributes.proto.

// @dart = 3.3

// ignore_for_file: annotate_overrides, camel_case_types, comment_references
// ignore_for_file: constant_identifier_names
// ignore_for_file: curly_braces_in_flow_control_structures
// ignore_for_file: deprecated_member_use_from_same_package, library_prefixes
// ignore_for_file: non_constant_identifier_names

import 'dart:core' as $core;

import 'package:protobuf/protobuf.dart' as $pb;

import 'shared.pb.dart' as $1;
import 'user-attributes.pbenum.dart';

export 'package:protobuf/protobuf.dart' show GeneratedMessageGenericExtensions;

export 'user-attributes.pbenum.dart';

class UserAttribute extends $pb.GeneratedMessage {
  factory UserAttribute({
    $core.String? projectID,
    $core.String? userID,
    $core.String? partnerID,
    $core.Iterable<RestrictionActorIDs>? restrictionActorIDs,
    $core.Iterable<BookingAuthorization>? bookingAuthorizations,
  }) {
    final result = create();
    if (projectID != null) result.projectID = projectID;
    if (userID != null) result.userID = userID;
    if (partnerID != null) result.partnerID = partnerID;
    if (restrictionActorIDs != null) result.restrictionActorIDs.addAll(restrictionActorIDs);
    if (bookingAuthorizations != null) result.bookingAuthorizations.addAll(bookingAuthorizations);
    return result;
  }

  UserAttribute._();

  factory UserAttribute.fromBuffer($core.List<$core.int> data, [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(data, registry);
  factory UserAttribute.fromJson($core.String json, [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(json, registry);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'UserAttribute', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'ProjectID', protoName: 'ProjectID')
    ..aOS(2, _omitFieldNames ? '' : 'UserID', protoName: 'UserID')
    ..aOS(3, _omitFieldNames ? '' : 'PartnerID', protoName: 'PartnerID')
    ..pc<RestrictionActorIDs>(4, _omitFieldNames ? '' : 'RestrictionActorIDs', $pb.PbFieldType.PM, protoName: 'RestrictionActorIDs', subBuilder: RestrictionActorIDs.create)
    ..pc<BookingAuthorization>(5, _omitFieldNames ? '' : 'BookingAuthorizations', $pb.PbFieldType.PM, protoName: 'BookingAuthorizations', subBuilder: BookingAuthorization.create)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
  UserAttribute clone() => UserAttribute()..mergeFromMessage(this);
  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
  UserAttribute copyWith(void Function(UserAttribute) updates) => super.copyWith((message) => updates(message as UserAttribute)) as UserAttribute;

  @$core.override
  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static UserAttribute create() => UserAttribute._();
  @$core.override
  UserAttribute createEmptyInstance() => create();
  static $pb.PbList<UserAttribute> createRepeated() => $pb.PbList<UserAttribute>();
  @$core.pragma('dart2js:noInline')
  static UserAttribute getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<UserAttribute>(create);
  static UserAttribute? _defaultInstance;

  @$pb.TagNumber(1)
  $core.String get projectID => $_getSZ(0);
  @$pb.TagNumber(1)
  set projectID($core.String value) => $_setString(0, value);
  @$pb.TagNumber(1)
  $core.bool hasProjectID() => $_has(0);
  @$pb.TagNumber(1)
  void clearProjectID() => $_clearField(1);

  @$pb.TagNumber(2)
  $core.String get userID => $_getSZ(1);
  @$pb.TagNumber(2)
  set userID($core.String value) => $_setString(1, value);
  @$pb.TagNumber(2)
  $core.bool hasUserID() => $_has(1);
  @$pb.TagNumber(2)
  void clearUserID() => $_clearField(2);

  @$pb.TagNumber(3)
  $core.String get partnerID => $_getSZ(2);
  @$pb.TagNumber(3)
  set partnerID($core.String value) => $_setString(2, value);
  @$pb.TagNumber(3)
  $core.bool hasPartnerID() => $_has(2);
  @$pb.TagNumber(3)
  void clearPartnerID() => $_clearField(3);

  @$pb.TagNumber(4)
  $pb.PbList<RestrictionActorIDs> get restrictionActorIDs => $_getList(3);

  @$pb.TagNumber(5)
  $pb.PbList<BookingAuthorization> get bookingAuthorizations => $_getList(4);
}

/// User Attribute Restriction Actor IDs -- related to data restriction
class RestrictionActorIDs extends $pb.GeneratedMessage {
  factory RestrictionActorIDs({
    $core.String? restrictionID,
    $core.Iterable<$core.String>? actorIDs,
  }) {
    final result = create();
    if (restrictionID != null) result.restrictionID = restrictionID;
    if (actorIDs != null) result.actorIDs.addAll(actorIDs);
    return result;
  }

  RestrictionActorIDs._();

  factory RestrictionActorIDs.fromBuffer($core.List<$core.int> data, [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(data, registry);
  factory RestrictionActorIDs.fromJson($core.String json, [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(json, registry);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'RestrictionActorIDs', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'RestrictionID', protoName: 'RestrictionID')
    ..pPS(2, _omitFieldNames ? '' : 'ActorIDs', protoName: 'ActorIDs')
    ..hasRequiredFields = false
  ;

  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
  RestrictionActorIDs clone() => RestrictionActorIDs()..mergeFromMessage(this);
  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
  RestrictionActorIDs copyWith(void Function(RestrictionActorIDs) updates) => super.copyWith((message) => updates(message as RestrictionActorIDs)) as RestrictionActorIDs;

  @$core.override
  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static RestrictionActorIDs create() => RestrictionActorIDs._();
  @$core.override
  RestrictionActorIDs createEmptyInstance() => create();
  static $pb.PbList<RestrictionActorIDs> createRepeated() => $pb.PbList<RestrictionActorIDs>();
  @$core.pragma('dart2js:noInline')
  static RestrictionActorIDs getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<RestrictionActorIDs>(create);
  static RestrictionActorIDs? _defaultInstance;

  @$pb.TagNumber(1)
  $core.String get restrictionID => $_getSZ(0);
  @$pb.TagNumber(1)
  set restrictionID($core.String value) => $_setString(0, value);
  @$pb.TagNumber(1)
  $core.bool hasRestrictionID() => $_has(0);
  @$pb.TagNumber(1)
  void clearRestrictionID() => $_clearField(1);

  @$pb.TagNumber(2)
  $pb.PbList<$core.String> get actorIDs => $_getList(1);
}

class BookingAuthorization extends $pb.GeneratedMessage {
  factory BookingAuthorization({
    $core.String? actorID,
    BookingPermission? loadPermission,
    BookingPermission? unloadPermission,
  }) {
    final result = create();
    if (actorID != null) result.actorID = actorID;
    if (loadPermission != null) result.loadPermission = loadPermission;
    if (unloadPermission != null) result.unloadPermission = unloadPermission;
    return result;
  }

  BookingAuthorization._();

  factory BookingAuthorization.fromBuffer($core.List<$core.int> data, [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(data, registry);
  factory BookingAuthorization.fromJson($core.String json, [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(json, registry);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'BookingAuthorization', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'ActorID', protoName: 'ActorID')
    ..e<BookingPermission>(2, _omitFieldNames ? '' : 'LoadPermission', $pb.PbFieldType.OE, protoName: 'LoadPermission', defaultOrMaker: BookingPermission.BOOKING_PERMISSION_UNKNOWN, valueOf: BookingPermission.valueOf, enumValues: BookingPermission.values)
    ..e<BookingPermission>(3, _omitFieldNames ? '' : 'UnloadPermission', $pb.PbFieldType.OE, protoName: 'UnloadPermission', defaultOrMaker: BookingPermission.BOOKING_PERMISSION_UNKNOWN, valueOf: BookingPermission.valueOf, enumValues: BookingPermission.values)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
  BookingAuthorization clone() => BookingAuthorization()..mergeFromMessage(this);
  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
  BookingAuthorization copyWith(void Function(BookingAuthorization) updates) => super.copyWith((message) => updates(message as BookingAuthorization)) as BookingAuthorization;

  @$core.override
  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static BookingAuthorization create() => BookingAuthorization._();
  @$core.override
  BookingAuthorization createEmptyInstance() => create();
  static $pb.PbList<BookingAuthorization> createRepeated() => $pb.PbList<BookingAuthorization>();
  @$core.pragma('dart2js:noInline')
  static BookingAuthorization getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<BookingAuthorization>(create);
  static BookingAuthorization? _defaultInstance;

  @$pb.TagNumber(1)
  $core.String get actorID => $_getSZ(0);
  @$pb.TagNumber(1)
  set actorID($core.String value) => $_setString(0, value);
  @$pb.TagNumber(1)
  $core.bool hasActorID() => $_has(0);
  @$pb.TagNumber(1)
  void clearActorID() => $_clearField(1);

  @$pb.TagNumber(2)
  BookingPermission get loadPermission => $_getN(1);
  @$pb.TagNumber(2)
  set loadPermission(BookingPermission value) => $_setField(2, value);
  @$pb.TagNumber(2)
  $core.bool hasLoadPermission() => $_has(1);
  @$pb.TagNumber(2)
  void clearLoadPermission() => $_clearField(2);

  @$pb.TagNumber(3)
  BookingPermission get unloadPermission => $_getN(2);
  @$pb.TagNumber(3)
  set unloadPermission(BookingPermission value) => $_setField(3, value);
  @$pb.TagNumber(3)
  $core.bool hasUnloadPermission() => $_has(2);
  @$pb.TagNumber(3)
  void clearUnloadPermission() => $_clearField(3);
}

class GetUserAttributesRequest extends $pb.GeneratedMessage {
  factory GetUserAttributesRequest({
    $1.RequestProjectHeader? header,
    $core.String? userID,
  }) {
    final result = create();
    if (header != null) result.header = header;
    if (userID != null) result.userID = userID;
    return result;
  }

  GetUserAttributesRequest._();

  factory GetUserAttributesRequest.fromBuffer($core.List<$core.int> data, [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(data, registry);
  factory GetUserAttributesRequest.fromJson($core.String json, [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(json, registry);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetUserAttributesRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOM<$1.RequestProjectHeader>(1, _omitFieldNames ? '' : 'Header', protoName: 'Header', subBuilder: $1.RequestProjectHeader.create)
    ..aOS(2, _omitFieldNames ? '' : 'UserID', protoName: 'UserID')
    ..hasRequiredFields = false
  ;

  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
  GetUserAttributesRequest clone() => GetUserAttributesRequest()..mergeFromMessage(this);
  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
  GetUserAttributesRequest copyWith(void Function(GetUserAttributesRequest) updates) => super.copyWith((message) => updates(message as GetUserAttributesRequest)) as GetUserAttributesRequest;

  @$core.override
  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static GetUserAttributesRequest create() => GetUserAttributesRequest._();
  @$core.override
  GetUserAttributesRequest createEmptyInstance() => create();
  static $pb.PbList<GetUserAttributesRequest> createRepeated() => $pb.PbList<GetUserAttributesRequest>();
  @$core.pragma('dart2js:noInline')
  static GetUserAttributesRequest getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<GetUserAttributesRequest>(create);
  static GetUserAttributesRequest? _defaultInstance;

  @$pb.TagNumber(1)
  $1.RequestProjectHeader get header => $_getN(0);
  @$pb.TagNumber(1)
  set header($1.RequestProjectHeader value) => $_setField(1, value);
  @$pb.TagNumber(1)
  $core.bool hasHeader() => $_has(0);
  @$pb.TagNumber(1)
  void clearHeader() => $_clearField(1);
  @$pb.TagNumber(1)
  $1.RequestProjectHeader ensureHeader() => $_ensure(0);

  @$pb.TagNumber(2)
  $core.String get userID => $_getSZ(1);
  @$pb.TagNumber(2)
  set userID($core.String value) => $_setString(1, value);
  @$pb.TagNumber(2)
  $core.bool hasUserID() => $_has(1);
  @$pb.TagNumber(2)
  void clearUserID() => $_clearField(2);
}

class GetUserAttributesResult extends $pb.GeneratedMessage {
  factory GetUserAttributesResult({
    UserAttribute? userAttribute,
  }) {
    final result = create();
    if (userAttribute != null) result.userAttribute = userAttribute;
    return result;
  }

  GetUserAttributesResult._();

  factory GetUserAttributesResult.fromBuffer($core.List<$core.int> data, [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(data, registry);
  factory GetUserAttributesResult.fromJson($core.String json, [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(json, registry);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetUserAttributesResult', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOM<UserAttribute>(1, _omitFieldNames ? '' : 'UserAttribute', protoName: 'UserAttribute', subBuilder: UserAttribute.create)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
  GetUserAttributesResult clone() => GetUserAttributesResult()..mergeFromMessage(this);
  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
  GetUserAttributesResult copyWith(void Function(GetUserAttributesResult) updates) => super.copyWith((message) => updates(message as GetUserAttributesResult)) as GetUserAttributesResult;

  @$core.override
  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static GetUserAttributesResult create() => GetUserAttributesResult._();
  @$core.override
  GetUserAttributesResult createEmptyInstance() => create();
  static $pb.PbList<GetUserAttributesResult> createRepeated() => $pb.PbList<GetUserAttributesResult>();
  @$core.pragma('dart2js:noInline')
  static GetUserAttributesResult getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<GetUserAttributesResult>(create);
  static GetUserAttributesResult? _defaultInstance;

  @$pb.TagNumber(1)
  UserAttribute get userAttribute => $_getN(0);
  @$pb.TagNumber(1)
  set userAttribute(UserAttribute value) => $_setField(1, value);
  @$pb.TagNumber(1)
  $core.bool hasUserAttribute() => $_has(0);
  @$pb.TagNumber(1)
  void clearUserAttribute() => $_clearField(1);
  @$pb.TagNumber(1)
  UserAttribute ensureUserAttribute() => $_ensure(0);
}

class PutUserAttributesRequest extends $pb.GeneratedMessage {
  factory PutUserAttributesRequest({
    $1.RequestProjectHeader? header,
    $core.String? userID,
    $core.String? partnerID,
    $core.Iterable<RestrictionActorIDs>? restrictionActorIDs,
    $core.Iterable<BookingAuthorization>? bookingAuthorizations,
  }) {
    final result = create();
    if (header != null) result.header = header;
    if (userID != null) result.userID = userID;
    if (partnerID != null) result.partnerID = partnerID;
    if (restrictionActorIDs != null) result.restrictionActorIDs.addAll(restrictionActorIDs);
    if (bookingAuthorizations != null) result.bookingAuthorizations.addAll(bookingAuthorizations);
    return result;
  }

  PutUserAttributesRequest._();

  factory PutUserAttributesRequest.fromBuffer($core.List<$core.int> data, [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(data, registry);
  factory PutUserAttributesRequest.fromJson($core.String json, [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(json, registry);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'PutUserAttributesRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOM<$1.RequestProjectHeader>(1, _omitFieldNames ? '' : 'Header', protoName: 'Header', subBuilder: $1.RequestProjectHeader.create)
    ..aOS(2, _omitFieldNames ? '' : 'UserID', protoName: 'UserID')
    ..aOS(3, _omitFieldNames ? '' : 'PartnerID', protoName: 'PartnerID')
    ..pc<RestrictionActorIDs>(4, _omitFieldNames ? '' : 'RestrictionActorIDs', $pb.PbFieldType.PM, protoName: 'RestrictionActorIDs', subBuilder: RestrictionActorIDs.create)
    ..pc<BookingAuthorization>(5, _omitFieldNames ? '' : 'BookingAuthorizations', $pb.PbFieldType.PM, protoName: 'BookingAuthorizations', subBuilder: BookingAuthorization.create)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
  PutUserAttributesRequest clone() => PutUserAttributesRequest()..mergeFromMessage(this);
  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
  PutUserAttributesRequest copyWith(void Function(PutUserAttributesRequest) updates) => super.copyWith((message) => updates(message as PutUserAttributesRequest)) as PutUserAttributesRequest;

  @$core.override
  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static PutUserAttributesRequest create() => PutUserAttributesRequest._();
  @$core.override
  PutUserAttributesRequest createEmptyInstance() => create();
  static $pb.PbList<PutUserAttributesRequest> createRepeated() => $pb.PbList<PutUserAttributesRequest>();
  @$core.pragma('dart2js:noInline')
  static PutUserAttributesRequest getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<PutUserAttributesRequest>(create);
  static PutUserAttributesRequest? _defaultInstance;

  @$pb.TagNumber(1)
  $1.RequestProjectHeader get header => $_getN(0);
  @$pb.TagNumber(1)
  set header($1.RequestProjectHeader value) => $_setField(1, value);
  @$pb.TagNumber(1)
  $core.bool hasHeader() => $_has(0);
  @$pb.TagNumber(1)
  void clearHeader() => $_clearField(1);
  @$pb.TagNumber(1)
  $1.RequestProjectHeader ensureHeader() => $_ensure(0);

  @$pb.TagNumber(2)
  $core.String get userID => $_getSZ(1);
  @$pb.TagNumber(2)
  set userID($core.String value) => $_setString(1, value);
  @$pb.TagNumber(2)
  $core.bool hasUserID() => $_has(1);
  @$pb.TagNumber(2)
  void clearUserID() => $_clearField(2);

  @$pb.TagNumber(3)
  $core.String get partnerID => $_getSZ(2);
  @$pb.TagNumber(3)
  set partnerID($core.String value) => $_setString(2, value);
  @$pb.TagNumber(3)
  $core.bool hasPartnerID() => $_has(2);
  @$pb.TagNumber(3)
  void clearPartnerID() => $_clearField(3);

  @$pb.TagNumber(4)
  $pb.PbList<RestrictionActorIDs> get restrictionActorIDs => $_getList(3);

  @$pb.TagNumber(5)
  $pb.PbList<BookingAuthorization> get bookingAuthorizations => $_getList(4);
}

class PutUserAttributesResult extends $pb.GeneratedMessage {
  factory PutUserAttributesResult({
    UserAttribute? userAttribute,
  }) {
    final result = create();
    if (userAttribute != null) result.userAttribute = userAttribute;
    return result;
  }

  PutUserAttributesResult._();

  factory PutUserAttributesResult.fromBuffer($core.List<$core.int> data, [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(data, registry);
  factory PutUserAttributesResult.fromJson($core.String json, [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(json, registry);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'PutUserAttributesResult', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOM<UserAttribute>(1, _omitFieldNames ? '' : 'UserAttribute', protoName: 'UserAttribute', subBuilder: UserAttribute.create)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
  PutUserAttributesResult clone() => PutUserAttributesResult()..mergeFromMessage(this);
  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
  PutUserAttributesResult copyWith(void Function(PutUserAttributesResult) updates) => super.copyWith((message) => updates(message as PutUserAttributesResult)) as PutUserAttributesResult;

  @$core.override
  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static PutUserAttributesResult create() => PutUserAttributesResult._();
  @$core.override
  PutUserAttributesResult createEmptyInstance() => create();
  static $pb.PbList<PutUserAttributesResult> createRepeated() => $pb.PbList<PutUserAttributesResult>();
  @$core.pragma('dart2js:noInline')
  static PutUserAttributesResult getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<PutUserAttributesResult>(create);
  static PutUserAttributesResult? _defaultInstance;

  @$pb.TagNumber(1)
  UserAttribute get userAttribute => $_getN(0);
  @$pb.TagNumber(1)
  set userAttribute(UserAttribute value) => $_setField(1, value);
  @$pb.TagNumber(1)
  $core.bool hasUserAttribute() => $_has(0);
  @$pb.TagNumber(1)
  void clearUserAttribute() => $_clearField(1);
  @$pb.TagNumber(1)
  UserAttribute ensureUserAttribute() => $_ensure(0);
}

class DeleteUserAttributesRequest extends $pb.GeneratedMessage {
  factory DeleteUserAttributesRequest({
    $1.RequestProjectHeader? header,
    $core.String? userID,
  }) {
    final result = create();
    if (header != null) result.header = header;
    if (userID != null) result.userID = userID;
    return result;
  }

  DeleteUserAttributesRequest._();

  factory DeleteUserAttributesRequest.fromBuffer($core.List<$core.int> data, [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(data, registry);
  factory DeleteUserAttributesRequest.fromJson($core.String json, [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(json, registry);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'DeleteUserAttributesRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOM<$1.RequestProjectHeader>(1, _omitFieldNames ? '' : 'Header', protoName: 'Header', subBuilder: $1.RequestProjectHeader.create)
    ..aOS(2, _omitFieldNames ? '' : 'UserID', protoName: 'UserID')
    ..hasRequiredFields = false
  ;

  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
  DeleteUserAttributesRequest clone() => DeleteUserAttributesRequest()..mergeFromMessage(this);
  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
  DeleteUserAttributesRequest copyWith(void Function(DeleteUserAttributesRequest) updates) => super.copyWith((message) => updates(message as DeleteUserAttributesRequest)) as DeleteUserAttributesRequest;

  @$core.override
  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static DeleteUserAttributesRequest create() => DeleteUserAttributesRequest._();
  @$core.override
  DeleteUserAttributesRequest createEmptyInstance() => create();
  static $pb.PbList<DeleteUserAttributesRequest> createRepeated() => $pb.PbList<DeleteUserAttributesRequest>();
  @$core.pragma('dart2js:noInline')
  static DeleteUserAttributesRequest getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<DeleteUserAttributesRequest>(create);
  static DeleteUserAttributesRequest? _defaultInstance;

  @$pb.TagNumber(1)
  $1.RequestProjectHeader get header => $_getN(0);
  @$pb.TagNumber(1)
  set header($1.RequestProjectHeader value) => $_setField(1, value);
  @$pb.TagNumber(1)
  $core.bool hasHeader() => $_has(0);
  @$pb.TagNumber(1)
  void clearHeader() => $_clearField(1);
  @$pb.TagNumber(1)
  $1.RequestProjectHeader ensureHeader() => $_ensure(0);

  @$pb.TagNumber(2)
  $core.String get userID => $_getSZ(1);
  @$pb.TagNumber(2)
  set userID($core.String value) => $_setString(1, value);
  @$pb.TagNumber(2)
  $core.bool hasUserID() => $_has(1);
  @$pb.TagNumber(2)
  void clearUserID() => $_clearField(2);
}

class DeleteUserAttributesResult extends $pb.GeneratedMessage {
  factory DeleteUserAttributesResult() => create();

  DeleteUserAttributesResult._();

  factory DeleteUserAttributesResult.fromBuffer($core.List<$core.int> data, [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(data, registry);
  factory DeleteUserAttributesResult.fromJson($core.String json, [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(json, registry);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'DeleteUserAttributesResult', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
  DeleteUserAttributesResult clone() => DeleteUserAttributesResult()..mergeFromMessage(this);
  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
  DeleteUserAttributesResult copyWith(void Function(DeleteUserAttributesResult) updates) => super.copyWith((message) => updates(message as DeleteUserAttributesResult)) as DeleteUserAttributesResult;

  @$core.override
  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static DeleteUserAttributesResult create() => DeleteUserAttributesResult._();
  @$core.override
  DeleteUserAttributesResult createEmptyInstance() => create();
  static $pb.PbList<DeleteUserAttributesResult> createRepeated() => $pb.PbList<DeleteUserAttributesResult>();
  @$core.pragma('dart2js:noInline')
  static DeleteUserAttributesResult getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<DeleteUserAttributesResult>(create);
  static DeleteUserAttributesResult? _defaultInstance;
}

class ListUserAttributesRequest extends $pb.GeneratedMessage {
  factory ListUserAttributesRequest({
    $1.RequestProjectHeader? header,
    $core.String? partnerID,
  }) {
    final result = create();
    if (header != null) result.header = header;
    if (partnerID != null) result.partnerID = partnerID;
    return result;
  }

  ListUserAttributesRequest._();

  factory ListUserAttributesRequest.fromBuffer($core.List<$core.int> data, [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(data, registry);
  factory ListUserAttributesRequest.fromJson($core.String json, [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(json, registry);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ListUserAttributesRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOM<$1.RequestProjectHeader>(1, _omitFieldNames ? '' : 'Header', protoName: 'Header', subBuilder: $1.RequestProjectHeader.create)
    ..aOS(2, _omitFieldNames ? '' : 'PartnerID', protoName: 'PartnerID')
    ..hasRequiredFields = false
  ;

  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
  ListUserAttributesRequest clone() => ListUserAttributesRequest()..mergeFromMessage(this);
  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
  ListUserAttributesRequest copyWith(void Function(ListUserAttributesRequest) updates) => super.copyWith((message) => updates(message as ListUserAttributesRequest)) as ListUserAttributesRequest;

  @$core.override
  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ListUserAttributesRequest create() => ListUserAttributesRequest._();
  @$core.override
  ListUserAttributesRequest createEmptyInstance() => create();
  static $pb.PbList<ListUserAttributesRequest> createRepeated() => $pb.PbList<ListUserAttributesRequest>();
  @$core.pragma('dart2js:noInline')
  static ListUserAttributesRequest getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<ListUserAttributesRequest>(create);
  static ListUserAttributesRequest? _defaultInstance;

  @$pb.TagNumber(1)
  $1.RequestProjectHeader get header => $_getN(0);
  @$pb.TagNumber(1)
  set header($1.RequestProjectHeader value) => $_setField(1, value);
  @$pb.TagNumber(1)
  $core.bool hasHeader() => $_has(0);
  @$pb.TagNumber(1)
  void clearHeader() => $_clearField(1);
  @$pb.TagNumber(1)
  $1.RequestProjectHeader ensureHeader() => $_ensure(0);

  @$pb.TagNumber(2)
  $core.String get partnerID => $_getSZ(1);
  @$pb.TagNumber(2)
  set partnerID($core.String value) => $_setString(1, value);
  @$pb.TagNumber(2)
  $core.bool hasPartnerID() => $_has(1);
  @$pb.TagNumber(2)
  void clearPartnerID() => $_clearField(2);
}

class ListUserAttributesResult extends $pb.GeneratedMessage {
  factory ListUserAttributesResult({
    $core.Iterable<UserAttribute>? userAttributes,
  }) {
    final result = create();
    if (userAttributes != null) result.userAttributes.addAll(userAttributes);
    return result;
  }

  ListUserAttributesResult._();

  factory ListUserAttributesResult.fromBuffer($core.List<$core.int> data, [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(data, registry);
  factory ListUserAttributesResult.fromJson($core.String json, [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(json, registry);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ListUserAttributesResult', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..pc<UserAttribute>(1, _omitFieldNames ? '' : 'UserAttributes', $pb.PbFieldType.PM, protoName: 'UserAttributes', subBuilder: UserAttribute.create)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
  ListUserAttributesResult clone() => ListUserAttributesResult()..mergeFromMessage(this);
  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
  ListUserAttributesResult copyWith(void Function(ListUserAttributesResult) updates) => super.copyWith((message) => updates(message as ListUserAttributesResult)) as ListUserAttributesResult;

  @$core.override
  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ListUserAttributesResult create() => ListUserAttributesResult._();
  @$core.override
  ListUserAttributesResult createEmptyInstance() => create();
  static $pb.PbList<ListUserAttributesResult> createRepeated() => $pb.PbList<ListUserAttributesResult>();
  @$core.pragma('dart2js:noInline')
  static ListUserAttributesResult getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<ListUserAttributesResult>(create);
  static ListUserAttributesResult? _defaultInstance;

  @$pb.TagNumber(1)
  $pb.PbList<UserAttribute> get userAttributes => $_getList(0);
}

class DeleteForProjectUserAttributesRequest extends $pb.GeneratedMessage {
  factory DeleteForProjectUserAttributesRequest({
    $1.RequestProjectHeader? header,
  }) {
    final result = create();
    if (header != null) result.header = header;
    return result;
  }

  DeleteForProjectUserAttributesRequest._();

  factory DeleteForProjectUserAttributesRequest.fromBuffer($core.List<$core.int> data, [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(data, registry);
  factory DeleteForProjectUserAttributesRequest.fromJson($core.String json, [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(json, registry);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'DeleteForProjectUserAttributesRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOM<$1.RequestProjectHeader>(1, _omitFieldNames ? '' : 'Header', protoName: 'Header', subBuilder: $1.RequestProjectHeader.create)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
  DeleteForProjectUserAttributesRequest clone() => DeleteForProjectUserAttributesRequest()..mergeFromMessage(this);
  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
  DeleteForProjectUserAttributesRequest copyWith(void Function(DeleteForProjectUserAttributesRequest) updates) => super.copyWith((message) => updates(message as DeleteForProjectUserAttributesRequest)) as DeleteForProjectUserAttributesRequest;

  @$core.override
  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static DeleteForProjectUserAttributesRequest create() => DeleteForProjectUserAttributesRequest._();
  @$core.override
  DeleteForProjectUserAttributesRequest createEmptyInstance() => create();
  static $pb.PbList<DeleteForProjectUserAttributesRequest> createRepeated() => $pb.PbList<DeleteForProjectUserAttributesRequest>();
  @$core.pragma('dart2js:noInline')
  static DeleteForProjectUserAttributesRequest getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<DeleteForProjectUserAttributesRequest>(create);
  static DeleteForProjectUserAttributesRequest? _defaultInstance;

  @$pb.TagNumber(1)
  $1.RequestProjectHeader get header => $_getN(0);
  @$pb.TagNumber(1)
  set header($1.RequestProjectHeader value) => $_setField(1, value);
  @$pb.TagNumber(1)
  $core.bool hasHeader() => $_has(0);
  @$pb.TagNumber(1)
  void clearHeader() => $_clearField(1);
  @$pb.TagNumber(1)
  $1.RequestProjectHeader ensureHeader() => $_ensure(0);
}

class DeleteForProjectUserAttributesResult extends $pb.GeneratedMessage {
  factory DeleteForProjectUserAttributesResult() => create();

  DeleteForProjectUserAttributesResult._();

  factory DeleteForProjectUserAttributesResult.fromBuffer($core.List<$core.int> data, [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(data, registry);
  factory DeleteForProjectUserAttributesResult.fromJson($core.String json, [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(json, registry);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'DeleteForProjectUserAttributesResult', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
  DeleteForProjectUserAttributesResult clone() => DeleteForProjectUserAttributesResult()..mergeFromMessage(this);
  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
  DeleteForProjectUserAttributesResult copyWith(void Function(DeleteForProjectUserAttributesResult) updates) => super.copyWith((message) => updates(message as DeleteForProjectUserAttributesResult)) as DeleteForProjectUserAttributesResult;

  @$core.override
  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static DeleteForProjectUserAttributesResult create() => DeleteForProjectUserAttributesResult._();
  @$core.override
  DeleteForProjectUserAttributesResult createEmptyInstance() => create();
  static $pb.PbList<DeleteForProjectUserAttributesResult> createRepeated() => $pb.PbList<DeleteForProjectUserAttributesResult>();
  @$core.pragma('dart2js:noInline')
  static DeleteForProjectUserAttributesResult getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<DeleteForProjectUserAttributesResult>(create);
  static DeleteForProjectUserAttributesResult? _defaultInstance;
}


const $core.bool _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names');
const $core.bool _omitMessageNames = $core.bool.fromEnvironment('protobuf.omit_message_names');
