//
//  Generated code. Do not modify.
//  source: metadatadef.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:fixnum/fixnum.dart' as $fixnum;
import 'package:protobuf/protobuf.dart' as $pb;

import 'metadata.pbenum.dart' as $72;
import 'shared.pb.dart' as $3;

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

class PrjMetadata extends $pb.GeneratedMessage {
  factory PrjMetadata({
    $core.bool? isSegmentationKey,
    $core.String? domain,
    $core.String? entity,
    $core.String? parent,
    $core.String? name,
    $core.String? type,
    $core.bool? isMandatory,
    $core.String? example,
    $core.String? regularExpression,
    $72.MetadataType? typology,
    $core.Iterable<$core.String>? enumeration,
    $72.MetadataDisplayType? showOnCreation,
  }) {
    final $result = create();
    if (isSegmentationKey != null) {
      $result.isSegmentationKey = isSegmentationKey;
    }
    if (domain != null) {
      $result.domain = domain;
    }
    if (entity != null) {
      $result.entity = entity;
    }
    if (parent != null) {
      $result.parent = parent;
    }
    if (name != null) {
      $result.name = name;
    }
    if (type != null) {
      $result.type = type;
    }
    if (isMandatory != null) {
      $result.isMandatory = isMandatory;
    }
    if (example != null) {
      $result.example = example;
    }
    if (regularExpression != null) {
      $result.regularExpression = regularExpression;
    }
    if (typology != null) {
      $result.typology = typology;
    }
    if (enumeration != null) {
      $result.enumeration.addAll(enumeration);
    }
    if (showOnCreation != null) {
      $result.showOnCreation = showOnCreation;
    }
    return $result;
  }
  PrjMetadata._() : super();
  factory PrjMetadata.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory PrjMetadata.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'PrjMetadata', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOB(2, _omitFieldNames ? '' : 'IsSegmentationKey', protoName: 'IsSegmentationKey')
    ..aOS(3, _omitFieldNames ? '' : 'Domain', protoName: 'Domain')
    ..aOS(4, _omitFieldNames ? '' : 'Entity', protoName: 'Entity')
    ..aOS(5, _omitFieldNames ? '' : 'Parent', protoName: 'Parent')
    ..aOS(6, _omitFieldNames ? '' : 'Name', protoName: 'Name')
    ..aOS(7, _omitFieldNames ? '' : 'Type', protoName: 'Type')
    ..aOB(8, _omitFieldNames ? '' : 'IsMandatory', protoName: 'IsMandatory')
    ..aOS(9, _omitFieldNames ? '' : 'Example', protoName: 'Example')
    ..aOS(10, _omitFieldNames ? '' : 'RegularExpression', protoName: 'RegularExpression')
    ..e<$72.MetadataType>(11, _omitFieldNames ? '' : 'Typology', $pb.PbFieldType.OE, protoName: 'Typology', defaultOrMaker: $72.MetadataType.TYPE_UNKNOWN, valueOf: $72.MetadataType.valueOf, enumValues: $72.MetadataType.values)
    ..pPS(12, _omitFieldNames ? '' : 'Enumeration', protoName: 'Enumeration')
    ..e<$72.MetadataDisplayType>(13, _omitFieldNames ? '' : 'ShowOnCreation', $pb.PbFieldType.OE, protoName: 'ShowOnCreation', defaultOrMaker: $72.MetadataDisplayType.DISPLAY_UNKNOWN, valueOf: $72.MetadataDisplayType.valueOf, enumValues: $72.MetadataDisplayType.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')
  PrjMetadata clone() => PrjMetadata()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  PrjMetadata copyWith(void Function(PrjMetadata) updates) => super.copyWith((message) => updates(message as PrjMetadata)) as PrjMetadata;

  $pb.BuilderInfo get info_ => _i;

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

  /// The segmentation keys are used to complete the segmentation criteria of the project stock. They also apply to order lines and stock movements
  @$pb.TagNumber(2)
  $core.bool get isSegmentationKey => $_getBF(0);
  @$pb.TagNumber(2)
  set isSegmentationKey($core.bool v) { $_setBool(0, v); }
  @$pb.TagNumber(2)
  $core.bool hasIsSegmentationKey() => $_has(0);
  @$pb.TagNumber(2)
  void clearIsSegmentationKey() => $_clearField(2);

  @$pb.TagNumber(3)
  $core.String get domain => $_getSZ(1);
  @$pb.TagNumber(3)
  set domain($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(3)
  $core.bool hasDomain() => $_has(1);
  @$pb.TagNumber(3)
  void clearDomain() => $_clearField(3);

  /// Entity where the metadata will be created. It can be \"executionflow\", \"handlingunit\", \"item\", \"order\", \"stock\"
  @$pb.TagNumber(4)
  $core.String get entity => $_getSZ(2);
  @$pb.TagNumber(4)
  set entity($core.String v) { $_setString(2, v); }
  @$pb.TagNumber(4)
  $core.bool hasEntity() => $_has(2);
  @$pb.TagNumber(4)
  void clearEntity() => $_clearField(4);

  /// Where the metadata is located, either \"Payload.Metadata\" or \"Payload.Goods.SegmentationKeys\"
  @$pb.TagNumber(5)
  $core.String get parent => $_getSZ(3);
  @$pb.TagNumber(5)
  set parent($core.String v) { $_setString(3, v); }
  @$pb.TagNumber(5)
  $core.bool hasParent() => $_has(3);
  @$pb.TagNumber(5)
  void clearParent() => $_clearField(5);

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

  /// Type attached to the metadata, can be anything such as Item, Actor, Order...
  @$pb.TagNumber(7)
  $core.String get type => $_getSZ(5);
  @$pb.TagNumber(7)
  set type($core.String v) { $_setString(5, v); }
  @$pb.TagNumber(7)
  $core.bool hasType() => $_has(5);
  @$pb.TagNumber(7)
  void clearType() => $_clearField(7);

  @$pb.TagNumber(8)
  $core.bool get isMandatory => $_getBF(6);
  @$pb.TagNumber(8)
  set isMandatory($core.bool v) { $_setBool(6, v); }
  @$pb.TagNumber(8)
  $core.bool hasIsMandatory() => $_has(6);
  @$pb.TagNumber(8)
  void clearIsMandatory() => $_clearField(8);

  @$pb.TagNumber(9)
  $core.String get example => $_getSZ(7);
  @$pb.TagNumber(9)
  set example($core.String v) { $_setString(7, v); }
  @$pb.TagNumber(9)
  $core.bool hasExample() => $_has(7);
  @$pb.TagNumber(9)
  void clearExample() => $_clearField(9);

  @$pb.TagNumber(10)
  $core.String get regularExpression => $_getSZ(8);
  @$pb.TagNumber(10)
  set regularExpression($core.String v) { $_setString(8, v); }
  @$pb.TagNumber(10)
  $core.bool hasRegularExpression() => $_has(8);
  @$pb.TagNumber(10)
  void clearRegularExpression() => $_clearField(10);

  @$pb.TagNumber(11)
  $72.MetadataType get typology => $_getN(9);
  @$pb.TagNumber(11)
  set typology($72.MetadataType v) { $_setField(11, v); }
  @$pb.TagNumber(11)
  $core.bool hasTypology() => $_has(9);
  @$pb.TagNumber(11)
  void clearTypology() => $_clearField(11);

  /// Customizable enumeration
  @$pb.TagNumber(12)
  $pb.PbList<$core.String> get enumeration => $_getList(10);

  @$pb.TagNumber(13)
  $72.MetadataDisplayType get showOnCreation => $_getN(11);
  @$pb.TagNumber(13)
  set showOnCreation($72.MetadataDisplayType v) { $_setField(13, v); }
  @$pb.TagNumber(13)
  $core.bool hasShowOnCreation() => $_has(11);
  @$pb.TagNumber(13)
  void clearShowOnCreation() => $_clearField(13);
}

class PrjMetadataTransitive extends $pb.GeneratedMessage {
  factory PrjMetadataTransitive({
    $core.String? parent,
    $core.String? name,
    $core.bool? isSegmentationKey,
    $core.String? type,
    $core.bool? isMandatory,
    $core.String? example,
    $core.String? regularExpression,
    $core.Iterable<$core.String>? enumeration,
    $72.MetadataDisplayType? showOnCreation,
  }) {
    final $result = create();
    if (parent != null) {
      $result.parent = parent;
    }
    if (name != null) {
      $result.name = name;
    }
    if (isSegmentationKey != null) {
      $result.isSegmentationKey = isSegmentationKey;
    }
    if (type != null) {
      $result.type = type;
    }
    if (isMandatory != null) {
      $result.isMandatory = isMandatory;
    }
    if (example != null) {
      $result.example = example;
    }
    if (regularExpression != null) {
      $result.regularExpression = regularExpression;
    }
    if (enumeration != null) {
      $result.enumeration.addAll(enumeration);
    }
    if (showOnCreation != null) {
      $result.showOnCreation = showOnCreation;
    }
    return $result;
  }
  PrjMetadataTransitive._() : super();
  factory PrjMetadataTransitive.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory PrjMetadataTransitive.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'PrjMetadataTransitive', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'Parent', protoName: 'Parent')
    ..aOS(2, _omitFieldNames ? '' : 'Name', protoName: 'Name')
    ..aOB(3, _omitFieldNames ? '' : 'IsSegmentationKey', protoName: 'IsSegmentationKey')
    ..aOS(4, _omitFieldNames ? '' : 'Type', protoName: 'Type')
    ..aOB(5, _omitFieldNames ? '' : 'IsMandatory', protoName: 'IsMandatory')
    ..aOS(6, _omitFieldNames ? '' : 'Example', protoName: 'Example')
    ..aOS(7, _omitFieldNames ? '' : 'RegularExpression', protoName: 'RegularExpression')
    ..pPS(8, _omitFieldNames ? '' : 'Enumeration', protoName: 'Enumeration')
    ..e<$72.MetadataDisplayType>(9, _omitFieldNames ? '' : 'ShowOnCreation', $pb.PbFieldType.OE, protoName: 'ShowOnCreation', defaultOrMaker: $72.MetadataDisplayType.DISPLAY_UNKNOWN, valueOf: $72.MetadataDisplayType.valueOf, enumValues: $72.MetadataDisplayType.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')
  PrjMetadataTransitive clone() => PrjMetadataTransitive()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  PrjMetadataTransitive copyWith(void Function(PrjMetadataTransitive) updates) => super.copyWith((message) => updates(message as PrjMetadataTransitive)) as PrjMetadataTransitive;

  $pb.BuilderInfo get info_ => _i;

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

  /// Where the metadata is located, either \"Payload.Metadata\" or \"Payload.Goods.SegmentationKeys\"
  @$pb.TagNumber(1)
  $core.String get parent => $_getSZ(0);
  @$pb.TagNumber(1)
  set parent($core.String v) { $_setString(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasParent() => $_has(0);
  @$pb.TagNumber(1)
  void clearParent() => $_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);

  /// The segmentation keys are used to complete the segmentation criteria of the project stock. They also apply to order lines and stock movements
  @$pb.TagNumber(3)
  $core.bool get isSegmentationKey => $_getBF(2);
  @$pb.TagNumber(3)
  set isSegmentationKey($core.bool v) { $_setBool(2, v); }
  @$pb.TagNumber(3)
  $core.bool hasIsSegmentationKey() => $_has(2);
  @$pb.TagNumber(3)
  void clearIsSegmentationKey() => $_clearField(3);

  /// Type attached to the metadata, can be anything such as Item, Actor, Order...
  @$pb.TagNumber(4)
  $core.String get type => $_getSZ(3);
  @$pb.TagNumber(4)
  set type($core.String v) { $_setString(3, v); }
  @$pb.TagNumber(4)
  $core.bool hasType() => $_has(3);
  @$pb.TagNumber(4)
  void clearType() => $_clearField(4);

  @$pb.TagNumber(5)
  $core.bool get isMandatory => $_getBF(4);
  @$pb.TagNumber(5)
  set isMandatory($core.bool v) { $_setBool(4, v); }
  @$pb.TagNumber(5)
  $core.bool hasIsMandatory() => $_has(4);
  @$pb.TagNumber(5)
  void clearIsMandatory() => $_clearField(5);

  @$pb.TagNumber(6)
  $core.String get example => $_getSZ(5);
  @$pb.TagNumber(6)
  set example($core.String v) { $_setString(5, v); }
  @$pb.TagNumber(6)
  $core.bool hasExample() => $_has(5);
  @$pb.TagNumber(6)
  void clearExample() => $_clearField(6);

  @$pb.TagNumber(7)
  $core.String get regularExpression => $_getSZ(6);
  @$pb.TagNumber(7)
  set regularExpression($core.String v) { $_setString(6, v); }
  @$pb.TagNumber(7)
  $core.bool hasRegularExpression() => $_has(6);
  @$pb.TagNumber(7)
  void clearRegularExpression() => $_clearField(7);

  /// Customizable enumeration
  @$pb.TagNumber(8)
  $pb.PbList<$core.String> get enumeration => $_getList(7);

  @$pb.TagNumber(9)
  $72.MetadataDisplayType get showOnCreation => $_getN(8);
  @$pb.TagNumber(9)
  set showOnCreation($72.MetadataDisplayType v) { $_setField(9, v); }
  @$pb.TagNumber(9)
  $core.bool hasShowOnCreation() => $_has(8);
  @$pb.TagNumber(9)
  void clearShowOnCreation() => $_clearField(9);
}

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

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'PrjMetadataFilters', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOS(2, _omitFieldNames ? '' : 'Domain', protoName: 'Domain')
    ..aOS(3, _omitFieldNames ? '' : 'Entity', protoName: 'Entity')
    ..aOB(4, _omitFieldNames ? '' : 'IsSegmentationKey', protoName: 'IsSegmentationKey')
    ..aOS(5, _omitFieldNames ? '' : 'Parent', protoName: 'Parent')
    ..aOS(6, _omitFieldNames ? '' : 'Name', protoName: 'Name')
    ..hasRequiredFields = false
  ;

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

  $pb.BuilderInfo get info_ => _i;

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

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

  /// Entity where the metadata will be created. It can be \"executionflow\", \"handlingunit\", \"item\", \"order\", \"stock\"
  @$pb.TagNumber(3)
  $core.String get entity => $_getSZ(1);
  @$pb.TagNumber(3)
  set entity($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(3)
  $core.bool hasEntity() => $_has(1);
  @$pb.TagNumber(3)
  void clearEntity() => $_clearField(3);

  /// The segmentation keys are used to complete the segmentation criteria of the project stock. They also apply to order lines and stock movements
  @$pb.TagNumber(4)
  $core.bool get isSegmentationKey => $_getBF(2);
  @$pb.TagNumber(4)
  set isSegmentationKey($core.bool v) { $_setBool(2, v); }
  @$pb.TagNumber(4)
  $core.bool hasIsSegmentationKey() => $_has(2);
  @$pb.TagNumber(4)
  void clearIsSegmentationKey() => $_clearField(4);

  /// Where the metadata is located, either \"Payload.Metadata\" or \"Payload.Goods.SegmentationKeys\"
  @$pb.TagNumber(5)
  $core.String get parent => $_getSZ(3);
  @$pb.TagNumber(5)
  set parent($core.String v) { $_setString(3, v); }
  @$pb.TagNumber(5)
  $core.bool hasParent() => $_has(3);
  @$pb.TagNumber(5)
  void clearParent() => $_clearField(5);

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

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

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'PrjMetadatasByDomain', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..m<$core.String, $fixnum.Int64>(1, _omitFieldNames ? '' : 'Entities', protoName: 'Entities', entryClassName: 'PrjMetadatasByDomain.EntitiesEntry', keyFieldType: $pb.PbFieldType.OS, valueFieldType: $pb.PbFieldType.O6, packageName: const $pb.PackageName('api'))
    ..aInt64(2, _omitFieldNames ? '' : 'Total', protoName: 'Total')
    ..hasRequiredFields = false
  ;

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

  $pb.BuilderInfo get info_ => _i;

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

  @$pb.TagNumber(1)
  $pb.PbMap<$core.String, $fixnum.Int64> get entities => $_getMap(0);

  @$pb.TagNumber(2)
  $fixnum.Int64 get total => $_getI64(1);
  @$pb.TagNumber(2)
  set total($fixnum.Int64 v) { $_setInt64(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasTotal() => $_has(1);
  @$pb.TagNumber(2)
  void clearTotal() => $_clearField(2);
}

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

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'CreateMetadataRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOM<PrjMetadata>(1, _omitFieldNames ? '' : 'Metadata', protoName: 'Metadata', subBuilder: PrjMetadata.create)
    ..aOM<$3.RequestProjectHeader>(2, _omitFieldNames ? '' : 'Header', protoName: 'Header', subBuilder: $3.RequestProjectHeader.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')
  CreateMetadataRequest clone() => CreateMetadataRequest()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  CreateMetadataRequest copyWith(void Function(CreateMetadataRequest) updates) => super.copyWith((message) => updates(message as CreateMetadataRequest)) as CreateMetadataRequest;

  $pb.BuilderInfo get info_ => _i;

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

  /// Metadata are characteristics specific to the project. They can be of several data form (string, integer, float, boolean or timestamp)
  @$pb.TagNumber(1)
  PrjMetadata get metadata => $_getN(0);
  @$pb.TagNumber(1)
  set metadata(PrjMetadata v) { $_setField(1, v); }
  @$pb.TagNumber(1)
  $core.bool hasMetadata() => $_has(0);
  @$pb.TagNumber(1)
  void clearMetadata() => $_clearField(1);
  @$pb.TagNumber(1)
  PrjMetadata ensureMetadata() => $_ensure(0);

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

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

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'CreateMetadataResult', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOM<PrjMetadata>(1, _omitFieldNames ? '' : 'Metadata', protoName: 'Metadata', subBuilder: PrjMetadata.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')
  CreateMetadataResult clone() => CreateMetadataResult()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  CreateMetadataResult copyWith(void Function(CreateMetadataResult) updates) => super.copyWith((message) => updates(message as CreateMetadataResult)) as CreateMetadataResult;

  $pb.BuilderInfo get info_ => _i;

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

  @$pb.TagNumber(1)
  PrjMetadata get metadata => $_getN(0);
  @$pb.TagNumber(1)
  set metadata(PrjMetadata v) { $_setField(1, v); }
  @$pb.TagNumber(1)
  $core.bool hasMetadata() => $_has(0);
  @$pb.TagNumber(1)
  void clearMetadata() => $_clearField(1);
  @$pb.TagNumber(1)
  PrjMetadata ensureMetadata() => $_ensure(0);
}

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

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'UpdateMetadataRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOM<PrjMetadata>(1, _omitFieldNames ? '' : 'Metadata', protoName: 'Metadata', subBuilder: PrjMetadata.create)
    ..aOM<$3.RequestProjectHeader>(2, _omitFieldNames ? '' : 'Header', protoName: 'Header', subBuilder: $3.RequestProjectHeader.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')
  UpdateMetadataRequest clone() => UpdateMetadataRequest()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  UpdateMetadataRequest copyWith(void Function(UpdateMetadataRequest) updates) => super.copyWith((message) => updates(message as UpdateMetadataRequest)) as UpdateMetadataRequest;

  $pb.BuilderInfo get info_ => _i;

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

  /// Metadata are characteristics specific to the project. They can be of several data form (string, integer, float, boolean or timestamp)
  @$pb.TagNumber(1)
  PrjMetadata get metadata => $_getN(0);
  @$pb.TagNumber(1)
  set metadata(PrjMetadata v) { $_setField(1, v); }
  @$pb.TagNumber(1)
  $core.bool hasMetadata() => $_has(0);
  @$pb.TagNumber(1)
  void clearMetadata() => $_clearField(1);
  @$pb.TagNumber(1)
  PrjMetadata ensureMetadata() => $_ensure(0);

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

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

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'UpdateMetadataResult', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOM<PrjMetadata>(1, _omitFieldNames ? '' : 'Metadata', protoName: 'Metadata', subBuilder: PrjMetadata.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')
  UpdateMetadataResult clone() => UpdateMetadataResult()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  UpdateMetadataResult copyWith(void Function(UpdateMetadataResult) updates) => super.copyWith((message) => updates(message as UpdateMetadataResult)) as UpdateMetadataResult;

  $pb.BuilderInfo get info_ => _i;

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

  @$pb.TagNumber(1)
  PrjMetadata get metadata => $_getN(0);
  @$pb.TagNumber(1)
  set metadata(PrjMetadata v) { $_setField(1, v); }
  @$pb.TagNumber(1)
  $core.bool hasMetadata() => $_has(0);
  @$pb.TagNumber(1)
  void clearMetadata() => $_clearField(1);
  @$pb.TagNumber(1)
  PrjMetadata ensureMetadata() => $_ensure(0);
}

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

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'DeleteMetadatasRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOM<PrjMetadataFilters>(1, _omitFieldNames ? '' : 'Filters', protoName: 'Filters', subBuilder: PrjMetadataFilters.create)
    ..aOM<$3.RequestProjectHeader>(2, _omitFieldNames ? '' : 'Header', protoName: 'Header', subBuilder: $3.RequestProjectHeader.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')
  DeleteMetadatasRequest clone() => DeleteMetadatasRequest()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  DeleteMetadatasRequest copyWith(void Function(DeleteMetadatasRequest) updates) => super.copyWith((message) => updates(message as DeleteMetadatasRequest)) as DeleteMetadatasRequest;

  $pb.BuilderInfo get info_ => _i;

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

  @$pb.TagNumber(1)
  PrjMetadataFilters get filters => $_getN(0);
  @$pb.TagNumber(1)
  set filters(PrjMetadataFilters v) { $_setField(1, v); }
  @$pb.TagNumber(1)
  $core.bool hasFilters() => $_has(0);
  @$pb.TagNumber(1)
  void clearFilters() => $_clearField(1);
  @$pb.TagNumber(1)
  PrjMetadataFilters ensureFilters() => $_ensure(0);

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

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

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'DeleteMetadatasResult', 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')
  DeleteMetadatasResult clone() => DeleteMetadatasResult()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  DeleteMetadatasResult copyWith(void Function(DeleteMetadatasResult) updates) => super.copyWith((message) => updates(message as DeleteMetadatasResult)) as DeleteMetadatasResult;

  $pb.BuilderInfo get info_ => _i;

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

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

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetMetadatasRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOM<PrjMetadataFilters>(1, _omitFieldNames ? '' : 'Filters', protoName: 'Filters', subBuilder: PrjMetadataFilters.create)
    ..aOM<$3.RequestProjectHeader>(2, _omitFieldNames ? '' : 'Header', protoName: 'Header', subBuilder: $3.RequestProjectHeader.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')
  GetMetadatasRequest clone() => GetMetadatasRequest()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  GetMetadatasRequest copyWith(void Function(GetMetadatasRequest) updates) => super.copyWith((message) => updates(message as GetMetadatasRequest)) as GetMetadatasRequest;

  $pb.BuilderInfo get info_ => _i;

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

  @$pb.TagNumber(1)
  PrjMetadataFilters get filters => $_getN(0);
  @$pb.TagNumber(1)
  set filters(PrjMetadataFilters v) { $_setField(1, v); }
  @$pb.TagNumber(1)
  $core.bool hasFilters() => $_has(0);
  @$pb.TagNumber(1)
  void clearFilters() => $_clearField(1);
  @$pb.TagNumber(1)
  PrjMetadataFilters ensureFilters() => $_ensure(0);

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

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

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetMetadatasResult', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..pc<PrjMetadata>(1, _omitFieldNames ? '' : 'Metadatas', $pb.PbFieldType.PM, protoName: 'Metadatas', subBuilder: PrjMetadata.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')
  GetMetadatasResult clone() => GetMetadatasResult()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  GetMetadatasResult copyWith(void Function(GetMetadatasResult) updates) => super.copyWith((message) => updates(message as GetMetadatasResult)) as GetMetadatasResult;

  $pb.BuilderInfo get info_ => _i;

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

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

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

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetMetadataCountRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOB(2, _omitFieldNames ? '' : 'IsSegmentationKey', protoName: 'IsSegmentationKey')
    ..aOM<$3.RequestProjectHeader>(3, _omitFieldNames ? '' : 'Header', protoName: 'Header', subBuilder: $3.RequestProjectHeader.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')
  GetMetadataCountRequest clone() => GetMetadataCountRequest()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  GetMetadataCountRequest copyWith(void Function(GetMetadataCountRequest) updates) => super.copyWith((message) => updates(message as GetMetadataCountRequest)) as GetMetadataCountRequest;

  $pb.BuilderInfo get info_ => _i;

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

  /// The segmentation keys are used to complete the segmentation criteria of the project stock. They also apply to order lines and stock movements
  @$pb.TagNumber(2)
  $core.bool get isSegmentationKey => $_getBF(0);
  @$pb.TagNumber(2)
  set isSegmentationKey($core.bool v) { $_setBool(0, v); }
  @$pb.TagNumber(2)
  $core.bool hasIsSegmentationKey() => $_has(0);
  @$pb.TagNumber(2)
  void clearIsSegmentationKey() => $_clearField(2);

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

class GetMetadataCountResult extends $pb.GeneratedMessage {
  factory GetMetadataCountResult({
    $core.Iterable<$core.MapEntry<$core.String, PrjMetadatasByDomain>>? domains,
    $fixnum.Int64? total,
  }) {
    final $result = create();
    if (domains != null) {
      $result.domains.addEntries(domains);
    }
    if (total != null) {
      $result.total = total;
    }
    return $result;
  }
  GetMetadataCountResult._() : super();
  factory GetMetadataCountResult.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory GetMetadataCountResult.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetMetadataCountResult', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..m<$core.String, PrjMetadatasByDomain>(1, _omitFieldNames ? '' : 'Domains', protoName: 'Domains', entryClassName: 'GetMetadataCountResult.DomainsEntry', keyFieldType: $pb.PbFieldType.OS, valueFieldType: $pb.PbFieldType.OM, valueCreator: PrjMetadatasByDomain.create, valueDefaultOrMaker: PrjMetadatasByDomain.getDefault, packageName: const $pb.PackageName('api'))
    ..aInt64(2, _omitFieldNames ? '' : 'Total', protoName: 'Total')
    ..hasRequiredFields = false
  ;

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

  $pb.BuilderInfo get info_ => _i;

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

  @$pb.TagNumber(1)
  $pb.PbMap<$core.String, PrjMetadatasByDomain> get domains => $_getMap(0);

  @$pb.TagNumber(2)
  $fixnum.Int64 get total => $_getI64(1);
  @$pb.TagNumber(2)
  set total($fixnum.Int64 v) { $_setInt64(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasTotal() => $_has(1);
  @$pb.TagNumber(2)
  void clearTotal() => $_clearField(2);
}

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

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetTransitiveMetadatasRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOS(2, _omitFieldNames ? '' : 'Domain', protoName: 'Domain')
    ..aOS(3, _omitFieldNames ? '' : 'Entity', protoName: 'Entity')
    ..aOM<$3.RequestProjectHeader>(4, _omitFieldNames ? '' : 'Header', protoName: 'Header', subBuilder: $3.RequestProjectHeader.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')
  GetTransitiveMetadatasRequest clone() => GetTransitiveMetadatasRequest()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  GetTransitiveMetadatasRequest copyWith(void Function(GetTransitiveMetadatasRequest) updates) => super.copyWith((message) => updates(message as GetTransitiveMetadatasRequest)) as GetTransitiveMetadatasRequest;

  $pb.BuilderInfo get info_ => _i;

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

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

  /// Entity where the metadata will be created. It can be \"executionflow\", \"handlingunit\", \"item\", \"order\", \"stock\"
  @$pb.TagNumber(3)
  $core.String get entity => $_getSZ(1);
  @$pb.TagNumber(3)
  set entity($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(3)
  $core.bool hasEntity() => $_has(1);
  @$pb.TagNumber(3)
  void clearEntity() => $_clearField(3);

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

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

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetTransitiveMetadatasResult', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..pc<PrjMetadataTransitive>(1, _omitFieldNames ? '' : 'MetadataTransitive', $pb.PbFieldType.PM, protoName: 'MetadataTransitive', subBuilder: PrjMetadataTransitive.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')
  GetTransitiveMetadatasResult clone() => GetTransitiveMetadatasResult()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  GetTransitiveMetadatasResult copyWith(void Function(GetTransitiveMetadatasResult) updates) => super.copyWith((message) => updates(message as GetTransitiveMetadatasResult)) as GetTransitiveMetadatasResult;

  $pb.BuilderInfo get info_ => _i;

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

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

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

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'RestoreMetadatasRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'ProjectID', protoName: 'ProjectID')
    ..aOB(2, _omitFieldNames ? '' : 'AlterClickhouse', protoName: 'AlterClickhouse')
    ..hasRequiredFields = false
  ;

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

  $pb.BuilderInfo get info_ => _i;

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

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

  @$pb.TagNumber(2)
  $core.bool get alterClickhouse => $_getBF(1);
  @$pb.TagNumber(2)
  set alterClickhouse($core.bool v) { $_setBool(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasAlterClickhouse() => $_has(1);
  @$pb.TagNumber(2)
  void clearAlterClickhouse() => $_clearField(2);
}

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

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'RestoreMetadatasResult', 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')
  RestoreMetadatasResult clone() => RestoreMetadatasResult()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  RestoreMetadatasResult copyWith(void Function(RestoreMetadatasResult) updates) => super.copyWith((message) => updates(message as RestoreMetadatasResult)) as RestoreMetadatasResult;

  $pb.BuilderInfo get info_ => _i;

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


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