//
//  Generated code. Do not modify.
//  source: role.proto
//
// @dart = 3.3

// ignore_for_file: annotate_overrides, camel_case_types, comment_references
// ignore_for_file: constant_identifier_names, library_prefixes
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import

import 'dart:core' as $core;

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

import 'base.pb.dart' as $74;
import 'role.pbenum.dart';
import 'shared.pb.dart' as $3;
import 'shared.pbenum.dart' as $3;

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

export 'role.pbenum.dart';

class Role extends $pb.GeneratedMessage {
  factory Role({
    $core.String? iD,
    $core.String? name,
    $core.String? resourceID,
    $3.ResourceType? resourceType,
    $core.Iterable<$3.Permission>? permissions,
    RoleType? type,
    $core.bool? readOnly,
    ApplicationType? applicationType,
    $core.String? createdAt,
    $core.String? createdBy,
    $core.String? description,
    $core.Iterable<ExternalPermission>? externalPermissions,
  }) {
    final $result = create();
    if (iD != null) {
      $result.iD = iD;
    }
    if (name != null) {
      $result.name = name;
    }
    if (resourceID != null) {
      $result.resourceID = resourceID;
    }
    if (resourceType != null) {
      $result.resourceType = resourceType;
    }
    if (permissions != null) {
      $result.permissions.addAll(permissions);
    }
    if (type != null) {
      $result.type = type;
    }
    if (readOnly != null) {
      $result.readOnly = readOnly;
    }
    if (applicationType != null) {
      $result.applicationType = applicationType;
    }
    if (createdAt != null) {
      $result.createdAt = createdAt;
    }
    if (createdBy != null) {
      $result.createdBy = createdBy;
    }
    if (description != null) {
      $result.description = description;
    }
    if (externalPermissions != null) {
      $result.externalPermissions.addAll(externalPermissions);
    }
    return $result;
  }
  Role._() : super();
  factory Role.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory Role.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'Role', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'ID', protoName: 'ID')
    ..aOS(2, _omitFieldNames ? '' : 'Name', protoName: 'Name')
    ..aOS(3, _omitFieldNames ? '' : 'ResourceID', protoName: 'ResourceID')
    ..e<$3.ResourceType>(4, _omitFieldNames ? '' : 'ResourceType', $pb.PbFieldType.OE, protoName: 'ResourceType', defaultOrMaker: $3.ResourceType.RESOURCE_TYPE_UNKNOWN, valueOf: $3.ResourceType.valueOf, enumValues: $3.ResourceType.values)
    ..pc<$3.Permission>(5, _omitFieldNames ? '' : 'Permissions', $pb.PbFieldType.PM, protoName: 'Permissions', subBuilder: $3.Permission.create)
    ..e<RoleType>(6, _omitFieldNames ? '' : 'Type', $pb.PbFieldType.OE, protoName: 'Type', defaultOrMaker: RoleType.ROLE_TYPE_UNKNOWN, valueOf: RoleType.valueOf, enumValues: RoleType.values)
    ..aOB(7, _omitFieldNames ? '' : 'ReadOnly', protoName: 'ReadOnly')
    ..e<ApplicationType>(8, _omitFieldNames ? '' : 'ApplicationType', $pb.PbFieldType.OE, protoName: 'ApplicationType', defaultOrMaker: ApplicationType.PROPAGATE, valueOf: ApplicationType.valueOf, enumValues: ApplicationType.values)
    ..aOS(11, _omitFieldNames ? '' : 'CreatedAt', protoName: 'CreatedAt')
    ..aOS(12, _omitFieldNames ? '' : 'CreatedBy', protoName: 'CreatedBy')
    ..aOS(13, _omitFieldNames ? '' : 'Description', protoName: 'Description')
    ..pc<ExternalPermission>(14, _omitFieldNames ? '' : 'ExternalPermissions', $pb.PbFieldType.PM, protoName: 'ExternalPermissions', subBuilder: ExternalPermission.create)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  Role clone() => Role()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  Role copyWith(void Function(Role) updates) => super.copyWith((message) => updates(message as Role)) as Role;

  $pb.BuilderInfo get info_ => _i;

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

  @$pb.TagNumber(1)
  $core.String get iD => $_getSZ(0);
  @$pb.TagNumber(1)
  set iD($core.String v) { $_setString(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasID() => $_has(0);
  @$pb.TagNumber(1)
  void clearID() => $_clearField(1);

  @$pb.TagNumber(2)
  $core.String get name => $_getSZ(1);
  @$pb.TagNumber(2)
  set name($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasName() => $_has(1);
  @$pb.TagNumber(2)
  void clearName() => $_clearField(2);

  @$pb.TagNumber(3)
  $core.String get resourceID => $_getSZ(2);
  @$pb.TagNumber(3)
  set resourceID($core.String v) { $_setString(2, v); }
  @$pb.TagNumber(3)
  $core.bool hasResourceID() => $_has(2);
  @$pb.TagNumber(3)
  void clearResourceID() => $_clearField(3);

  @$pb.TagNumber(4)
  $3.ResourceType get resourceType => $_getN(3);
  @$pb.TagNumber(4)
  set resourceType($3.ResourceType v) { $_setField(4, v); }
  @$pb.TagNumber(4)
  $core.bool hasResourceType() => $_has(3);
  @$pb.TagNumber(4)
  void clearResourceType() => $_clearField(4);

  @$pb.TagNumber(5)
  $pb.PbList<$3.Permission> get permissions => $_getList(4);

  @$pb.TagNumber(6)
  RoleType get type => $_getN(5);
  @$pb.TagNumber(6)
  set type(RoleType v) { $_setField(6, v); }
  @$pb.TagNumber(6)
  $core.bool hasType() => $_has(5);
  @$pb.TagNumber(6)
  void clearType() => $_clearField(6);

  @$pb.TagNumber(7)
  $core.bool get readOnly => $_getBF(6);
  @$pb.TagNumber(7)
  set readOnly($core.bool v) { $_setBool(6, v); }
  @$pb.TagNumber(7)
  $core.bool hasReadOnly() => $_has(6);
  @$pb.TagNumber(7)
  void clearReadOnly() => $_clearField(7);

  @$pb.TagNumber(8)
  ApplicationType get applicationType => $_getN(7);
  @$pb.TagNumber(8)
  set applicationType(ApplicationType v) { $_setField(8, v); }
  @$pb.TagNumber(8)
  $core.bool hasApplicationType() => $_has(7);
  @$pb.TagNumber(8)
  void clearApplicationType() => $_clearField(8);

  @$pb.TagNumber(11)
  $core.String get createdAt => $_getSZ(8);
  @$pb.TagNumber(11)
  set createdAt($core.String v) { $_setString(8, v); }
  @$pb.TagNumber(11)
  $core.bool hasCreatedAt() => $_has(8);
  @$pb.TagNumber(11)
  void clearCreatedAt() => $_clearField(11);

  @$pb.TagNumber(12)
  $core.String get createdBy => $_getSZ(9);
  @$pb.TagNumber(12)
  set createdBy($core.String v) { $_setString(9, v); }
  @$pb.TagNumber(12)
  $core.bool hasCreatedBy() => $_has(9);
  @$pb.TagNumber(12)
  void clearCreatedBy() => $_clearField(12);

  @$pb.TagNumber(13)
  $core.String get description => $_getSZ(10);
  @$pb.TagNumber(13)
  set description($core.String v) { $_setString(10, v); }
  @$pb.TagNumber(13)
  $core.bool hasDescription() => $_has(10);
  @$pb.TagNumber(13)
  void clearDescription() => $_clearField(13);

  @$pb.TagNumber(14)
  $pb.PbList<ExternalPermission> get externalPermissions => $_getList(11);
}

class ExternalPermission extends $pb.GeneratedMessage {
  factory ExternalPermission({
    $core.String? key,
    $core.Iterable<$core.String>? values,
  }) {
    final $result = create();
    if (key != null) {
      $result.key = key;
    }
    if (values != null) {
      $result.values.addAll(values);
    }
    return $result;
  }
  ExternalPermission._() : super();
  factory ExternalPermission.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory ExternalPermission.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

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

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  ExternalPermission clone() => ExternalPermission()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  ExternalPermission copyWith(void Function(ExternalPermission) updates) => super.copyWith((message) => updates(message as ExternalPermission)) as ExternalPermission;

  $pb.BuilderInfo get info_ => _i;

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

  @$pb.TagNumber(1)
  $core.String get key => $_getSZ(0);
  @$pb.TagNumber(1)
  set key($core.String v) { $_setString(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasKey() => $_has(0);
  @$pb.TagNumber(1)
  void clearKey() => $_clearField(1);

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

class CreatePlatformRoleRequest extends $pb.GeneratedMessage {
  factory CreatePlatformRoleRequest({
    $core.String? name,
    $3.ResourceType? resourceType,
    $core.Iterable<$3.Permission>? permissions,
    RoleType? type,
    ApplicationType? applicationType,
    $core.String? description,
  }) {
    final $result = create();
    if (name != null) {
      $result.name = name;
    }
    if (resourceType != null) {
      $result.resourceType = resourceType;
    }
    if (permissions != null) {
      $result.permissions.addAll(permissions);
    }
    if (type != null) {
      $result.type = type;
    }
    if (applicationType != null) {
      $result.applicationType = applicationType;
    }
    if (description != null) {
      $result.description = description;
    }
    return $result;
  }
  CreatePlatformRoleRequest._() : super();
  factory CreatePlatformRoleRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory CreatePlatformRoleRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'CreatePlatformRoleRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOS(2, _omitFieldNames ? '' : 'Name', protoName: 'Name')
    ..e<$3.ResourceType>(4, _omitFieldNames ? '' : 'ResourceType', $pb.PbFieldType.OE, protoName: 'ResourceType', defaultOrMaker: $3.ResourceType.RESOURCE_TYPE_UNKNOWN, valueOf: $3.ResourceType.valueOf, enumValues: $3.ResourceType.values)
    ..pc<$3.Permission>(5, _omitFieldNames ? '' : 'Permissions', $pb.PbFieldType.PM, protoName: 'Permissions', subBuilder: $3.Permission.create)
    ..e<RoleType>(6, _omitFieldNames ? '' : 'Type', $pb.PbFieldType.OE, protoName: 'Type', defaultOrMaker: RoleType.ROLE_TYPE_UNKNOWN, valueOf: RoleType.valueOf, enumValues: RoleType.values)
    ..e<ApplicationType>(7, _omitFieldNames ? '' : 'ApplicationType', $pb.PbFieldType.OE, protoName: 'ApplicationType', defaultOrMaker: ApplicationType.PROPAGATE, valueOf: ApplicationType.valueOf, enumValues: ApplicationType.values)
    ..aOS(8, _omitFieldNames ? '' : 'Description', protoName: 'Description')
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  CreatePlatformRoleRequest clone() => CreatePlatformRoleRequest()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  CreatePlatformRoleRequest copyWith(void Function(CreatePlatformRoleRequest) updates) => super.copyWith((message) => updates(message as CreatePlatformRoleRequest)) as CreatePlatformRoleRequest;

  $pb.BuilderInfo get info_ => _i;

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

  @$pb.TagNumber(2)
  $core.String get name => $_getSZ(0);
  @$pb.TagNumber(2)
  set name($core.String v) { $_setString(0, v); }
  @$pb.TagNumber(2)
  $core.bool hasName() => $_has(0);
  @$pb.TagNumber(2)
  void clearName() => $_clearField(2);

  @$pb.TagNumber(4)
  $3.ResourceType get resourceType => $_getN(1);
  @$pb.TagNumber(4)
  set resourceType($3.ResourceType v) { $_setField(4, v); }
  @$pb.TagNumber(4)
  $core.bool hasResourceType() => $_has(1);
  @$pb.TagNumber(4)
  void clearResourceType() => $_clearField(4);

  @$pb.TagNumber(5)
  $pb.PbList<$3.Permission> get permissions => $_getList(2);

  @$pb.TagNumber(6)
  RoleType get type => $_getN(3);
  @$pb.TagNumber(6)
  set type(RoleType v) { $_setField(6, v); }
  @$pb.TagNumber(6)
  $core.bool hasType() => $_has(3);
  @$pb.TagNumber(6)
  void clearType() => $_clearField(6);

  @$pb.TagNumber(7)
  ApplicationType get applicationType => $_getN(4);
  @$pb.TagNumber(7)
  set applicationType(ApplicationType v) { $_setField(7, v); }
  @$pb.TagNumber(7)
  $core.bool hasApplicationType() => $_has(4);
  @$pb.TagNumber(7)
  void clearApplicationType() => $_clearField(7);

  @$pb.TagNumber(8)
  $core.String get description => $_getSZ(5);
  @$pb.TagNumber(8)
  set description($core.String v) { $_setString(5, v); }
  @$pb.TagNumber(8)
  $core.bool hasDescription() => $_has(5);
  @$pb.TagNumber(8)
  void clearDescription() => $_clearField(8);
}

class CreatePlatformRoleResult extends $pb.GeneratedMessage {
  factory CreatePlatformRoleResult({
    Role? result,
  }) {
    final $result = create();
    if (result != null) {
      $result.result = result;
    }
    return $result;
  }
  CreatePlatformRoleResult._() : super();
  factory CreatePlatformRoleResult.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory CreatePlatformRoleResult.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

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

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  CreatePlatformRoleResult clone() => CreatePlatformRoleResult()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  CreatePlatformRoleResult copyWith(void Function(CreatePlatformRoleResult) updates) => super.copyWith((message) => updates(message as CreatePlatformRoleResult)) as CreatePlatformRoleResult;

  $pb.BuilderInfo get info_ => _i;

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

  @$pb.TagNumber(1)
  Role get result => $_getN(0);
  @$pb.TagNumber(1)
  set result(Role v) { $_setField(1, v); }
  @$pb.TagNumber(1)
  $core.bool hasResult() => $_has(0);
  @$pb.TagNumber(1)
  void clearResult() => $_clearField(1);
  @$pb.TagNumber(1)
  Role ensureResult() => $_ensure(0);
}

class CreateOrganisationRoleRequest extends $pb.GeneratedMessage {
  factory CreateOrganisationRoleRequest({
    $3.RequestOrganisationHeader? header,
    $core.String? name,
    $3.ResourceType? resourceType,
    $core.Iterable<$3.Permission>? permissions,
    RoleType? type,
    $core.String? description,
  }) {
    final $result = create();
    if (header != null) {
      $result.header = header;
    }
    if (name != null) {
      $result.name = name;
    }
    if (resourceType != null) {
      $result.resourceType = resourceType;
    }
    if (permissions != null) {
      $result.permissions.addAll(permissions);
    }
    if (type != null) {
      $result.type = type;
    }
    if (description != null) {
      $result.description = description;
    }
    return $result;
  }
  CreateOrganisationRoleRequest._() : super();
  factory CreateOrganisationRoleRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory CreateOrganisationRoleRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'CreateOrganisationRoleRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOM<$3.RequestOrganisationHeader>(1, _omitFieldNames ? '' : 'Header', protoName: 'Header', subBuilder: $3.RequestOrganisationHeader.create)
    ..aOS(2, _omitFieldNames ? '' : 'Name', protoName: 'Name')
    ..e<$3.ResourceType>(4, _omitFieldNames ? '' : 'ResourceType', $pb.PbFieldType.OE, protoName: 'ResourceType', defaultOrMaker: $3.ResourceType.RESOURCE_TYPE_UNKNOWN, valueOf: $3.ResourceType.valueOf, enumValues: $3.ResourceType.values)
    ..pc<$3.Permission>(5, _omitFieldNames ? '' : 'Permissions', $pb.PbFieldType.PM, protoName: 'Permissions', subBuilder: $3.Permission.create)
    ..e<RoleType>(6, _omitFieldNames ? '' : 'Type', $pb.PbFieldType.OE, protoName: 'Type', defaultOrMaker: RoleType.ROLE_TYPE_UNKNOWN, valueOf: RoleType.valueOf, enumValues: RoleType.values)
    ..aOS(7, _omitFieldNames ? '' : 'Description', protoName: 'Description')
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  CreateOrganisationRoleRequest clone() => CreateOrganisationRoleRequest()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  CreateOrganisationRoleRequest copyWith(void Function(CreateOrganisationRoleRequest) updates) => super.copyWith((message) => updates(message as CreateOrganisationRoleRequest)) as CreateOrganisationRoleRequest;

  $pb.BuilderInfo get info_ => _i;

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

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

  @$pb.TagNumber(2)
  $core.String get name => $_getSZ(1);
  @$pb.TagNumber(2)
  set name($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasName() => $_has(1);
  @$pb.TagNumber(2)
  void clearName() => $_clearField(2);

  @$pb.TagNumber(4)
  $3.ResourceType get resourceType => $_getN(2);
  @$pb.TagNumber(4)
  set resourceType($3.ResourceType v) { $_setField(4, v); }
  @$pb.TagNumber(4)
  $core.bool hasResourceType() => $_has(2);
  @$pb.TagNumber(4)
  void clearResourceType() => $_clearField(4);

  @$pb.TagNumber(5)
  $pb.PbList<$3.Permission> get permissions => $_getList(3);

  @$pb.TagNumber(6)
  RoleType get type => $_getN(4);
  @$pb.TagNumber(6)
  set type(RoleType v) { $_setField(6, v); }
  @$pb.TagNumber(6)
  $core.bool hasType() => $_has(4);
  @$pb.TagNumber(6)
  void clearType() => $_clearField(6);

  @$pb.TagNumber(7)
  $core.String get description => $_getSZ(5);
  @$pb.TagNumber(7)
  set description($core.String v) { $_setString(5, v); }
  @$pb.TagNumber(7)
  $core.bool hasDescription() => $_has(5);
  @$pb.TagNumber(7)
  void clearDescription() => $_clearField(7);
}

class CreateOrganisationRoleResult extends $pb.GeneratedMessage {
  factory CreateOrganisationRoleResult({
    Role? result,
  }) {
    final $result = create();
    if (result != null) {
      $result.result = result;
    }
    return $result;
  }
  CreateOrganisationRoleResult._() : super();
  factory CreateOrganisationRoleResult.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory CreateOrganisationRoleResult.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

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

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  CreateOrganisationRoleResult clone() => CreateOrganisationRoleResult()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  CreateOrganisationRoleResult copyWith(void Function(CreateOrganisationRoleResult) updates) => super.copyWith((message) => updates(message as CreateOrganisationRoleResult)) as CreateOrganisationRoleResult;

  $pb.BuilderInfo get info_ => _i;

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

  @$pb.TagNumber(1)
  Role get result => $_getN(0);
  @$pb.TagNumber(1)
  set result(Role v) { $_setField(1, v); }
  @$pb.TagNumber(1)
  $core.bool hasResult() => $_has(0);
  @$pb.TagNumber(1)
  void clearResult() => $_clearField(1);
  @$pb.TagNumber(1)
  Role ensureResult() => $_ensure(0);
}

class CreateProjectRoleRequest extends $pb.GeneratedMessage {
  factory CreateProjectRoleRequest({
    $3.RequestProjectHeader? header,
    $core.String? name,
    $3.ResourceType? resourceType,
    $core.Iterable<$3.Permission>? permissions,
    RoleType? type,
    $core.String? description,
  }) {
    final $result = create();
    if (header != null) {
      $result.header = header;
    }
    if (name != null) {
      $result.name = name;
    }
    if (resourceType != null) {
      $result.resourceType = resourceType;
    }
    if (permissions != null) {
      $result.permissions.addAll(permissions);
    }
    if (type != null) {
      $result.type = type;
    }
    if (description != null) {
      $result.description = description;
    }
    return $result;
  }
  CreateProjectRoleRequest._() : super();
  factory CreateProjectRoleRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory CreateProjectRoleRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'CreateProjectRoleRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOM<$3.RequestProjectHeader>(1, _omitFieldNames ? '' : 'Header', protoName: 'Header', subBuilder: $3.RequestProjectHeader.create)
    ..aOS(2, _omitFieldNames ? '' : 'Name', protoName: 'Name')
    ..e<$3.ResourceType>(4, _omitFieldNames ? '' : 'ResourceType', $pb.PbFieldType.OE, protoName: 'ResourceType', defaultOrMaker: $3.ResourceType.RESOURCE_TYPE_UNKNOWN, valueOf: $3.ResourceType.valueOf, enumValues: $3.ResourceType.values)
    ..pc<$3.Permission>(5, _omitFieldNames ? '' : 'Permissions', $pb.PbFieldType.PM, protoName: 'Permissions', subBuilder: $3.Permission.create)
    ..e<RoleType>(6, _omitFieldNames ? '' : 'Type', $pb.PbFieldType.OE, protoName: 'Type', defaultOrMaker: RoleType.ROLE_TYPE_UNKNOWN, valueOf: RoleType.valueOf, enumValues: RoleType.values)
    ..aOS(7, _omitFieldNames ? '' : 'Description', protoName: 'Description')
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  CreateProjectRoleRequest clone() => CreateProjectRoleRequest()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  CreateProjectRoleRequest copyWith(void Function(CreateProjectRoleRequest) updates) => super.copyWith((message) => updates(message as CreateProjectRoleRequest)) as CreateProjectRoleRequest;

  $pb.BuilderInfo get info_ => _i;

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

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

  @$pb.TagNumber(2)
  $core.String get name => $_getSZ(1);
  @$pb.TagNumber(2)
  set name($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasName() => $_has(1);
  @$pb.TagNumber(2)
  void clearName() => $_clearField(2);

  @$pb.TagNumber(4)
  $3.ResourceType get resourceType => $_getN(2);
  @$pb.TagNumber(4)
  set resourceType($3.ResourceType v) { $_setField(4, v); }
  @$pb.TagNumber(4)
  $core.bool hasResourceType() => $_has(2);
  @$pb.TagNumber(4)
  void clearResourceType() => $_clearField(4);

  @$pb.TagNumber(5)
  $pb.PbList<$3.Permission> get permissions => $_getList(3);

  @$pb.TagNumber(6)
  RoleType get type => $_getN(4);
  @$pb.TagNumber(6)
  set type(RoleType v) { $_setField(6, v); }
  @$pb.TagNumber(6)
  $core.bool hasType() => $_has(4);
  @$pb.TagNumber(6)
  void clearType() => $_clearField(6);

  @$pb.TagNumber(7)
  $core.String get description => $_getSZ(5);
  @$pb.TagNumber(7)
  set description($core.String v) { $_setString(5, v); }
  @$pb.TagNumber(7)
  $core.bool hasDescription() => $_has(5);
  @$pb.TagNumber(7)
  void clearDescription() => $_clearField(7);
}

class CreateProjectRoleResult extends $pb.GeneratedMessage {
  factory CreateProjectRoleResult({
    Role? result,
  }) {
    final $result = create();
    if (result != null) {
      $result.result = result;
    }
    return $result;
  }
  CreateProjectRoleResult._() : super();
  factory CreateProjectRoleResult.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory CreateProjectRoleResult.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

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

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  CreateProjectRoleResult clone() => CreateProjectRoleResult()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  CreateProjectRoleResult copyWith(void Function(CreateProjectRoleResult) updates) => super.copyWith((message) => updates(message as CreateProjectRoleResult)) as CreateProjectRoleResult;

  $pb.BuilderInfo get info_ => _i;

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

  @$pb.TagNumber(1)
  Role get result => $_getN(0);
  @$pb.TagNumber(1)
  set result(Role v) { $_setField(1, v); }
  @$pb.TagNumber(1)
  $core.bool hasResult() => $_has(0);
  @$pb.TagNumber(1)
  void clearResult() => $_clearField(1);
  @$pb.TagNumber(1)
  Role ensureResult() => $_ensure(0);
}

class UpdatePlatformRoleRequest extends $pb.GeneratedMessage {
  factory UpdatePlatformRoleRequest({
    $core.String? name,
    $3.ResourceType? resourceType,
    $core.Iterable<$3.Permission>? permissions,
    RoleType? type,
    ApplicationType? applicationType,
    $core.String? description,
  }) {
    final $result = create();
    if (name != null) {
      $result.name = name;
    }
    if (resourceType != null) {
      $result.resourceType = resourceType;
    }
    if (permissions != null) {
      $result.permissions.addAll(permissions);
    }
    if (type != null) {
      $result.type = type;
    }
    if (applicationType != null) {
      $result.applicationType = applicationType;
    }
    if (description != null) {
      $result.description = description;
    }
    return $result;
  }
  UpdatePlatformRoleRequest._() : super();
  factory UpdatePlatformRoleRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory UpdatePlatformRoleRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'UpdatePlatformRoleRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOS(2, _omitFieldNames ? '' : 'Name', protoName: 'Name')
    ..e<$3.ResourceType>(4, _omitFieldNames ? '' : 'ResourceType', $pb.PbFieldType.OE, protoName: 'ResourceType', defaultOrMaker: $3.ResourceType.RESOURCE_TYPE_UNKNOWN, valueOf: $3.ResourceType.valueOf, enumValues: $3.ResourceType.values)
    ..pc<$3.Permission>(5, _omitFieldNames ? '' : 'Permissions', $pb.PbFieldType.PM, protoName: 'Permissions', subBuilder: $3.Permission.create)
    ..e<RoleType>(6, _omitFieldNames ? '' : 'Type', $pb.PbFieldType.OE, protoName: 'Type', defaultOrMaker: RoleType.ROLE_TYPE_UNKNOWN, valueOf: RoleType.valueOf, enumValues: RoleType.values)
    ..e<ApplicationType>(7, _omitFieldNames ? '' : 'ApplicationType', $pb.PbFieldType.OE, protoName: 'ApplicationType', defaultOrMaker: ApplicationType.PROPAGATE, valueOf: ApplicationType.valueOf, enumValues: ApplicationType.values)
    ..aOS(8, _omitFieldNames ? '' : 'Description', protoName: 'Description')
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  UpdatePlatformRoleRequest clone() => UpdatePlatformRoleRequest()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  UpdatePlatformRoleRequest copyWith(void Function(UpdatePlatformRoleRequest) updates) => super.copyWith((message) => updates(message as UpdatePlatformRoleRequest)) as UpdatePlatformRoleRequest;

  $pb.BuilderInfo get info_ => _i;

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

  @$pb.TagNumber(2)
  $core.String get name => $_getSZ(0);
  @$pb.TagNumber(2)
  set name($core.String v) { $_setString(0, v); }
  @$pb.TagNumber(2)
  $core.bool hasName() => $_has(0);
  @$pb.TagNumber(2)
  void clearName() => $_clearField(2);

  @$pb.TagNumber(4)
  $3.ResourceType get resourceType => $_getN(1);
  @$pb.TagNumber(4)
  set resourceType($3.ResourceType v) { $_setField(4, v); }
  @$pb.TagNumber(4)
  $core.bool hasResourceType() => $_has(1);
  @$pb.TagNumber(4)
  void clearResourceType() => $_clearField(4);

  @$pb.TagNumber(5)
  $pb.PbList<$3.Permission> get permissions => $_getList(2);

  @$pb.TagNumber(6)
  RoleType get type => $_getN(3);
  @$pb.TagNumber(6)
  set type(RoleType v) { $_setField(6, v); }
  @$pb.TagNumber(6)
  $core.bool hasType() => $_has(3);
  @$pb.TagNumber(6)
  void clearType() => $_clearField(6);

  @$pb.TagNumber(7)
  ApplicationType get applicationType => $_getN(4);
  @$pb.TagNumber(7)
  set applicationType(ApplicationType v) { $_setField(7, v); }
  @$pb.TagNumber(7)
  $core.bool hasApplicationType() => $_has(4);
  @$pb.TagNumber(7)
  void clearApplicationType() => $_clearField(7);

  @$pb.TagNumber(8)
  $core.String get description => $_getSZ(5);
  @$pb.TagNumber(8)
  set description($core.String v) { $_setString(5, v); }
  @$pb.TagNumber(8)
  $core.bool hasDescription() => $_has(5);
  @$pb.TagNumber(8)
  void clearDescription() => $_clearField(8);
}

class UpdatePlatformRoleResult extends $pb.GeneratedMessage {
  factory UpdatePlatformRoleResult({
    Role? result,
  }) {
    final $result = create();
    if (result != null) {
      $result.result = result;
    }
    return $result;
  }
  UpdatePlatformRoleResult._() : super();
  factory UpdatePlatformRoleResult.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory UpdatePlatformRoleResult.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

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

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  UpdatePlatformRoleResult clone() => UpdatePlatformRoleResult()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  UpdatePlatformRoleResult copyWith(void Function(UpdatePlatformRoleResult) updates) => super.copyWith((message) => updates(message as UpdatePlatformRoleResult)) as UpdatePlatformRoleResult;

  $pb.BuilderInfo get info_ => _i;

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

  @$pb.TagNumber(1)
  Role get result => $_getN(0);
  @$pb.TagNumber(1)
  set result(Role v) { $_setField(1, v); }
  @$pb.TagNumber(1)
  $core.bool hasResult() => $_has(0);
  @$pb.TagNumber(1)
  void clearResult() => $_clearField(1);
  @$pb.TagNumber(1)
  Role ensureResult() => $_ensure(0);
}

class UpdateOrganisationRoleRequest extends $pb.GeneratedMessage {
  factory UpdateOrganisationRoleRequest({
    $3.RequestOrganisationHeader? header,
    $core.String? name,
    $3.ResourceType? resourceType,
    $core.Iterable<$3.Permission>? permissions,
    RoleType? type,
    $core.String? description,
  }) {
    final $result = create();
    if (header != null) {
      $result.header = header;
    }
    if (name != null) {
      $result.name = name;
    }
    if (resourceType != null) {
      $result.resourceType = resourceType;
    }
    if (permissions != null) {
      $result.permissions.addAll(permissions);
    }
    if (type != null) {
      $result.type = type;
    }
    if (description != null) {
      $result.description = description;
    }
    return $result;
  }
  UpdateOrganisationRoleRequest._() : super();
  factory UpdateOrganisationRoleRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory UpdateOrganisationRoleRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'UpdateOrganisationRoleRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOM<$3.RequestOrganisationHeader>(1, _omitFieldNames ? '' : 'Header', protoName: 'Header', subBuilder: $3.RequestOrganisationHeader.create)
    ..aOS(2, _omitFieldNames ? '' : 'Name', protoName: 'Name')
    ..e<$3.ResourceType>(4, _omitFieldNames ? '' : 'ResourceType', $pb.PbFieldType.OE, protoName: 'ResourceType', defaultOrMaker: $3.ResourceType.RESOURCE_TYPE_UNKNOWN, valueOf: $3.ResourceType.valueOf, enumValues: $3.ResourceType.values)
    ..pc<$3.Permission>(5, _omitFieldNames ? '' : 'Permissions', $pb.PbFieldType.PM, protoName: 'Permissions', subBuilder: $3.Permission.create)
    ..e<RoleType>(6, _omitFieldNames ? '' : 'Type', $pb.PbFieldType.OE, protoName: 'Type', defaultOrMaker: RoleType.ROLE_TYPE_UNKNOWN, valueOf: RoleType.valueOf, enumValues: RoleType.values)
    ..aOS(7, _omitFieldNames ? '' : 'Description', protoName: 'Description')
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  UpdateOrganisationRoleRequest clone() => UpdateOrganisationRoleRequest()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  UpdateOrganisationRoleRequest copyWith(void Function(UpdateOrganisationRoleRequest) updates) => super.copyWith((message) => updates(message as UpdateOrganisationRoleRequest)) as UpdateOrganisationRoleRequest;

  $pb.BuilderInfo get info_ => _i;

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

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

  @$pb.TagNumber(2)
  $core.String get name => $_getSZ(1);
  @$pb.TagNumber(2)
  set name($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasName() => $_has(1);
  @$pb.TagNumber(2)
  void clearName() => $_clearField(2);

  @$pb.TagNumber(4)
  $3.ResourceType get resourceType => $_getN(2);
  @$pb.TagNumber(4)
  set resourceType($3.ResourceType v) { $_setField(4, v); }
  @$pb.TagNumber(4)
  $core.bool hasResourceType() => $_has(2);
  @$pb.TagNumber(4)
  void clearResourceType() => $_clearField(4);

  @$pb.TagNumber(5)
  $pb.PbList<$3.Permission> get permissions => $_getList(3);

  @$pb.TagNumber(6)
  RoleType get type => $_getN(4);
  @$pb.TagNumber(6)
  set type(RoleType v) { $_setField(6, v); }
  @$pb.TagNumber(6)
  $core.bool hasType() => $_has(4);
  @$pb.TagNumber(6)
  void clearType() => $_clearField(6);

  @$pb.TagNumber(7)
  $core.String get description => $_getSZ(5);
  @$pb.TagNumber(7)
  set description($core.String v) { $_setString(5, v); }
  @$pb.TagNumber(7)
  $core.bool hasDescription() => $_has(5);
  @$pb.TagNumber(7)
  void clearDescription() => $_clearField(7);
}

class UpdateOrganisationRoleResult extends $pb.GeneratedMessage {
  factory UpdateOrganisationRoleResult({
    Role? result,
  }) {
    final $result = create();
    if (result != null) {
      $result.result = result;
    }
    return $result;
  }
  UpdateOrganisationRoleResult._() : super();
  factory UpdateOrganisationRoleResult.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory UpdateOrganisationRoleResult.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

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

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  UpdateOrganisationRoleResult clone() => UpdateOrganisationRoleResult()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  UpdateOrganisationRoleResult copyWith(void Function(UpdateOrganisationRoleResult) updates) => super.copyWith((message) => updates(message as UpdateOrganisationRoleResult)) as UpdateOrganisationRoleResult;

  $pb.BuilderInfo get info_ => _i;

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

  @$pb.TagNumber(1)
  Role get result => $_getN(0);
  @$pb.TagNumber(1)
  set result(Role v) { $_setField(1, v); }
  @$pb.TagNumber(1)
  $core.bool hasResult() => $_has(0);
  @$pb.TagNumber(1)
  void clearResult() => $_clearField(1);
  @$pb.TagNumber(1)
  Role ensureResult() => $_ensure(0);
}

class UpdateProjectRoleRequest extends $pb.GeneratedMessage {
  factory UpdateProjectRoleRequest({
    $3.RequestProjectHeader? header,
    $core.String? name,
    $3.ResourceType? resourceType,
    $core.Iterable<$3.Permission>? permissions,
    RoleType? type,
    $core.String? description,
  }) {
    final $result = create();
    if (header != null) {
      $result.header = header;
    }
    if (name != null) {
      $result.name = name;
    }
    if (resourceType != null) {
      $result.resourceType = resourceType;
    }
    if (permissions != null) {
      $result.permissions.addAll(permissions);
    }
    if (type != null) {
      $result.type = type;
    }
    if (description != null) {
      $result.description = description;
    }
    return $result;
  }
  UpdateProjectRoleRequest._() : super();
  factory UpdateProjectRoleRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory UpdateProjectRoleRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'UpdateProjectRoleRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOM<$3.RequestProjectHeader>(1, _omitFieldNames ? '' : 'Header', protoName: 'Header', subBuilder: $3.RequestProjectHeader.create)
    ..aOS(2, _omitFieldNames ? '' : 'Name', protoName: 'Name')
    ..e<$3.ResourceType>(4, _omitFieldNames ? '' : 'ResourceType', $pb.PbFieldType.OE, protoName: 'ResourceType', defaultOrMaker: $3.ResourceType.RESOURCE_TYPE_UNKNOWN, valueOf: $3.ResourceType.valueOf, enumValues: $3.ResourceType.values)
    ..pc<$3.Permission>(5, _omitFieldNames ? '' : 'Permissions', $pb.PbFieldType.PM, protoName: 'Permissions', subBuilder: $3.Permission.create)
    ..e<RoleType>(6, _omitFieldNames ? '' : 'Type', $pb.PbFieldType.OE, protoName: 'Type', defaultOrMaker: RoleType.ROLE_TYPE_UNKNOWN, valueOf: RoleType.valueOf, enumValues: RoleType.values)
    ..aOS(7, _omitFieldNames ? '' : 'Description', protoName: 'Description')
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  UpdateProjectRoleRequest clone() => UpdateProjectRoleRequest()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  UpdateProjectRoleRequest copyWith(void Function(UpdateProjectRoleRequest) updates) => super.copyWith((message) => updates(message as UpdateProjectRoleRequest)) as UpdateProjectRoleRequest;

  $pb.BuilderInfo get info_ => _i;

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

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

  @$pb.TagNumber(2)
  $core.String get name => $_getSZ(1);
  @$pb.TagNumber(2)
  set name($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasName() => $_has(1);
  @$pb.TagNumber(2)
  void clearName() => $_clearField(2);

  @$pb.TagNumber(4)
  $3.ResourceType get resourceType => $_getN(2);
  @$pb.TagNumber(4)
  set resourceType($3.ResourceType v) { $_setField(4, v); }
  @$pb.TagNumber(4)
  $core.bool hasResourceType() => $_has(2);
  @$pb.TagNumber(4)
  void clearResourceType() => $_clearField(4);

  @$pb.TagNumber(5)
  $pb.PbList<$3.Permission> get permissions => $_getList(3);

  @$pb.TagNumber(6)
  RoleType get type => $_getN(4);
  @$pb.TagNumber(6)
  set type(RoleType v) { $_setField(6, v); }
  @$pb.TagNumber(6)
  $core.bool hasType() => $_has(4);
  @$pb.TagNumber(6)
  void clearType() => $_clearField(6);

  @$pb.TagNumber(7)
  $core.String get description => $_getSZ(5);
  @$pb.TagNumber(7)
  set description($core.String v) { $_setString(5, v); }
  @$pb.TagNumber(7)
  $core.bool hasDescription() => $_has(5);
  @$pb.TagNumber(7)
  void clearDescription() => $_clearField(7);
}

class UpdateProjectRoleResult extends $pb.GeneratedMessage {
  factory UpdateProjectRoleResult({
    Role? result,
  }) {
    final $result = create();
    if (result != null) {
      $result.result = result;
    }
    return $result;
  }
  UpdateProjectRoleResult._() : super();
  factory UpdateProjectRoleResult.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory UpdateProjectRoleResult.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

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

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  UpdateProjectRoleResult clone() => UpdateProjectRoleResult()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  UpdateProjectRoleResult copyWith(void Function(UpdateProjectRoleResult) updates) => super.copyWith((message) => updates(message as UpdateProjectRoleResult)) as UpdateProjectRoleResult;

  $pb.BuilderInfo get info_ => _i;

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

  @$pb.TagNumber(1)
  Role get result => $_getN(0);
  @$pb.TagNumber(1)
  set result(Role v) { $_setField(1, v); }
  @$pb.TagNumber(1)
  $core.bool hasResult() => $_has(0);
  @$pb.TagNumber(1)
  void clearResult() => $_clearField(1);
  @$pb.TagNumber(1)
  Role ensureResult() => $_ensure(0);
}

class GetPlatformRoleRequest extends $pb.GeneratedMessage {
  factory GetPlatformRoleRequest({
    $core.String? name,
    $3.ResourceType? resourceType,
  }) {
    final $result = create();
    if (name != null) {
      $result.name = name;
    }
    if (resourceType != null) {
      $result.resourceType = resourceType;
    }
    return $result;
  }
  GetPlatformRoleRequest._() : super();
  factory GetPlatformRoleRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory GetPlatformRoleRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetPlatformRoleRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'Name', protoName: 'Name')
    ..e<$3.ResourceType>(2, _omitFieldNames ? '' : 'ResourceType', $pb.PbFieldType.OE, protoName: 'ResourceType', defaultOrMaker: $3.ResourceType.RESOURCE_TYPE_UNKNOWN, valueOf: $3.ResourceType.valueOf, enumValues: $3.ResourceType.values)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  GetPlatformRoleRequest clone() => GetPlatformRoleRequest()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  GetPlatformRoleRequest copyWith(void Function(GetPlatformRoleRequest) updates) => super.copyWith((message) => updates(message as GetPlatformRoleRequest)) as GetPlatformRoleRequest;

  $pb.BuilderInfo get info_ => _i;

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

  @$pb.TagNumber(1)
  $core.String get name => $_getSZ(0);
  @$pb.TagNumber(1)
  set name($core.String v) { $_setString(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasName() => $_has(0);
  @$pb.TagNumber(1)
  void clearName() => $_clearField(1);

  @$pb.TagNumber(2)
  $3.ResourceType get resourceType => $_getN(1);
  @$pb.TagNumber(2)
  set resourceType($3.ResourceType v) { $_setField(2, v); }
  @$pb.TagNumber(2)
  $core.bool hasResourceType() => $_has(1);
  @$pb.TagNumber(2)
  void clearResourceType() => $_clearField(2);
}

class GetPlatformRoleResult extends $pb.GeneratedMessage {
  factory GetPlatformRoleResult({
    Role? result,
  }) {
    final $result = create();
    if (result != null) {
      $result.result = result;
    }
    return $result;
  }
  GetPlatformRoleResult._() : super();
  factory GetPlatformRoleResult.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory GetPlatformRoleResult.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

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

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  GetPlatformRoleResult clone() => GetPlatformRoleResult()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  GetPlatformRoleResult copyWith(void Function(GetPlatformRoleResult) updates) => super.copyWith((message) => updates(message as GetPlatformRoleResult)) as GetPlatformRoleResult;

  $pb.BuilderInfo get info_ => _i;

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

  @$pb.TagNumber(1)
  Role get result => $_getN(0);
  @$pb.TagNumber(1)
  set result(Role v) { $_setField(1, v); }
  @$pb.TagNumber(1)
  $core.bool hasResult() => $_has(0);
  @$pb.TagNumber(1)
  void clearResult() => $_clearField(1);
  @$pb.TagNumber(1)
  Role ensureResult() => $_ensure(0);
}

class GetOrganisationRoleRequest extends $pb.GeneratedMessage {
  factory GetOrganisationRoleRequest({
    $3.RequestOrganisationHeader? header,
    $core.String? name,
    $3.ResourceType? resourceType,
  }) {
    final $result = create();
    if (header != null) {
      $result.header = header;
    }
    if (name != null) {
      $result.name = name;
    }
    if (resourceType != null) {
      $result.resourceType = resourceType;
    }
    return $result;
  }
  GetOrganisationRoleRequest._() : super();
  factory GetOrganisationRoleRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory GetOrganisationRoleRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetOrganisationRoleRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOM<$3.RequestOrganisationHeader>(1, _omitFieldNames ? '' : 'Header', protoName: 'Header', subBuilder: $3.RequestOrganisationHeader.create)
    ..aOS(2, _omitFieldNames ? '' : 'Name', protoName: 'Name')
    ..e<$3.ResourceType>(3, _omitFieldNames ? '' : 'ResourceType', $pb.PbFieldType.OE, protoName: 'ResourceType', defaultOrMaker: $3.ResourceType.RESOURCE_TYPE_UNKNOWN, valueOf: $3.ResourceType.valueOf, enumValues: $3.ResourceType.values)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  GetOrganisationRoleRequest clone() => GetOrganisationRoleRequest()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  GetOrganisationRoleRequest copyWith(void Function(GetOrganisationRoleRequest) updates) => super.copyWith((message) => updates(message as GetOrganisationRoleRequest)) as GetOrganisationRoleRequest;

  $pb.BuilderInfo get info_ => _i;

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

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

  @$pb.TagNumber(2)
  $core.String get name => $_getSZ(1);
  @$pb.TagNumber(2)
  set name($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasName() => $_has(1);
  @$pb.TagNumber(2)
  void clearName() => $_clearField(2);

  @$pb.TagNumber(3)
  $3.ResourceType get resourceType => $_getN(2);
  @$pb.TagNumber(3)
  set resourceType($3.ResourceType v) { $_setField(3, v); }
  @$pb.TagNumber(3)
  $core.bool hasResourceType() => $_has(2);
  @$pb.TagNumber(3)
  void clearResourceType() => $_clearField(3);
}

class GetOrganisationRoleResult extends $pb.GeneratedMessage {
  factory GetOrganisationRoleResult({
    Role? result,
  }) {
    final $result = create();
    if (result != null) {
      $result.result = result;
    }
    return $result;
  }
  GetOrganisationRoleResult._() : super();
  factory GetOrganisationRoleResult.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory GetOrganisationRoleResult.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

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

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  GetOrganisationRoleResult clone() => GetOrganisationRoleResult()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  GetOrganisationRoleResult copyWith(void Function(GetOrganisationRoleResult) updates) => super.copyWith((message) => updates(message as GetOrganisationRoleResult)) as GetOrganisationRoleResult;

  $pb.BuilderInfo get info_ => _i;

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

  @$pb.TagNumber(1)
  Role get result => $_getN(0);
  @$pb.TagNumber(1)
  set result(Role v) { $_setField(1, v); }
  @$pb.TagNumber(1)
  $core.bool hasResult() => $_has(0);
  @$pb.TagNumber(1)
  void clearResult() => $_clearField(1);
  @$pb.TagNumber(1)
  Role ensureResult() => $_ensure(0);
}

class GetProjectRoleRequest extends $pb.GeneratedMessage {
  factory GetProjectRoleRequest({
    $3.RequestProjectHeader? header,
    $core.String? name,
    $3.ResourceType? resourceType,
  }) {
    final $result = create();
    if (header != null) {
      $result.header = header;
    }
    if (name != null) {
      $result.name = name;
    }
    if (resourceType != null) {
      $result.resourceType = resourceType;
    }
    return $result;
  }
  GetProjectRoleRequest._() : super();
  factory GetProjectRoleRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory GetProjectRoleRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetProjectRoleRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOM<$3.RequestProjectHeader>(1, _omitFieldNames ? '' : 'Header', protoName: 'Header', subBuilder: $3.RequestProjectHeader.create)
    ..aOS(2, _omitFieldNames ? '' : 'Name', protoName: 'Name')
    ..e<$3.ResourceType>(3, _omitFieldNames ? '' : 'ResourceType', $pb.PbFieldType.OE, protoName: 'ResourceType', defaultOrMaker: $3.ResourceType.RESOURCE_TYPE_UNKNOWN, valueOf: $3.ResourceType.valueOf, enumValues: $3.ResourceType.values)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  GetProjectRoleRequest clone() => GetProjectRoleRequest()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  GetProjectRoleRequest copyWith(void Function(GetProjectRoleRequest) updates) => super.copyWith((message) => updates(message as GetProjectRoleRequest)) as GetProjectRoleRequest;

  $pb.BuilderInfo get info_ => _i;

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

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

  @$pb.TagNumber(2)
  $core.String get name => $_getSZ(1);
  @$pb.TagNumber(2)
  set name($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasName() => $_has(1);
  @$pb.TagNumber(2)
  void clearName() => $_clearField(2);

  @$pb.TagNumber(3)
  $3.ResourceType get resourceType => $_getN(2);
  @$pb.TagNumber(3)
  set resourceType($3.ResourceType v) { $_setField(3, v); }
  @$pb.TagNumber(3)
  $core.bool hasResourceType() => $_has(2);
  @$pb.TagNumber(3)
  void clearResourceType() => $_clearField(3);
}

class GetProjectRoleResult extends $pb.GeneratedMessage {
  factory GetProjectRoleResult({
    Role? result,
  }) {
    final $result = create();
    if (result != null) {
      $result.result = result;
    }
    return $result;
  }
  GetProjectRoleResult._() : super();
  factory GetProjectRoleResult.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory GetProjectRoleResult.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

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

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  GetProjectRoleResult clone() => GetProjectRoleResult()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  GetProjectRoleResult copyWith(void Function(GetProjectRoleResult) updates) => super.copyWith((message) => updates(message as GetProjectRoleResult)) as GetProjectRoleResult;

  $pb.BuilderInfo get info_ => _i;

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

  @$pb.TagNumber(1)
  Role get result => $_getN(0);
  @$pb.TagNumber(1)
  set result(Role v) { $_setField(1, v); }
  @$pb.TagNumber(1)
  $core.bool hasResult() => $_has(0);
  @$pb.TagNumber(1)
  void clearResult() => $_clearField(1);
  @$pb.TagNumber(1)
  Role ensureResult() => $_ensure(0);
}

class ListPlatformRolesRequest extends $pb.GeneratedMessage {
  factory ListPlatformRolesRequest({
    $3.ResourceType? resourceType,
    $74.Paging? paging,
    RoleType? type,
    ApplicationType? applicationType,
  }) {
    final $result = create();
    if (resourceType != null) {
      $result.resourceType = resourceType;
    }
    if (paging != null) {
      $result.paging = paging;
    }
    if (type != null) {
      $result.type = type;
    }
    if (applicationType != null) {
      $result.applicationType = applicationType;
    }
    return $result;
  }
  ListPlatformRolesRequest._() : super();
  factory ListPlatformRolesRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory ListPlatformRolesRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ListPlatformRolesRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..e<$3.ResourceType>(2, _omitFieldNames ? '' : 'ResourceType', $pb.PbFieldType.OE, protoName: 'ResourceType', defaultOrMaker: $3.ResourceType.RESOURCE_TYPE_UNKNOWN, valueOf: $3.ResourceType.valueOf, enumValues: $3.ResourceType.values)
    ..aOM<$74.Paging>(3, _omitFieldNames ? '' : 'Paging', protoName: 'Paging', subBuilder: $74.Paging.create)
    ..e<RoleType>(4, _omitFieldNames ? '' : 'Type', $pb.PbFieldType.OE, protoName: 'Type', defaultOrMaker: RoleType.ROLE_TYPE_UNKNOWN, valueOf: RoleType.valueOf, enumValues: RoleType.values)
    ..e<ApplicationType>(5, _omitFieldNames ? '' : 'ApplicationType', $pb.PbFieldType.OE, protoName: 'ApplicationType', defaultOrMaker: ApplicationType.PROPAGATE, valueOf: ApplicationType.valueOf, enumValues: ApplicationType.values)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  ListPlatformRolesRequest clone() => ListPlatformRolesRequest()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  ListPlatformRolesRequest copyWith(void Function(ListPlatformRolesRequest) updates) => super.copyWith((message) => updates(message as ListPlatformRolesRequest)) as ListPlatformRolesRequest;

  $pb.BuilderInfo get info_ => _i;

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

  @$pb.TagNumber(2)
  $3.ResourceType get resourceType => $_getN(0);
  @$pb.TagNumber(2)
  set resourceType($3.ResourceType v) { $_setField(2, v); }
  @$pb.TagNumber(2)
  $core.bool hasResourceType() => $_has(0);
  @$pb.TagNumber(2)
  void clearResourceType() => $_clearField(2);

  @$pb.TagNumber(3)
  $74.Paging get paging => $_getN(1);
  @$pb.TagNumber(3)
  set paging($74.Paging v) { $_setField(3, v); }
  @$pb.TagNumber(3)
  $core.bool hasPaging() => $_has(1);
  @$pb.TagNumber(3)
  void clearPaging() => $_clearField(3);
  @$pb.TagNumber(3)
  $74.Paging ensurePaging() => $_ensure(1);

  @$pb.TagNumber(4)
  RoleType get type => $_getN(2);
  @$pb.TagNumber(4)
  set type(RoleType v) { $_setField(4, v); }
  @$pb.TagNumber(4)
  $core.bool hasType() => $_has(2);
  @$pb.TagNumber(4)
  void clearType() => $_clearField(4);

  @$pb.TagNumber(5)
  ApplicationType get applicationType => $_getN(3);
  @$pb.TagNumber(5)
  set applicationType(ApplicationType v) { $_setField(5, v); }
  @$pb.TagNumber(5)
  $core.bool hasApplicationType() => $_has(3);
  @$pb.TagNumber(5)
  void clearApplicationType() => $_clearField(5);
}

class ListPlatformRolesResult extends $pb.GeneratedMessage {
  factory ListPlatformRolesResult({
    $core.Iterable<Role>? results,
  }) {
    final $result = create();
    if (results != null) {
      $result.results.addAll(results);
    }
    return $result;
  }
  ListPlatformRolesResult._() : super();
  factory ListPlatformRolesResult.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory ListPlatformRolesResult.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

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

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  ListPlatformRolesResult clone() => ListPlatformRolesResult()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  ListPlatformRolesResult copyWith(void Function(ListPlatformRolesResult) updates) => super.copyWith((message) => updates(message as ListPlatformRolesResult)) as ListPlatformRolesResult;

  $pb.BuilderInfo get info_ => _i;

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

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

class ListOrganisationRolesRequest extends $pb.GeneratedMessage {
  factory ListOrganisationRolesRequest({
    $3.RequestOrganisationHeader? header,
    $3.ResourceType? resourceType,
    $74.Paging? paging,
    RoleType? type,
  }) {
    final $result = create();
    if (header != null) {
      $result.header = header;
    }
    if (resourceType != null) {
      $result.resourceType = resourceType;
    }
    if (paging != null) {
      $result.paging = paging;
    }
    if (type != null) {
      $result.type = type;
    }
    return $result;
  }
  ListOrganisationRolesRequest._() : super();
  factory ListOrganisationRolesRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory ListOrganisationRolesRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ListOrganisationRolesRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOM<$3.RequestOrganisationHeader>(1, _omitFieldNames ? '' : 'Header', protoName: 'Header', subBuilder: $3.RequestOrganisationHeader.create)
    ..e<$3.ResourceType>(2, _omitFieldNames ? '' : 'ResourceType', $pb.PbFieldType.OE, protoName: 'ResourceType', defaultOrMaker: $3.ResourceType.RESOURCE_TYPE_UNKNOWN, valueOf: $3.ResourceType.valueOf, enumValues: $3.ResourceType.values)
    ..aOM<$74.Paging>(3, _omitFieldNames ? '' : 'Paging', protoName: 'Paging', subBuilder: $74.Paging.create)
    ..e<RoleType>(4, _omitFieldNames ? '' : 'Type', $pb.PbFieldType.OE, protoName: 'Type', defaultOrMaker: RoleType.ROLE_TYPE_UNKNOWN, valueOf: RoleType.valueOf, enumValues: RoleType.values)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  ListOrganisationRolesRequest clone() => ListOrganisationRolesRequest()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  ListOrganisationRolesRequest copyWith(void Function(ListOrganisationRolesRequest) updates) => super.copyWith((message) => updates(message as ListOrganisationRolesRequest)) as ListOrganisationRolesRequest;

  $pb.BuilderInfo get info_ => _i;

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

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

  @$pb.TagNumber(2)
  $3.ResourceType get resourceType => $_getN(1);
  @$pb.TagNumber(2)
  set resourceType($3.ResourceType v) { $_setField(2, v); }
  @$pb.TagNumber(2)
  $core.bool hasResourceType() => $_has(1);
  @$pb.TagNumber(2)
  void clearResourceType() => $_clearField(2);

  @$pb.TagNumber(3)
  $74.Paging get paging => $_getN(2);
  @$pb.TagNumber(3)
  set paging($74.Paging v) { $_setField(3, v); }
  @$pb.TagNumber(3)
  $core.bool hasPaging() => $_has(2);
  @$pb.TagNumber(3)
  void clearPaging() => $_clearField(3);
  @$pb.TagNumber(3)
  $74.Paging ensurePaging() => $_ensure(2);

  @$pb.TagNumber(4)
  RoleType get type => $_getN(3);
  @$pb.TagNumber(4)
  set type(RoleType v) { $_setField(4, v); }
  @$pb.TagNumber(4)
  $core.bool hasType() => $_has(3);
  @$pb.TagNumber(4)
  void clearType() => $_clearField(4);
}

class ListOrganisationRolesResult extends $pb.GeneratedMessage {
  factory ListOrganisationRolesResult({
    $core.Iterable<Role>? results,
  }) {
    final $result = create();
    if (results != null) {
      $result.results.addAll(results);
    }
    return $result;
  }
  ListOrganisationRolesResult._() : super();
  factory ListOrganisationRolesResult.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory ListOrganisationRolesResult.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

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

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  ListOrganisationRolesResult clone() => ListOrganisationRolesResult()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  ListOrganisationRolesResult copyWith(void Function(ListOrganisationRolesResult) updates) => super.copyWith((message) => updates(message as ListOrganisationRolesResult)) as ListOrganisationRolesResult;

  $pb.BuilderInfo get info_ => _i;

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

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

class ListProjectRolesRequest extends $pb.GeneratedMessage {
  factory ListProjectRolesRequest({
    $3.RequestProjectHeader? header,
    $3.ResourceType? resourceType,
    $74.Paging? paging,
    RoleType? type,
  }) {
    final $result = create();
    if (header != null) {
      $result.header = header;
    }
    if (resourceType != null) {
      $result.resourceType = resourceType;
    }
    if (paging != null) {
      $result.paging = paging;
    }
    if (type != null) {
      $result.type = type;
    }
    return $result;
  }
  ListProjectRolesRequest._() : super();
  factory ListProjectRolesRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory ListProjectRolesRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ListProjectRolesRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOM<$3.RequestProjectHeader>(1, _omitFieldNames ? '' : 'Header', protoName: 'Header', subBuilder: $3.RequestProjectHeader.create)
    ..e<$3.ResourceType>(2, _omitFieldNames ? '' : 'ResourceType', $pb.PbFieldType.OE, protoName: 'ResourceType', defaultOrMaker: $3.ResourceType.RESOURCE_TYPE_UNKNOWN, valueOf: $3.ResourceType.valueOf, enumValues: $3.ResourceType.values)
    ..aOM<$74.Paging>(3, _omitFieldNames ? '' : 'Paging', protoName: 'Paging', subBuilder: $74.Paging.create)
    ..e<RoleType>(4, _omitFieldNames ? '' : 'Type', $pb.PbFieldType.OE, protoName: 'Type', defaultOrMaker: RoleType.ROLE_TYPE_UNKNOWN, valueOf: RoleType.valueOf, enumValues: RoleType.values)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  ListProjectRolesRequest clone() => ListProjectRolesRequest()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  ListProjectRolesRequest copyWith(void Function(ListProjectRolesRequest) updates) => super.copyWith((message) => updates(message as ListProjectRolesRequest)) as ListProjectRolesRequest;

  $pb.BuilderInfo get info_ => _i;

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

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

  @$pb.TagNumber(2)
  $3.ResourceType get resourceType => $_getN(1);
  @$pb.TagNumber(2)
  set resourceType($3.ResourceType v) { $_setField(2, v); }
  @$pb.TagNumber(2)
  $core.bool hasResourceType() => $_has(1);
  @$pb.TagNumber(2)
  void clearResourceType() => $_clearField(2);

  @$pb.TagNumber(3)
  $74.Paging get paging => $_getN(2);
  @$pb.TagNumber(3)
  set paging($74.Paging v) { $_setField(3, v); }
  @$pb.TagNumber(3)
  $core.bool hasPaging() => $_has(2);
  @$pb.TagNumber(3)
  void clearPaging() => $_clearField(3);
  @$pb.TagNumber(3)
  $74.Paging ensurePaging() => $_ensure(2);

  @$pb.TagNumber(4)
  RoleType get type => $_getN(3);
  @$pb.TagNumber(4)
  set type(RoleType v) { $_setField(4, v); }
  @$pb.TagNumber(4)
  $core.bool hasType() => $_has(3);
  @$pb.TagNumber(4)
  void clearType() => $_clearField(4);
}

class ListProjectRolesResult extends $pb.GeneratedMessage {
  factory ListProjectRolesResult({
    $core.Iterable<Role>? results,
  }) {
    final $result = create();
    if (results != null) {
      $result.results.addAll(results);
    }
    return $result;
  }
  ListProjectRolesResult._() : super();
  factory ListProjectRolesResult.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory ListProjectRolesResult.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

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

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  ListProjectRolesResult clone() => ListProjectRolesResult()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  ListProjectRolesResult copyWith(void Function(ListProjectRolesResult) updates) => super.copyWith((message) => updates(message as ListProjectRolesResult)) as ListProjectRolesResult;

  $pb.BuilderInfo get info_ => _i;

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

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

class PutRoleExternalPermissionsRequest extends $pb.GeneratedMessage {
  factory PutRoleExternalPermissionsRequest({
    $core.String? iD,
    $core.Iterable<ExternalPermission>? externalPermissions,
  }) {
    final $result = create();
    if (iD != null) {
      $result.iD = iD;
    }
    if (externalPermissions != null) {
      $result.externalPermissions.addAll(externalPermissions);
    }
    return $result;
  }
  PutRoleExternalPermissionsRequest._() : super();
  factory PutRoleExternalPermissionsRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory PutRoleExternalPermissionsRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'PutRoleExternalPermissionsRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'ID', protoName: 'ID')
    ..pc<ExternalPermission>(2, _omitFieldNames ? '' : 'ExternalPermissions', $pb.PbFieldType.PM, protoName: 'ExternalPermissions', subBuilder: ExternalPermission.create)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  PutRoleExternalPermissionsRequest clone() => PutRoleExternalPermissionsRequest()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  PutRoleExternalPermissionsRequest copyWith(void Function(PutRoleExternalPermissionsRequest) updates) => super.copyWith((message) => updates(message as PutRoleExternalPermissionsRequest)) as PutRoleExternalPermissionsRequest;

  $pb.BuilderInfo get info_ => _i;

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

  @$pb.TagNumber(1)
  $core.String get iD => $_getSZ(0);
  @$pb.TagNumber(1)
  set iD($core.String v) { $_setString(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasID() => $_has(0);
  @$pb.TagNumber(1)
  void clearID() => $_clearField(1);

  @$pb.TagNumber(2)
  $pb.PbList<ExternalPermission> get externalPermissions => $_getList(1);
}

class PutRoleExternalPermissionsResult extends $pb.GeneratedMessage {
  factory PutRoleExternalPermissionsResult({
    Role? result,
  }) {
    final $result = create();
    if (result != null) {
      $result.result = result;
    }
    return $result;
  }
  PutRoleExternalPermissionsResult._() : super();
  factory PutRoleExternalPermissionsResult.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory PutRoleExternalPermissionsResult.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

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

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  PutRoleExternalPermissionsResult clone() => PutRoleExternalPermissionsResult()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  PutRoleExternalPermissionsResult copyWith(void Function(PutRoleExternalPermissionsResult) updates) => super.copyWith((message) => updates(message as PutRoleExternalPermissionsResult)) as PutRoleExternalPermissionsResult;

  $pb.BuilderInfo get info_ => _i;

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

  @$pb.TagNumber(1)
  Role get result => $_getN(0);
  @$pb.TagNumber(1)
  set result(Role v) { $_setField(1, v); }
  @$pb.TagNumber(1)
  $core.bool hasResult() => $_has(0);
  @$pb.TagNumber(1)
  void clearResult() => $_clearField(1);
  @$pb.TagNumber(1)
  Role ensureResult() => $_ensure(0);
}

class DeleteRoleExternalPermissionsRequest extends $pb.GeneratedMessage {
  factory DeleteRoleExternalPermissionsRequest({
    $core.String? iD,
    $core.Iterable<ExternalPermission>? externalPermissions,
  }) {
    final $result = create();
    if (iD != null) {
      $result.iD = iD;
    }
    if (externalPermissions != null) {
      $result.externalPermissions.addAll(externalPermissions);
    }
    return $result;
  }
  DeleteRoleExternalPermissionsRequest._() : super();
  factory DeleteRoleExternalPermissionsRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory DeleteRoleExternalPermissionsRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'DeleteRoleExternalPermissionsRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'ID', protoName: 'ID')
    ..pc<ExternalPermission>(2, _omitFieldNames ? '' : 'ExternalPermissions', $pb.PbFieldType.PM, protoName: 'ExternalPermissions', subBuilder: ExternalPermission.create)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  DeleteRoleExternalPermissionsRequest clone() => DeleteRoleExternalPermissionsRequest()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  DeleteRoleExternalPermissionsRequest copyWith(void Function(DeleteRoleExternalPermissionsRequest) updates) => super.copyWith((message) => updates(message as DeleteRoleExternalPermissionsRequest)) as DeleteRoleExternalPermissionsRequest;

  $pb.BuilderInfo get info_ => _i;

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

  @$pb.TagNumber(1)
  $core.String get iD => $_getSZ(0);
  @$pb.TagNumber(1)
  set iD($core.String v) { $_setString(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasID() => $_has(0);
  @$pb.TagNumber(1)
  void clearID() => $_clearField(1);

  @$pb.TagNumber(2)
  $pb.PbList<ExternalPermission> get externalPermissions => $_getList(1);
}

class DeleteRoleExternalPermissionsResult extends $pb.GeneratedMessage {
  factory DeleteRoleExternalPermissionsResult({
    Role? result,
  }) {
    final $result = create();
    if (result != null) {
      $result.result = result;
    }
    return $result;
  }
  DeleteRoleExternalPermissionsResult._() : super();
  factory DeleteRoleExternalPermissionsResult.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory DeleteRoleExternalPermissionsResult.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

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

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  DeleteRoleExternalPermissionsResult clone() => DeleteRoleExternalPermissionsResult()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  DeleteRoleExternalPermissionsResult copyWith(void Function(DeleteRoleExternalPermissionsResult) updates) => super.copyWith((message) => updates(message as DeleteRoleExternalPermissionsResult)) as DeleteRoleExternalPermissionsResult;

  $pb.BuilderInfo get info_ => _i;

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

  @$pb.TagNumber(1)
  Role get result => $_getN(0);
  @$pb.TagNumber(1)
  set result(Role v) { $_setField(1, v); }
  @$pb.TagNumber(1)
  $core.bool hasResult() => $_has(0);
  @$pb.TagNumber(1)
  void clearResult() => $_clearField(1);
  @$pb.TagNumber(1)
  Role ensureResult() => $_ensure(0);
}

class DeleteAllPlatformRolesRequest extends $pb.GeneratedMessage {
  factory DeleteAllPlatformRolesRequest({
    $3.ResourceType? resourceType,
  }) {
    final $result = create();
    if (resourceType != null) {
      $result.resourceType = resourceType;
    }
    return $result;
  }
  DeleteAllPlatformRolesRequest._() : super();
  factory DeleteAllPlatformRolesRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory DeleteAllPlatformRolesRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'DeleteAllPlatformRolesRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..e<$3.ResourceType>(4, _omitFieldNames ? '' : 'ResourceType', $pb.PbFieldType.OE, protoName: 'ResourceType', defaultOrMaker: $3.ResourceType.RESOURCE_TYPE_UNKNOWN, valueOf: $3.ResourceType.valueOf, enumValues: $3.ResourceType.values)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  DeleteAllPlatformRolesRequest clone() => DeleteAllPlatformRolesRequest()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  DeleteAllPlatformRolesRequest copyWith(void Function(DeleteAllPlatformRolesRequest) updates) => super.copyWith((message) => updates(message as DeleteAllPlatformRolesRequest)) as DeleteAllPlatformRolesRequest;

  $pb.BuilderInfo get info_ => _i;

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

  @$pb.TagNumber(4)
  $3.ResourceType get resourceType => $_getN(0);
  @$pb.TagNumber(4)
  set resourceType($3.ResourceType v) { $_setField(4, v); }
  @$pb.TagNumber(4)
  $core.bool hasResourceType() => $_has(0);
  @$pb.TagNumber(4)
  void clearResourceType() => $_clearField(4);
}

class DeleteAllPlatformRolesResult extends $pb.GeneratedMessage {
  factory DeleteAllPlatformRolesResult() => create();
  DeleteAllPlatformRolesResult._() : super();
  factory DeleteAllPlatformRolesResult.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory DeleteAllPlatformRolesResult.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

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

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  DeleteAllPlatformRolesResult clone() => DeleteAllPlatformRolesResult()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  DeleteAllPlatformRolesResult copyWith(void Function(DeleteAllPlatformRolesResult) updates) => super.copyWith((message) => updates(message as DeleteAllPlatformRolesResult)) as DeleteAllPlatformRolesResult;

  $pb.BuilderInfo get info_ => _i;

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

class DeletePlatformRoleRequest extends $pb.GeneratedMessage {
  factory DeletePlatformRoleRequest({
    $core.String? name,
    $3.ResourceType? resourceType,
  }) {
    final $result = create();
    if (name != null) {
      $result.name = name;
    }
    if (resourceType != null) {
      $result.resourceType = resourceType;
    }
    return $result;
  }
  DeletePlatformRoleRequest._() : super();
  factory DeletePlatformRoleRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory DeletePlatformRoleRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'DeletePlatformRoleRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOS(2, _omitFieldNames ? '' : 'Name', protoName: 'Name')
    ..e<$3.ResourceType>(4, _omitFieldNames ? '' : 'ResourceType', $pb.PbFieldType.OE, protoName: 'ResourceType', defaultOrMaker: $3.ResourceType.RESOURCE_TYPE_UNKNOWN, valueOf: $3.ResourceType.valueOf, enumValues: $3.ResourceType.values)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  DeletePlatformRoleRequest clone() => DeletePlatformRoleRequest()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  DeletePlatformRoleRequest copyWith(void Function(DeletePlatformRoleRequest) updates) => super.copyWith((message) => updates(message as DeletePlatformRoleRequest)) as DeletePlatformRoleRequest;

  $pb.BuilderInfo get info_ => _i;

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

  @$pb.TagNumber(2)
  $core.String get name => $_getSZ(0);
  @$pb.TagNumber(2)
  set name($core.String v) { $_setString(0, v); }
  @$pb.TagNumber(2)
  $core.bool hasName() => $_has(0);
  @$pb.TagNumber(2)
  void clearName() => $_clearField(2);

  @$pb.TagNumber(4)
  $3.ResourceType get resourceType => $_getN(1);
  @$pb.TagNumber(4)
  set resourceType($3.ResourceType v) { $_setField(4, v); }
  @$pb.TagNumber(4)
  $core.bool hasResourceType() => $_has(1);
  @$pb.TagNumber(4)
  void clearResourceType() => $_clearField(4);
}

class DeletePlatformRoleResult extends $pb.GeneratedMessage {
  factory DeletePlatformRoleResult() => create();
  DeletePlatformRoleResult._() : super();
  factory DeletePlatformRoleResult.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory DeletePlatformRoleResult.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

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

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  DeletePlatformRoleResult clone() => DeletePlatformRoleResult()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  DeletePlatformRoleResult copyWith(void Function(DeletePlatformRoleResult) updates) => super.copyWith((message) => updates(message as DeletePlatformRoleResult)) as DeletePlatformRoleResult;

  $pb.BuilderInfo get info_ => _i;

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

class DeleteOrganisationRoleRequest extends $pb.GeneratedMessage {
  factory DeleteOrganisationRoleRequest({
    $3.RequestOrganisationHeader? header,
    $core.String? name,
    $3.ResourceType? resourceType,
  }) {
    final $result = create();
    if (header != null) {
      $result.header = header;
    }
    if (name != null) {
      $result.name = name;
    }
    if (resourceType != null) {
      $result.resourceType = resourceType;
    }
    return $result;
  }
  DeleteOrganisationRoleRequest._() : super();
  factory DeleteOrganisationRoleRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory DeleteOrganisationRoleRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'DeleteOrganisationRoleRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOM<$3.RequestOrganisationHeader>(1, _omitFieldNames ? '' : 'Header', protoName: 'Header', subBuilder: $3.RequestOrganisationHeader.create)
    ..aOS(2, _omitFieldNames ? '' : 'Name', protoName: 'Name')
    ..e<$3.ResourceType>(4, _omitFieldNames ? '' : 'ResourceType', $pb.PbFieldType.OE, protoName: 'ResourceType', defaultOrMaker: $3.ResourceType.RESOURCE_TYPE_UNKNOWN, valueOf: $3.ResourceType.valueOf, enumValues: $3.ResourceType.values)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  DeleteOrganisationRoleRequest clone() => DeleteOrganisationRoleRequest()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  DeleteOrganisationRoleRequest copyWith(void Function(DeleteOrganisationRoleRequest) updates) => super.copyWith((message) => updates(message as DeleteOrganisationRoleRequest)) as DeleteOrganisationRoleRequest;

  $pb.BuilderInfo get info_ => _i;

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

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

  @$pb.TagNumber(2)
  $core.String get name => $_getSZ(1);
  @$pb.TagNumber(2)
  set name($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasName() => $_has(1);
  @$pb.TagNumber(2)
  void clearName() => $_clearField(2);

  @$pb.TagNumber(4)
  $3.ResourceType get resourceType => $_getN(2);
  @$pb.TagNumber(4)
  set resourceType($3.ResourceType v) { $_setField(4, v); }
  @$pb.TagNumber(4)
  $core.bool hasResourceType() => $_has(2);
  @$pb.TagNumber(4)
  void clearResourceType() => $_clearField(4);
}

class DeleteOrganisationRoleResult extends $pb.GeneratedMessage {
  factory DeleteOrganisationRoleResult() => create();
  DeleteOrganisationRoleResult._() : super();
  factory DeleteOrganisationRoleResult.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory DeleteOrganisationRoleResult.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

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

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  DeleteOrganisationRoleResult clone() => DeleteOrganisationRoleResult()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  DeleteOrganisationRoleResult copyWith(void Function(DeleteOrganisationRoleResult) updates) => super.copyWith((message) => updates(message as DeleteOrganisationRoleResult)) as DeleteOrganisationRoleResult;

  $pb.BuilderInfo get info_ => _i;

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

class DeleteProjectRoleRequest extends $pb.GeneratedMessage {
  factory DeleteProjectRoleRequest({
    $3.RequestProjectHeader? header,
    $core.String? name,
    $3.ResourceType? resourceType,
  }) {
    final $result = create();
    if (header != null) {
      $result.header = header;
    }
    if (name != null) {
      $result.name = name;
    }
    if (resourceType != null) {
      $result.resourceType = resourceType;
    }
    return $result;
  }
  DeleteProjectRoleRequest._() : super();
  factory DeleteProjectRoleRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory DeleteProjectRoleRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'DeleteProjectRoleRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOM<$3.RequestProjectHeader>(1, _omitFieldNames ? '' : 'Header', protoName: 'Header', subBuilder: $3.RequestProjectHeader.create)
    ..aOS(2, _omitFieldNames ? '' : 'Name', protoName: 'Name')
    ..e<$3.ResourceType>(4, _omitFieldNames ? '' : 'ResourceType', $pb.PbFieldType.OE, protoName: 'ResourceType', defaultOrMaker: $3.ResourceType.RESOURCE_TYPE_UNKNOWN, valueOf: $3.ResourceType.valueOf, enumValues: $3.ResourceType.values)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  DeleteProjectRoleRequest clone() => DeleteProjectRoleRequest()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  DeleteProjectRoleRequest copyWith(void Function(DeleteProjectRoleRequest) updates) => super.copyWith((message) => updates(message as DeleteProjectRoleRequest)) as DeleteProjectRoleRequest;

  $pb.BuilderInfo get info_ => _i;

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

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

  @$pb.TagNumber(2)
  $core.String get name => $_getSZ(1);
  @$pb.TagNumber(2)
  set name($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasName() => $_has(1);
  @$pb.TagNumber(2)
  void clearName() => $_clearField(2);

  @$pb.TagNumber(4)
  $3.ResourceType get resourceType => $_getN(2);
  @$pb.TagNumber(4)
  set resourceType($3.ResourceType v) { $_setField(4, v); }
  @$pb.TagNumber(4)
  $core.bool hasResourceType() => $_has(2);
  @$pb.TagNumber(4)
  void clearResourceType() => $_clearField(4);
}

class DeleteProjectRoleResult extends $pb.GeneratedMessage {
  factory DeleteProjectRoleResult() => create();
  DeleteProjectRoleResult._() : super();
  factory DeleteProjectRoleResult.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory DeleteProjectRoleResult.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

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

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  DeleteProjectRoleResult clone() => DeleteProjectRoleResult()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  DeleteProjectRoleResult copyWith(void Function(DeleteProjectRoleResult) updates) => super.copyWith((message) => updates(message as DeleteProjectRoleResult)) as DeleteProjectRoleResult;

  $pb.BuilderInfo get info_ => _i;

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

class PropagateRolesOnResourceRequest extends $pb.GeneratedMessage {
  factory PropagateRolesOnResourceRequest({
    $3.ResourceType? resourceType,
    $core.String? resourceId,
    $core.String? parentRscId,
  }) {
    final $result = create();
    if (resourceType != null) {
      $result.resourceType = resourceType;
    }
    if (resourceId != null) {
      $result.resourceId = resourceId;
    }
    if (parentRscId != null) {
      $result.parentRscId = parentRscId;
    }
    return $result;
  }
  PropagateRolesOnResourceRequest._() : super();
  factory PropagateRolesOnResourceRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory PropagateRolesOnResourceRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'PropagateRolesOnResourceRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..e<$3.ResourceType>(1, _omitFieldNames ? '' : 'ResourceType', $pb.PbFieldType.OE, protoName: 'ResourceType', defaultOrMaker: $3.ResourceType.RESOURCE_TYPE_UNKNOWN, valueOf: $3.ResourceType.valueOf, enumValues: $3.ResourceType.values)
    ..aOS(2, _omitFieldNames ? '' : 'ResourceId', protoName: 'ResourceId')
    ..aOS(3, _omitFieldNames ? '' : 'ParentRscId', protoName: 'ParentRscId')
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  PropagateRolesOnResourceRequest clone() => PropagateRolesOnResourceRequest()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  PropagateRolesOnResourceRequest copyWith(void Function(PropagateRolesOnResourceRequest) updates) => super.copyWith((message) => updates(message as PropagateRolesOnResourceRequest)) as PropagateRolesOnResourceRequest;

  $pb.BuilderInfo get info_ => _i;

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

  @$pb.TagNumber(1)
  $3.ResourceType get resourceType => $_getN(0);
  @$pb.TagNumber(1)
  set resourceType($3.ResourceType v) { $_setField(1, v); }
  @$pb.TagNumber(1)
  $core.bool hasResourceType() => $_has(0);
  @$pb.TagNumber(1)
  void clearResourceType() => $_clearField(1);

  @$pb.TagNumber(2)
  $core.String get resourceId => $_getSZ(1);
  @$pb.TagNumber(2)
  set resourceId($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasResourceId() => $_has(1);
  @$pb.TagNumber(2)
  void clearResourceId() => $_clearField(2);

  @$pb.TagNumber(3)
  $core.String get parentRscId => $_getSZ(2);
  @$pb.TagNumber(3)
  set parentRscId($core.String v) { $_setString(2, v); }
  @$pb.TagNumber(3)
  $core.bool hasParentRscId() => $_has(2);
  @$pb.TagNumber(3)
  void clearParentRscId() => $_clearField(3);
}

class PropagateRolesOnResourceResult extends $pb.GeneratedMessage {
  factory PropagateRolesOnResourceResult() => create();
  PropagateRolesOnResourceResult._() : super();
  factory PropagateRolesOnResourceResult.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory PropagateRolesOnResourceResult.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

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

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  PropagateRolesOnResourceResult clone() => PropagateRolesOnResourceResult()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  PropagateRolesOnResourceResult copyWith(void Function(PropagateRolesOnResourceResult) updates) => super.copyWith((message) => updates(message as PropagateRolesOnResourceResult)) as PropagateRolesOnResourceResult;

  $pb.BuilderInfo get info_ => _i;

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

class DeleteRolesOnResourceRequest extends $pb.GeneratedMessage {
  factory DeleteRolesOnResourceRequest({
    $3.ResourceType? resourceType,
    $core.String? resourceId,
  }) {
    final $result = create();
    if (resourceType != null) {
      $result.resourceType = resourceType;
    }
    if (resourceId != null) {
      $result.resourceId = resourceId;
    }
    return $result;
  }
  DeleteRolesOnResourceRequest._() : super();
  factory DeleteRolesOnResourceRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory DeleteRolesOnResourceRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'DeleteRolesOnResourceRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..e<$3.ResourceType>(1, _omitFieldNames ? '' : 'ResourceType', $pb.PbFieldType.OE, protoName: 'ResourceType', defaultOrMaker: $3.ResourceType.RESOURCE_TYPE_UNKNOWN, valueOf: $3.ResourceType.valueOf, enumValues: $3.ResourceType.values)
    ..aOS(2, _omitFieldNames ? '' : 'ResourceId', protoName: 'ResourceId')
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  DeleteRolesOnResourceRequest clone() => DeleteRolesOnResourceRequest()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  DeleteRolesOnResourceRequest copyWith(void Function(DeleteRolesOnResourceRequest) updates) => super.copyWith((message) => updates(message as DeleteRolesOnResourceRequest)) as DeleteRolesOnResourceRequest;

  $pb.BuilderInfo get info_ => _i;

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

  @$pb.TagNumber(1)
  $3.ResourceType get resourceType => $_getN(0);
  @$pb.TagNumber(1)
  set resourceType($3.ResourceType v) { $_setField(1, v); }
  @$pb.TagNumber(1)
  $core.bool hasResourceType() => $_has(0);
  @$pb.TagNumber(1)
  void clearResourceType() => $_clearField(1);

  @$pb.TagNumber(2)
  $core.String get resourceId => $_getSZ(1);
  @$pb.TagNumber(2)
  set resourceId($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasResourceId() => $_has(1);
  @$pb.TagNumber(2)
  void clearResourceId() => $_clearField(2);
}

class DeleteRolesOnResourceResult extends $pb.GeneratedMessage {
  factory DeleteRolesOnResourceResult() => create();
  DeleteRolesOnResourceResult._() : super();
  factory DeleteRolesOnResourceResult.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory DeleteRolesOnResourceResult.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

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

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  DeleteRolesOnResourceResult clone() => DeleteRolesOnResourceResult()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  DeleteRolesOnResourceResult copyWith(void Function(DeleteRolesOnResourceResult) updates) => super.copyWith((message) => updates(message as DeleteRolesOnResourceResult)) as DeleteRolesOnResourceResult;

  $pb.BuilderInfo get info_ => _i;

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

class GetRoleResourceTypesRequest extends $pb.GeneratedMessage {
  factory GetRoleResourceTypesRequest() => create();
  GetRoleResourceTypesRequest._() : super();
  factory GetRoleResourceTypesRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory GetRoleResourceTypesRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

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

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  GetRoleResourceTypesRequest clone() => GetRoleResourceTypesRequest()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  GetRoleResourceTypesRequest copyWith(void Function(GetRoleResourceTypesRequest) updates) => super.copyWith((message) => updates(message as GetRoleResourceTypesRequest)) as GetRoleResourceTypesRequest;

  $pb.BuilderInfo get info_ => _i;

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

class GetRoleResourceTypesResult extends $pb.GeneratedMessage {
  factory GetRoleResourceTypesResult({
    $core.Iterable<$3.ResourceType>? resourceTypes,
  }) {
    final $result = create();
    if (resourceTypes != null) {
      $result.resourceTypes.addAll(resourceTypes);
    }
    return $result;
  }
  GetRoleResourceTypesResult._() : super();
  factory GetRoleResourceTypesResult.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory GetRoleResourceTypesResult.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetRoleResourceTypesResult', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..pc<$3.ResourceType>(1, _omitFieldNames ? '' : 'ResourceTypes', $pb.PbFieldType.KE, protoName: 'ResourceTypes', valueOf: $3.ResourceType.valueOf, enumValues: $3.ResourceType.values, defaultEnumValue: $3.ResourceType.RESOURCE_TYPE_UNKNOWN)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  GetRoleResourceTypesResult clone() => GetRoleResourceTypesResult()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  GetRoleResourceTypesResult copyWith(void Function(GetRoleResourceTypesResult) updates) => super.copyWith((message) => updates(message as GetRoleResourceTypesResult)) as GetRoleResourceTypesResult;

  $pb.BuilderInfo get info_ => _i;

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

  @$pb.TagNumber(1)
  $pb.PbList<$3.ResourceType> get resourceTypes => $_getList(0);
}


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