//
//  Generated code. Do not modify.
//  source: shared.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 'currencyCodes.pbenum.dart' as $90;
import 'shared.pbenum.dart';
import 'unitOfMeasures.pbenum.dart' as $91;

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

export 'shared.pbenum.dart';

/// Deprecated Header for all requests on project resource
class RequestHeader extends $pb.GeneratedMessage {
  factory RequestHeader({
    $core.String? project,
  }) {
    final $result = create();
    if (project != null) {
      $result.project = project;
    }
    return $result;
  }
  RequestHeader._() : super();
  factory RequestHeader.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory RequestHeader.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

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

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

  $pb.BuilderInfo get info_ => _i;

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

  /// Identifier of the project
  @$pb.TagNumber(1)
  $core.String get project => $_getSZ(0);
  @$pb.TagNumber(1)
  set project($core.String v) { $_setString(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasProject() => $_has(0);
  @$pb.TagNumber(1)
  void clearProject() => $_clearField(1);
}

/// Header for all requests on project resources
class RequestProjectHeader extends $pb.GeneratedMessage {
  factory RequestProjectHeader({
    $core.String? projectID,
    $core.String? correlationID,
    $core.String? technicalID,
  }) {
    final $result = create();
    if (projectID != null) {
      $result.projectID = projectID;
    }
    if (correlationID != null) {
      $result.correlationID = correlationID;
    }
    if (technicalID != null) {
      $result.technicalID = technicalID;
    }
    return $result;
  }
  RequestProjectHeader._() : super();
  factory RequestProjectHeader.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory RequestProjectHeader.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'RequestProjectHeader', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'ProjectID', protoName: 'ProjectID')
    ..aOS(3, _omitFieldNames ? '' : 'CorrelationID', protoName: 'CorrelationID')
    ..aOS(4, _omitFieldNames ? '' : 'TechnicalID', protoName: 'TechnicalID')
    ..hasRequiredFields = false
  ;

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

  $pb.BuilderInfo get info_ => _i;

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

  /// Identifier of the project
  @$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);

  /// DateTime ActualDate = 2 ;
  @$pb.TagNumber(3)
  $core.String get correlationID => $_getSZ(1);
  @$pb.TagNumber(3)
  set correlationID($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(3)
  $core.bool hasCorrelationID() => $_has(1);
  @$pb.TagNumber(3)
  void clearCorrelationID() => $_clearField(3);

  @$pb.TagNumber(4)
  $core.String get technicalID => $_getSZ(2);
  @$pb.TagNumber(4)
  set technicalID($core.String v) { $_setString(2, v); }
  @$pb.TagNumber(4)
  $core.bool hasTechnicalID() => $_has(2);
  @$pb.TagNumber(4)
  void clearTechnicalID() => $_clearField(4);
}

/// Header for all requests on organisation resources
class RequestOrganisationHeader extends $pb.GeneratedMessage {
  factory RequestOrganisationHeader({
    $core.String? organisationID,
    $core.String? correlationID,
    $core.String? technicalID,
  }) {
    final $result = create();
    if (organisationID != null) {
      $result.organisationID = organisationID;
    }
    if (correlationID != null) {
      $result.correlationID = correlationID;
    }
    if (technicalID != null) {
      $result.technicalID = technicalID;
    }
    return $result;
  }
  RequestOrganisationHeader._() : super();
  factory RequestOrganisationHeader.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory RequestOrganisationHeader.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'RequestOrganisationHeader', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'OrganisationID', protoName: 'OrganisationID')
    ..aOS(2, _omitFieldNames ? '' : 'CorrelationID', protoName: 'CorrelationID')
    ..aOS(3, _omitFieldNames ? '' : 'TechnicalID', protoName: 'TechnicalID')
    ..hasRequiredFields = false
  ;

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

  $pb.BuilderInfo get info_ => _i;

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

  /// Identifier of the organisation
  @$pb.TagNumber(1)
  $core.String get organisationID => $_getSZ(0);
  @$pb.TagNumber(1)
  set organisationID($core.String v) { $_setString(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasOrganisationID() => $_has(0);
  @$pb.TagNumber(1)
  void clearOrganisationID() => $_clearField(1);

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

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

/// Header for all requests on bucket resources
class RequestBucketHeader extends $pb.GeneratedMessage {
  factory RequestBucketHeader({
    $core.String? bucketID,
    $core.String? correlationID,
    $core.String? technicalID,
  }) {
    final $result = create();
    if (bucketID != null) {
      $result.bucketID = bucketID;
    }
    if (correlationID != null) {
      $result.correlationID = correlationID;
    }
    if (technicalID != null) {
      $result.technicalID = technicalID;
    }
    return $result;
  }
  RequestBucketHeader._() : super();
  factory RequestBucketHeader.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory RequestBucketHeader.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'RequestBucketHeader', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'BucketID', protoName: 'BucketID')
    ..aOS(2, _omitFieldNames ? '' : 'CorrelationID', protoName: 'CorrelationID')
    ..aOS(3, _omitFieldNames ? '' : 'TechnicalID', protoName: 'TechnicalID')
    ..hasRequiredFields = false
  ;

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

  $pb.BuilderInfo get info_ => _i;

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

  /// Identifier of the bucket
  @$pb.TagNumber(1)
  $core.String get bucketID => $_getSZ(0);
  @$pb.TagNumber(1)
  set bucketID($core.String v) { $_setString(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasBucketID() => $_has(0);
  @$pb.TagNumber(1)
  void clearBucketID() => $_clearField(1);

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

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

/// Header for all requests on partnerApp resources
class RequestPartnerAppHeader extends $pb.GeneratedMessage {
  factory RequestPartnerAppHeader({
    $core.String? partnerAppID,
    $core.String? correlationID,
    $core.String? technicalID,
  }) {
    final $result = create();
    if (partnerAppID != null) {
      $result.partnerAppID = partnerAppID;
    }
    if (correlationID != null) {
      $result.correlationID = correlationID;
    }
    if (technicalID != null) {
      $result.technicalID = technicalID;
    }
    return $result;
  }
  RequestPartnerAppHeader._() : super();
  factory RequestPartnerAppHeader.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory RequestPartnerAppHeader.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'RequestPartnerAppHeader', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'PartnerAppID', protoName: 'PartnerAppID')
    ..aOS(2, _omitFieldNames ? '' : 'CorrelationID', protoName: 'CorrelationID')
    ..aOS(3, _omitFieldNames ? '' : 'TechnicalID', protoName: 'TechnicalID')
    ..hasRequiredFields = false
  ;

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

  $pb.BuilderInfo get info_ => _i;

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

  /// Identifier of the partnerApp
  @$pb.TagNumber(1)
  $core.String get partnerAppID => $_getSZ(0);
  @$pb.TagNumber(1)
  set partnerAppID($core.String v) { $_setString(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasPartnerAppID() => $_has(0);
  @$pb.TagNumber(1)
  void clearPartnerAppID() => $_clearField(1);

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

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

/// Header for all requests on connection resources
class RequestConnectionHeader extends $pb.GeneratedMessage {
  factory RequestConnectionHeader({
    $core.String? connectionID,
    $core.String? correlationID,
    $core.String? technicalID,
  }) {
    final $result = create();
    if (connectionID != null) {
      $result.connectionID = connectionID;
    }
    if (correlationID != null) {
      $result.correlationID = correlationID;
    }
    if (technicalID != null) {
      $result.technicalID = technicalID;
    }
    return $result;
  }
  RequestConnectionHeader._() : super();
  factory RequestConnectionHeader.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory RequestConnectionHeader.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'RequestConnectionHeader', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'ConnectionID', protoName: 'ConnectionID')
    ..aOS(2, _omitFieldNames ? '' : 'CorrelationID', protoName: 'CorrelationID')
    ..aOS(3, _omitFieldNames ? '' : 'TechnicalID', protoName: 'TechnicalID')
    ..hasRequiredFields = false
  ;

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

  $pb.BuilderInfo get info_ => _i;

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

  /// Identifier of the connection
  @$pb.TagNumber(1)
  $core.String get connectionID => $_getSZ(0);
  @$pb.TagNumber(1)
  set connectionID($core.String v) { $_setString(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasConnectionID() => $_has(0);
  @$pb.TagNumber(1)
  void clearConnectionID() => $_clearField(1);

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

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

/// Header for all requests on attachment type resources
class RequestAttachmentTypeHeader extends $pb.GeneratedMessage {
  factory RequestAttachmentTypeHeader({
    $core.String? attachmentTypeID,
    $core.String? correlationID,
    $core.String? technicalID,
  }) {
    final $result = create();
    if (attachmentTypeID != null) {
      $result.attachmentTypeID = attachmentTypeID;
    }
    if (correlationID != null) {
      $result.correlationID = correlationID;
    }
    if (technicalID != null) {
      $result.technicalID = technicalID;
    }
    return $result;
  }
  RequestAttachmentTypeHeader._() : super();
  factory RequestAttachmentTypeHeader.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory RequestAttachmentTypeHeader.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'RequestAttachmentTypeHeader', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'AttachmentTypeID', protoName: 'AttachmentTypeID')
    ..aOS(2, _omitFieldNames ? '' : 'CorrelationID', protoName: 'CorrelationID')
    ..aOS(3, _omitFieldNames ? '' : 'TechnicalID', protoName: 'TechnicalID')
    ..hasRequiredFields = false
  ;

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

  $pb.BuilderInfo get info_ => _i;

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

  /// Identifier of the attachment type
  @$pb.TagNumber(1)
  $core.String get attachmentTypeID => $_getSZ(0);
  @$pb.TagNumber(1)
  set attachmentTypeID($core.String v) { $_setString(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasAttachmentTypeID() => $_has(0);
  @$pb.TagNumber(1)
  void clearAttachmentTypeID() => $_clearField(1);

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

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

/// Header for all response messages
class ResponseHeader extends $pb.GeneratedMessage {
  factory ResponseHeader({
    $core.String? projectID,
    $core.String? correlationID,
    $core.String? technicalID,
  }) {
    final $result = create();
    if (projectID != null) {
      $result.projectID = projectID;
    }
    if (correlationID != null) {
      $result.correlationID = correlationID;
    }
    if (technicalID != null) {
      $result.technicalID = technicalID;
    }
    return $result;
  }
  ResponseHeader._() : super();
  factory ResponseHeader.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory ResponseHeader.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

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

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

  $pb.BuilderInfo get info_ => _i;

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

  /// Identifier of the project
  @$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.String get correlationID => $_getSZ(1);
  @$pb.TagNumber(2)
  set correlationID($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasCorrelationID() => $_has(1);
  @$pb.TagNumber(2)
  void clearCorrelationID() => $_clearField(2);

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

/// Header for all response messages
class AttachmentTypeResponseHeader extends $pb.GeneratedMessage {
  factory AttachmentTypeResponseHeader({
    $core.String? attachmentTypeID,
    $core.String? correlationID,
    $core.String? technicalID,
  }) {
    final $result = create();
    if (attachmentTypeID != null) {
      $result.attachmentTypeID = attachmentTypeID;
    }
    if (correlationID != null) {
      $result.correlationID = correlationID;
    }
    if (technicalID != null) {
      $result.technicalID = technicalID;
    }
    return $result;
  }
  AttachmentTypeResponseHeader._() : super();
  factory AttachmentTypeResponseHeader.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory AttachmentTypeResponseHeader.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'AttachmentTypeResponseHeader', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'AttachmentTypeID', protoName: 'AttachmentTypeID')
    ..aOS(2, _omitFieldNames ? '' : 'CorrelationID', protoName: 'CorrelationID')
    ..aOS(3, _omitFieldNames ? '' : 'TechnicalID', protoName: 'TechnicalID')
    ..hasRequiredFields = false
  ;

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

  $pb.BuilderInfo get info_ => _i;

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

  /// Identifier of the AttachmentType
  @$pb.TagNumber(1)
  $core.String get attachmentTypeID => $_getSZ(0);
  @$pb.TagNumber(1)
  set attachmentTypeID($core.String v) { $_setString(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasAttachmentTypeID() => $_has(0);
  @$pb.TagNumber(1)
  void clearAttachmentTypeID() => $_clearField(1);

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

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

/// Header for all query messages
class QueryHeader extends $pb.GeneratedMessage {
  factory QueryHeader({
    $core.String? project,
    $core.String? pagingState,
    $core.String? limit,
    $core.bool? localizedLabel,
  }) {
    final $result = create();
    if (project != null) {
      $result.project = project;
    }
    if (pagingState != null) {
      $result.pagingState = pagingState;
    }
    if (limit != null) {
      $result.limit = limit;
    }
    if (localizedLabel != null) {
      $result.localizedLabel = localizedLabel;
    }
    return $result;
  }
  QueryHeader._() : super();
  factory QueryHeader.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory QueryHeader.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'QueryHeader', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'Project', protoName: 'Project')
    ..aOS(3, _omitFieldNames ? '' : 'PagingState', protoName: 'PagingState')
    ..aOS(4, _omitFieldNames ? '' : 'Limit', protoName: 'Limit')
    ..aOB(5, _omitFieldNames ? '' : 'LocalizedLabel', protoName: 'LocalizedLabel')
    ..hasRequiredFields = false
  ;

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

  $pb.BuilderInfo get info_ => _i;

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

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

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

  @$pb.TagNumber(4)
  $core.String get limit => $_getSZ(2);
  @$pb.TagNumber(4)
  set limit($core.String v) { $_setString(2, v); }
  @$pb.TagNumber(4)
  $core.bool hasLimit() => $_has(2);
  @$pb.TagNumber(4)
  void clearLimit() => $_clearField(4);

  @$pb.TagNumber(5)
  $core.bool get localizedLabel => $_getBF(3);
  @$pb.TagNumber(5)
  set localizedLabel($core.bool v) { $_setBool(3, v); }
  @$pb.TagNumber(5)
  $core.bool hasLocalizedLabel() => $_has(3);
  @$pb.TagNumber(5)
  void clearLocalizedLabel() => $_clearField(5);
}

/// Header for all query project messages
class QueryProjectHeader extends $pb.GeneratedMessage {
  factory QueryProjectHeader({
    $core.String? projectID,
    $core.String? pagingState,
    $core.String? limit,
    $core.bool? localizedLabel,
  }) {
    final $result = create();
    if (projectID != null) {
      $result.projectID = projectID;
    }
    if (pagingState != null) {
      $result.pagingState = pagingState;
    }
    if (limit != null) {
      $result.limit = limit;
    }
    if (localizedLabel != null) {
      $result.localizedLabel = localizedLabel;
    }
    return $result;
  }
  QueryProjectHeader._() : super();
  factory QueryProjectHeader.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory QueryProjectHeader.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'QueryProjectHeader', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'ProjectID', protoName: 'ProjectID')
    ..aOS(3, _omitFieldNames ? '' : 'PagingState', protoName: 'PagingState')
    ..aOS(4, _omitFieldNames ? '' : 'Limit', protoName: 'Limit')
    ..aOB(5, _omitFieldNames ? '' : 'LocalizedLabel', protoName: 'LocalizedLabel')
    ..hasRequiredFields = false
  ;

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

  $pb.BuilderInfo get info_ => _i;

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

  /// Identifier of the project
  @$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);

  /// Number of elements displayed
  @$pb.TagNumber(3)
  $core.String get pagingState => $_getSZ(1);
  @$pb.TagNumber(3)
  set pagingState($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(3)
  $core.bool hasPagingState() => $_has(1);
  @$pb.TagNumber(3)
  void clearPagingState() => $_clearField(3);

  /// Number of additional elements to display
  @$pb.TagNumber(4)
  $core.String get limit => $_getSZ(2);
  @$pb.TagNumber(4)
  set limit($core.String v) { $_setString(2, v); }
  @$pb.TagNumber(4)
  $core.bool hasLimit() => $_has(2);
  @$pb.TagNumber(4)
  void clearLimit() => $_clearField(4);

  /// Return the message in the user's language
  @$pb.TagNumber(5)
  $core.bool get localizedLabel => $_getBF(3);
  @$pb.TagNumber(5)
  set localizedLabel($core.bool v) { $_setBool(3, v); }
  @$pb.TagNumber(5)
  $core.bool hasLocalizedLabel() => $_has(3);
  @$pb.TagNumber(5)
  void clearLocalizedLabel() => $_clearField(5);
}

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

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

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

  $pb.BuilderInfo get info_ => _i;

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

  /// Number of elements displayed
  @$pb.TagNumber(1)
  $core.String get pagingState => $_getSZ(0);
  @$pb.TagNumber(1)
  set pagingState($core.String v) { $_setString(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasPagingState() => $_has(0);
  @$pb.TagNumber(1)
  void clearPagingState() => $_clearField(1);
}

/// Header for all command messages
class CommandHeader extends $pb.GeneratedMessage {
  factory CommandHeader({
    $core.String? actionCommand,
    DateTime? commandTS,
    $core.String? project,
    $core.String? fromDomain,
    $core.String? fromObject,
    $core.String? fromRule,
    $core.String? fromEvent,
    $core.String? fromAuthor,
  }) {
    final $result = create();
    if (actionCommand != null) {
      $result.actionCommand = actionCommand;
    }
    if (commandTS != null) {
      $result.commandTS = commandTS;
    }
    if (project != null) {
      $result.project = project;
    }
    if (fromDomain != null) {
      $result.fromDomain = fromDomain;
    }
    if (fromObject != null) {
      $result.fromObject = fromObject;
    }
    if (fromRule != null) {
      $result.fromRule = fromRule;
    }
    if (fromEvent != null) {
      $result.fromEvent = fromEvent;
    }
    if (fromAuthor != null) {
      $result.fromAuthor = fromAuthor;
    }
    return $result;
  }
  CommandHeader._() : super();
  factory CommandHeader.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory CommandHeader.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'CommandHeader', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'ActionCommand', protoName: 'ActionCommand')
    ..aOM<DateTime>(2, _omitFieldNames ? '' : 'CommandTS', protoName: 'CommandTS', subBuilder: DateTime.create)
    ..aOS(3, _omitFieldNames ? '' : 'Project', protoName: 'Project')
    ..aOS(4, _omitFieldNames ? '' : 'FromDomain', protoName: 'FromDomain')
    ..aOS(5, _omitFieldNames ? '' : 'FromObject', protoName: 'FromObject')
    ..aOS(6, _omitFieldNames ? '' : 'FromRule', protoName: 'FromRule')
    ..aOS(7, _omitFieldNames ? '' : 'FromEvent', protoName: 'FromEvent')
    ..aOS(8, _omitFieldNames ? '' : 'FromAuthor', protoName: 'FromAuthor')
    ..hasRequiredFields = false
  ;

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

  $pb.BuilderInfo get info_ => _i;

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

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

  @$pb.TagNumber(2)
  DateTime get commandTS => $_getN(1);
  @$pb.TagNumber(2)
  set commandTS(DateTime v) { $_setField(2, v); }
  @$pb.TagNumber(2)
  $core.bool hasCommandTS() => $_has(1);
  @$pb.TagNumber(2)
  void clearCommandTS() => $_clearField(2);
  @$pb.TagNumber(2)
  DateTime ensureCommandTS() => $_ensure(1);

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

  @$pb.TagNumber(4)
  $core.String get fromDomain => $_getSZ(3);
  @$pb.TagNumber(4)
  set fromDomain($core.String v) { $_setString(3, v); }
  @$pb.TagNumber(4)
  $core.bool hasFromDomain() => $_has(3);
  @$pb.TagNumber(4)
  void clearFromDomain() => $_clearField(4);

  @$pb.TagNumber(5)
  $core.String get fromObject => $_getSZ(4);
  @$pb.TagNumber(5)
  set fromObject($core.String v) { $_setString(4, v); }
  @$pb.TagNumber(5)
  $core.bool hasFromObject() => $_has(4);
  @$pb.TagNumber(5)
  void clearFromObject() => $_clearField(5);

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

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

  @$pb.TagNumber(8)
  $core.String get fromAuthor => $_getSZ(7);
  @$pb.TagNumber(8)
  set fromAuthor($core.String v) { $_setString(7, v); }
  @$pb.TagNumber(8)
  $core.bool hasFromAuthor() => $_has(7);
  @$pb.TagNumber(8)
  void clearFromAuthor() => $_clearField(8);
}

/// Header for all event messages
class EventHeader extends $pb.GeneratedMessage {
  factory EventHeader({
    $core.String? inputEvent,
    DateTime? eventTS,
    $core.String? project,
    $core.String? author,
    $core.String? eventID,
    $core.String? createdBy,
  }) {
    final $result = create();
    if (inputEvent != null) {
      $result.inputEvent = inputEvent;
    }
    if (eventTS != null) {
      $result.eventTS = eventTS;
    }
    if (project != null) {
      $result.project = project;
    }
    if (author != null) {
      $result.author = author;
    }
    if (eventID != null) {
      $result.eventID = eventID;
    }
    if (createdBy != null) {
      $result.createdBy = createdBy;
    }
    return $result;
  }
  EventHeader._() : super();
  factory EventHeader.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory EventHeader.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'EventHeader', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'InputEvent', protoName: 'InputEvent')
    ..aOM<DateTime>(2, _omitFieldNames ? '' : 'EventTS', protoName: 'EventTS', subBuilder: DateTime.create)
    ..aOS(3, _omitFieldNames ? '' : 'Project', protoName: 'Project')
    ..aOS(4, _omitFieldNames ? '' : 'Author', protoName: 'Author')
    ..aOS(5, _omitFieldNames ? '' : 'EventID', protoName: 'EventID')
    ..aOS(6, _omitFieldNames ? '' : 'CreatedBy', protoName: 'CreatedBy')
    ..hasRequiredFields = false
  ;

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

  $pb.BuilderInfo get info_ => _i;

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

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

  @$pb.TagNumber(2)
  DateTime get eventTS => $_getN(1);
  @$pb.TagNumber(2)
  set eventTS(DateTime v) { $_setField(2, v); }
  @$pb.TagNumber(2)
  $core.bool hasEventTS() => $_has(1);
  @$pb.TagNumber(2)
  void clearEventTS() => $_clearField(2);
  @$pb.TagNumber(2)
  DateTime ensureEventTS() => $_ensure(1);

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

  @$pb.TagNumber(4)
  $core.String get author => $_getSZ(3);
  @$pb.TagNumber(4)
  set author($core.String v) { $_setString(3, v); }
  @$pb.TagNumber(4)
  $core.bool hasAuthor() => $_has(3);
  @$pb.TagNumber(4)
  void clearAuthor() => $_clearField(4);

  @$pb.TagNumber(5)
  $core.String get eventID => $_getSZ(4);
  @$pb.TagNumber(5)
  set eventID($core.String v) { $_setString(4, v); }
  @$pb.TagNumber(5)
  $core.bool hasEventID() => $_has(4);
  @$pb.TagNumber(5)
  void clearEventID() => $_clearField(5);

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

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

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

  $pb.BuilderInfo get info_ => _i;

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

  /// Your identifier
  @$pb.TagNumber(2)
  $core.String get refID => $_getSZ(0);
  @$pb.TagNumber(2)
  set refID($core.String v) { $_setString(0, v); }
  @$pb.TagNumber(2)
  $core.bool hasRefID() => $_has(0);
  @$pb.TagNumber(2)
  void clearRefID() => $_clearField(2);

  /// Your effective date. If your event triggers a status change, this date will be used into the status ActualDate
  @$pb.TagNumber(3)
  DateTime get refDate => $_getN(1);
  @$pb.TagNumber(3)
  set refDate(DateTime v) { $_setField(3, v); }
  @$pb.TagNumber(3)
  $core.bool hasRefDate() => $_has(1);
  @$pb.TagNumber(3)
  void clearRefDate() => $_clearField(3);
  @$pb.TagNumber(3)
  DateTime ensureRefDate() => $_ensure(1);
}

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

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

  $pb.BuilderInfo get info_ => _i;

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

  /// Your effective date
  @$pb.TagNumber(3)
  DateTime get refDate => $_getN(0);
  @$pb.TagNumber(3)
  set refDate(DateTime v) { $_setField(3, v); }
  @$pb.TagNumber(3)
  $core.bool hasRefDate() => $_has(0);
  @$pb.TagNumber(3)
  void clearRefDate() => $_clearField(3);
  @$pb.TagNumber(3)
  DateTime ensureRefDate() => $_ensure(0);
}

/// Specific ID struct when No refid
class NoID extends $pb.GeneratedMessage {
  factory NoID({
    DateTime? refDate,
  }) {
    final $result = create();
    if (refDate != null) {
      $result.refDate = refDate;
    }
    return $result;
  }
  NoID._() : super();
  factory NoID.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory NoID.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

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

  $pb.BuilderInfo get info_ => _i;

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

  /// Your effective date
  @$pb.TagNumber(3)
  DateTime get refDate => $_getN(0);
  @$pb.TagNumber(3)
  set refDate(DateTime v) { $_setField(3, v); }
  @$pb.TagNumber(3)
  $core.bool hasRefDate() => $_has(0);
  @$pb.TagNumber(3)
  void clearRefDate() => $_clearField(3);
  @$pb.TagNumber(3)
  DateTime ensureRefDate() => $_ensure(0);
}

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

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

  $pb.BuilderInfo get info_ => _i;

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

  @$pb.TagNumber(1)
  EventHeader get lastEventHeader => $_getN(0);
  @$pb.TagNumber(1)
  set lastEventHeader(EventHeader v) { $_setField(1, v); }
  @$pb.TagNumber(1)
  $core.bool hasLastEventHeader() => $_has(0);
  @$pb.TagNumber(1)
  void clearLastEventHeader() => $_clearField(1);
  @$pb.TagNumber(1)
  EventHeader ensureLastEventHeader() => $_ensure(0);

  @$pb.TagNumber(2)
  EntityID get iD => $_getN(1);
  @$pb.TagNumber(2)
  set iD(EntityID v) { $_setField(2, v); }
  @$pb.TagNumber(2)
  $core.bool hasID() => $_has(1);
  @$pb.TagNumber(2)
  void clearID() => $_clearField(2);
  @$pb.TagNumber(2)
  EntityID ensureID() => $_ensure(1);

  @$pb.TagNumber(3)
  GenericObjectPayload get payload => $_getN(2);
  @$pb.TagNumber(3)
  set payload(GenericObjectPayload v) { $_setField(3, v); }
  @$pb.TagNumber(3)
  $core.bool hasPayload() => $_has(2);
  @$pb.TagNumber(3)
  void clearPayload() => $_clearField(3);
  @$pb.TagNumber(3)
  GenericObjectPayload ensurePayload() => $_ensure(2);
}

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

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

  $pb.BuilderInfo get info_ => _i;

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

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

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

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

  $pb.BuilderInfo get info_ => _i;

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

  /// UTC date/time in <a href='https://en.wikipedia.org/wiki/ISO_8601'>ISO 8601</a> format
  @$pb.TagNumber(1)
  $core.String get dateTime => $_getSZ(0);
  @$pb.TagNumber(1)
  set dateTime($core.String v) { $_setString(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasDateTime() => $_has(0);
  @$pb.TagNumber(1)
  void clearDateTime() => $_clearField(1);

  /// Time zone from where the author emits the event in this <a href='https://en.wikipedia.org/wiki/List_of_tz_database_time_zones'>format</a>
  @$pb.TagNumber(2)
  $core.String get authorTimeZone => $_getSZ(1);
  @$pb.TagNumber(2)
  set authorTimeZone($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasAuthorTimeZone() => $_has(1);
  @$pb.TagNumber(2)
  void clearAuthorTimeZone() => $_clearField(2);
}

enum ValueType_ValueType {
  string, 
  int_2, 
  float, 
  bool_4, 
  timestamp, 
  notSet
}

class ValueType extends $pb.GeneratedMessage {
  factory ValueType({
    $core.String? string,
    $fixnum.Int64? int_2,
    $core.double? float,
    $core.bool? bool_4,
    DateTime? timestamp,
  }) {
    final $result = create();
    if (string != null) {
      $result.string = string;
    }
    if (int_2 != null) {
      $result.int_2 = int_2;
    }
    if (float != null) {
      $result.float = float;
    }
    if (bool_4 != null) {
      $result.bool_4 = bool_4;
    }
    if (timestamp != null) {
      $result.timestamp = timestamp;
    }
    return $result;
  }
  ValueType._() : super();
  factory ValueType.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory ValueType.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static const $core.Map<$core.int, ValueType_ValueType> _ValueType_ValueTypeByTag = {
    1 : ValueType_ValueType.string,
    2 : ValueType_ValueType.int_2,
    3 : ValueType_ValueType.float,
    4 : ValueType_ValueType.bool_4,
    5 : ValueType_ValueType.timestamp,
    0 : ValueType_ValueType.notSet
  };
  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ValueType', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..oo(0, [1, 2, 3, 4, 5])
    ..aOS(1, _omitFieldNames ? '' : 'String', protoName: 'String')
    ..aInt64(2, _omitFieldNames ? '' : 'Int', protoName: 'Int')
    ..a<$core.double>(3, _omitFieldNames ? '' : 'Float', $pb.PbFieldType.OF, protoName: 'Float')
    ..aOB(4, _omitFieldNames ? '' : 'Bool', protoName: 'Bool')
    ..aOM<DateTime>(5, _omitFieldNames ? '' : 'Timestamp', protoName: 'Timestamp', subBuilder: DateTime.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')
  ValueType clone() => ValueType()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  ValueType copyWith(void Function(ValueType) updates) => super.copyWith((message) => updates(message as ValueType)) as ValueType;

  $pb.BuilderInfo get info_ => _i;

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

  ValueType_ValueType whichValueType() => _ValueType_ValueTypeByTag[$_whichOneof(0)]!;
  void clearValueType() => $_clearField($_whichOneof(0));

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

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

  @$pb.TagNumber(3)
  $core.double get float => $_getN(2);
  @$pb.TagNumber(3)
  set float($core.double v) { $_setFloat(2, v); }
  @$pb.TagNumber(3)
  $core.bool hasFloat() => $_has(2);
  @$pb.TagNumber(3)
  void clearFloat() => $_clearField(3);

  @$pb.TagNumber(4)
  $core.bool get bool_4 => $_getBF(3);
  @$pb.TagNumber(4)
  set bool_4($core.bool v) { $_setBool(3, v); }
  @$pb.TagNumber(4)
  $core.bool hasBool_4() => $_has(3);
  @$pb.TagNumber(4)
  void clearBool_4() => $_clearField(4);

  @$pb.TagNumber(5)
  DateTime get timestamp => $_getN(4);
  @$pb.TagNumber(5)
  set timestamp(DateTime v) { $_setField(5, v); }
  @$pb.TagNumber(5)
  $core.bool hasTimestamp() => $_has(4);
  @$pb.TagNumber(5)
  void clearTimestamp() => $_clearField(5);
  @$pb.TagNumber(5)
  DateTime ensureTimestamp() => $_ensure(4);
}

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

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'Amount', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..a<$core.double>(1, _omitFieldNames ? '' : 'Value', $pb.PbFieldType.OF, protoName: 'Value')
    ..e<$90.Currency>(2, _omitFieldNames ? '' : 'Currency', $pb.PbFieldType.OE, protoName: 'Currency', defaultOrMaker: $90.Currency.XXX, valueOf: $90.Currency.valueOf, enumValues: $90.Currency.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')
  Amount clone() => Amount()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  Amount copyWith(void Function(Amount) updates) => super.copyWith((message) => updates(message as Amount)) as Amount;

  $pb.BuilderInfo get info_ => _i;

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

  @$pb.TagNumber(1)
  $core.double get value => $_getN(0);
  @$pb.TagNumber(1)
  set value($core.double v) { $_setFloat(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasValue() => $_has(0);
  @$pb.TagNumber(1)
  void clearValue() => $_clearField(1);

  /// <a href='https://en.wikipedia.org/wiki/ISO_4217'>ISO 4217</a> currency code
  @$pb.TagNumber(2)
  $90.Currency get currency => $_getN(1);
  @$pb.TagNumber(2)
  set currency($90.Currency v) { $_setField(2, v); }
  @$pb.TagNumber(2)
  $core.bool hasCurrency() => $_has(1);
  @$pb.TagNumber(2)
  void clearCurrency() => $_clearField(2);
}

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

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'QuantityLength', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..a<$core.double>(1, _omitFieldNames ? '' : 'Value', $pb.PbFieldType.OF, protoName: 'Value')
    ..e<$91.Length>(2, _omitFieldNames ? '' : 'Unit', $pb.PbFieldType.OE, protoName: 'Unit', defaultOrMaker: $91.Length.LENGTH_UNKNOWN, valueOf: $91.Length.valueOf, enumValues: $91.Length.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')
  QuantityLength clone() => QuantityLength()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  QuantityLength copyWith(void Function(QuantityLength) updates) => super.copyWith((message) => updates(message as QuantityLength)) as QuantityLength;

  $pb.BuilderInfo get info_ => _i;

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

  @$pb.TagNumber(1)
  $core.double get value => $_getN(0);
  @$pb.TagNumber(1)
  set value($core.double v) { $_setFloat(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasValue() => $_has(0);
  @$pb.TagNumber(1)
  void clearValue() => $_clearField(1);

  @$pb.TagNumber(2)
  $91.Length get unit => $_getN(1);
  @$pb.TagNumber(2)
  set unit($91.Length v) { $_setField(2, v); }
  @$pb.TagNumber(2)
  $core.bool hasUnit() => $_has(1);
  @$pb.TagNumber(2)
  void clearUnit() => $_clearField(2);
}

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

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'QuantityVolume', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..a<$core.double>(1, _omitFieldNames ? '' : 'Value', $pb.PbFieldType.OF, protoName: 'Value')
    ..e<$91.Volume>(2, _omitFieldNames ? '' : 'Unit', $pb.PbFieldType.OE, protoName: 'Unit', defaultOrMaker: $91.Volume.VOLUME_UNKNOWN, valueOf: $91.Volume.valueOf, enumValues: $91.Volume.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')
  QuantityVolume clone() => QuantityVolume()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  QuantityVolume copyWith(void Function(QuantityVolume) updates) => super.copyWith((message) => updates(message as QuantityVolume)) as QuantityVolume;

  $pb.BuilderInfo get info_ => _i;

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

  @$pb.TagNumber(1)
  $core.double get value => $_getN(0);
  @$pb.TagNumber(1)
  set value($core.double v) { $_setFloat(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasValue() => $_has(0);
  @$pb.TagNumber(1)
  void clearValue() => $_clearField(1);

  @$pb.TagNumber(2)
  $91.Volume get unit => $_getN(1);
  @$pb.TagNumber(2)
  set unit($91.Volume v) { $_setField(2, v); }
  @$pb.TagNumber(2)
  $core.bool hasUnit() => $_has(1);
  @$pb.TagNumber(2)
  void clearUnit() => $_clearField(2);
}

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

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'QuantityWeight', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..a<$core.double>(1, _omitFieldNames ? '' : 'Value', $pb.PbFieldType.OF, protoName: 'Value')
    ..e<$91.Weight>(2, _omitFieldNames ? '' : 'Unit', $pb.PbFieldType.OE, protoName: 'Unit', defaultOrMaker: $91.Weight.WEIGHT_UNKNOWN, valueOf: $91.Weight.valueOf, enumValues: $91.Weight.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')
  QuantityWeight clone() => QuantityWeight()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  QuantityWeight copyWith(void Function(QuantityWeight) updates) => super.copyWith((message) => updates(message as QuantityWeight)) as QuantityWeight;

  $pb.BuilderInfo get info_ => _i;

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

  @$pb.TagNumber(1)
  $core.double get value => $_getN(0);
  @$pb.TagNumber(1)
  set value($core.double v) { $_setFloat(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasValue() => $_has(0);
  @$pb.TagNumber(1)
  void clearValue() => $_clearField(1);

  @$pb.TagNumber(2)
  $91.Weight get unit => $_getN(1);
  @$pb.TagNumber(2)
  set unit($91.Weight v) { $_setField(2, v); }
  @$pb.TagNumber(2)
  $core.bool hasUnit() => $_has(1);
  @$pb.TagNumber(2)
  void clearUnit() => $_clearField(2);
}

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

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'QuantityArea', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..a<$core.double>(1, _omitFieldNames ? '' : 'Value', $pb.PbFieldType.OF, protoName: 'Value')
    ..e<$91.Area>(2, _omitFieldNames ? '' : 'Unit', $pb.PbFieldType.OE, protoName: 'Unit', defaultOrMaker: $91.Area.AREA_UNKNOWN, valueOf: $91.Area.valueOf, enumValues: $91.Area.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')
  QuantityArea clone() => QuantityArea()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  QuantityArea copyWith(void Function(QuantityArea) updates) => super.copyWith((message) => updates(message as QuantityArea)) as QuantityArea;

  $pb.BuilderInfo get info_ => _i;

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

  @$pb.TagNumber(1)
  $core.double get value => $_getN(0);
  @$pb.TagNumber(1)
  set value($core.double v) { $_setFloat(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasValue() => $_has(0);
  @$pb.TagNumber(1)
  void clearValue() => $_clearField(1);

  @$pb.TagNumber(2)
  $91.Area get unit => $_getN(1);
  @$pb.TagNumber(2)
  set unit($91.Area v) { $_setField(2, v); }
  @$pb.TagNumber(2)
  $core.bool hasUnit() => $_has(1);
  @$pb.TagNumber(2)
  void clearUnit() => $_clearField(2);
}

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

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'QuantityUnit', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..a<$core.double>(1, _omitFieldNames ? '' : 'Value', $pb.PbFieldType.OF, protoName: 'Value')
    ..e<$91.DimensionLess>(2, _omitFieldNames ? '' : 'Unit', $pb.PbFieldType.OE, protoName: 'Unit', defaultOrMaker: $91.DimensionLess.DIMENSIONLESS_UNKNOWN, valueOf: $91.DimensionLess.valueOf, enumValues: $91.DimensionLess.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')
  QuantityUnit clone() => QuantityUnit()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  QuantityUnit copyWith(void Function(QuantityUnit) updates) => super.copyWith((message) => updates(message as QuantityUnit)) as QuantityUnit;

  $pb.BuilderInfo get info_ => _i;

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

  @$pb.TagNumber(1)
  $core.double get value => $_getN(0);
  @$pb.TagNumber(1)
  set value($core.double v) { $_setFloat(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasValue() => $_has(0);
  @$pb.TagNumber(1)
  void clearValue() => $_clearField(1);

  @$pb.TagNumber(2)
  $91.DimensionLess get unit => $_getN(1);
  @$pb.TagNumber(2)
  set unit($91.DimensionLess v) { $_setField(2, v); }
  @$pb.TagNumber(2)
  $core.bool hasUnit() => $_has(1);
  @$pb.TagNumber(2)
  void clearUnit() => $_clearField(2);
}

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

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

  $pb.BuilderInfo get info_ => _i;

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

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

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

  $pb.BuilderInfo get info_ => _i;

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

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

  @$pb.TagNumber(2)
  DomainDescription get payload => $_getN(1);
  @$pb.TagNumber(2)
  set payload(DomainDescription v) { $_setField(2, v); }
  @$pb.TagNumber(2)
  $core.bool hasPayload() => $_has(1);
  @$pb.TagNumber(2)
  void clearPayload() => $_clearField(2);
  @$pb.TagNumber(2)
  DomainDescription ensurePayload() => $_ensure(1);
}

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

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

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static DomainDescription create() => DomainDescription._();
  DomainDescription createEmptyInstance() => create();
  static $pb.PbList<DomainDescription> createRepeated() => $pb.PbList<DomainDescription>();
  @$core.pragma('dart2js:noInline')
  static DomainDescription getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<DomainDescription>(create);
  static DomainDescription? _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)
  $pb.PbList<ObjectDescription> get objectDescription => $_getList(1);
}

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

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

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ObjectDescription create() => ObjectDescription._();
  ObjectDescription createEmptyInstance() => create();
  static $pb.PbList<ObjectDescription> createRepeated() => $pb.PbList<ObjectDescription>();
  @$core.pragma('dart2js:noInline')
  static ObjectDescription getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<ObjectDescription>(create);
  static ObjectDescription? _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)
  $pb.PbList<ObjectAction> get apiAction => $_getList(1);

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

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

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

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

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

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

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ObjectAction create() => ObjectAction._();
  ObjectAction createEmptyInstance() => create();
  static $pb.PbList<ObjectAction> createRepeated() => $pb.PbList<ObjectAction>();
  @$core.pragma('dart2js:noInline')
  static ObjectAction getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<ObjectAction>(create);
  static ObjectAction? _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)
  $core.String get jsonTemplate => $_getSZ(1);
  @$pb.TagNumber(2)
  set jsonTemplate($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasJsonTemplate() => $_has(1);
  @$pb.TagNumber(2)
  void clearJsonTemplate() => $_clearField(2);
}

/// *
///  Message to store metadata definition
class MetadataElement extends $pb.GeneratedMessage {
  factory MetadataElement({
    $core.String? key,
    ValueType? value,
  }) {
    final $result = create();
    if (key != null) {
      $result.key = key;
    }
    if (value != null) {
      $result.value = value;
    }
    return $result;
  }
  MetadataElement._() : super();
  factory MetadataElement.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory MetadataElement.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

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

  $pb.BuilderInfo get info_ => _i;

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

  /// Key of the Metadata and Segmentation of the project
  @$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);

  /// Value of the Metadata and Segmentation of the project
  @$pb.TagNumber(2)
  ValueType get value => $_getN(1);
  @$pb.TagNumber(2)
  set value(ValueType v) { $_setField(2, v); }
  @$pb.TagNumber(2)
  $core.bool hasValue() => $_has(1);
  @$pb.TagNumber(2)
  void clearValue() => $_clearField(2);
  @$pb.TagNumber(2)
  ValueType ensureValue() => $_ensure(1);
}

///
///  Simple filter structure for Find query
class SimpleFilter extends $pb.GeneratedMessage {
  factory SimpleFilter({
    $core.String? attribute,
    $core.String? value,
    $core.Iterable<$core.String>? values,
    $core.String? operator,
    $core.String? combinedID,
  }) {
    final $result = create();
    if (attribute != null) {
      $result.attribute = attribute;
    }
    if (value != null) {
      $result.value = value;
    }
    if (values != null) {
      $result.values.addAll(values);
    }
    if (operator != null) {
      $result.operator = operator;
    }
    if (combinedID != null) {
      $result.combinedID = combinedID;
    }
    return $result;
  }
  SimpleFilter._() : super();
  factory SimpleFilter.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory SimpleFilter.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'SimpleFilter', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'Attribute', protoName: 'Attribute')
    ..aOS(2, _omitFieldNames ? '' : 'Value', protoName: 'Value')
    ..pPS(3, _omitFieldNames ? '' : 'Values', protoName: 'Values')
    ..aOS(4, _omitFieldNames ? '' : 'Operator', protoName: 'Operator')
    ..aOS(5, _omitFieldNames ? '' : 'CombinedID', protoName: 'CombinedID')
    ..hasRequiredFields = false
  ;

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

  $pb.BuilderInfo get info_ => _i;

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

  /// Filter path
  @$pb.TagNumber(1)
  $core.String get attribute => $_getSZ(0);
  @$pb.TagNumber(1)
  set attribute($core.String v) { $_setString(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasAttribute() => $_has(0);
  @$pb.TagNumber(1)
  void clearAttribute() => $_clearField(1);

  /// Use this parameter if only one value
  @$pb.TagNumber(2)
  $core.String get value => $_getSZ(1);
  @$pb.TagNumber(2)
  set value($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasValue() => $_has(1);
  @$pb.TagNumber(2)
  void clearValue() => $_clearField(2);

  /// Use this parameter if more than one value
  @$pb.TagNumber(3)
  $pb.PbList<$core.String> get values => $_getList(2);

  /// Allowed values : \"\", \"not\"
  @$pb.TagNumber(4)
  $core.String get operator => $_getSZ(3);
  @$pb.TagNumber(4)
  set operator($core.String v) { $_setString(3, v); }
  @$pb.TagNumber(4)
  $core.bool hasOperator() => $_has(3);
  @$pb.TagNumber(4)
  void clearOperator() => $_clearField(4);

  /// Metadata's key
  @$pb.TagNumber(5)
  $core.String get combinedID => $_getSZ(4);
  @$pb.TagNumber(5)
  set combinedID($core.String v) { $_setString(4, v); }
  @$pb.TagNumber(5)
  $core.bool hasCombinedID() => $_has(4);
  @$pb.TagNumber(5)
  void clearCombinedID() => $_clearField(5);
}

///
///  Combined filter structure for Find query
class CombinedFilter extends $pb.GeneratedMessage {
  factory CombinedFilter({
    $core.String? path,
    $core.Iterable<SimpleFilter>? simpleFilters,
    $core.Iterable<RangeFilter>? rangeFilters,
    $core.String? combinedID,
  }) {
    final $result = create();
    if (path != null) {
      $result.path = path;
    }
    if (simpleFilters != null) {
      $result.simpleFilters.addAll(simpleFilters);
    }
    if (rangeFilters != null) {
      $result.rangeFilters.addAll(rangeFilters);
    }
    if (combinedID != null) {
      $result.combinedID = combinedID;
    }
    return $result;
  }
  CombinedFilter._() : super();
  factory CombinedFilter.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory CombinedFilter.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'CombinedFilter', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'Path', protoName: 'Path')
    ..pc<SimpleFilter>(2, _omitFieldNames ? '' : 'simpleFilters', $pb.PbFieldType.PM, protoName: 'simpleFilters', subBuilder: SimpleFilter.create)
    ..pc<RangeFilter>(3, _omitFieldNames ? '' : 'rangeFilters', $pb.PbFieldType.PM, protoName: 'rangeFilters', subBuilder: RangeFilter.create)
    ..aOS(4, _omitFieldNames ? '' : 'CombinedID', protoName: 'CombinedID')
    ..hasRequiredFields = false
  ;

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

  $pb.BuilderInfo get info_ => _i;

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

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

  /// Simple filter structure for Find query
  @$pb.TagNumber(2)
  $pb.PbList<SimpleFilter> get simpleFilters => $_getList(1);

  /// Range filter structure for Find query
  @$pb.TagNumber(3)
  $pb.PbList<RangeFilter> get rangeFilters => $_getList(2);

  @$pb.TagNumber(4)
  $core.String get combinedID => $_getSZ(3);
  @$pb.TagNumber(4)
  set combinedID($core.String v) { $_setString(3, v); }
  @$pb.TagNumber(4)
  $core.bool hasCombinedID() => $_has(3);
  @$pb.TagNumber(4)
  void clearCombinedID() => $_clearField(4);
}

///
///  Range filter structure for Find query
class RangeFilter extends $pb.GeneratedMessage {
  factory RangeFilter({
    $core.String? attribute,
    $core.String? valueLt,
    $core.String? valueGt,
    $core.String? combinedID,
  }) {
    final $result = create();
    if (attribute != null) {
      $result.attribute = attribute;
    }
    if (valueLt != null) {
      $result.valueLt = valueLt;
    }
    if (valueGt != null) {
      $result.valueGt = valueGt;
    }
    if (combinedID != null) {
      $result.combinedID = combinedID;
    }
    return $result;
  }
  RangeFilter._() : super();
  factory RangeFilter.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory RangeFilter.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'RangeFilter', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'Attribute', protoName: 'Attribute')
    ..aOS(2, _omitFieldNames ? '' : 'valueLt', protoName: 'valueLt')
    ..aOS(3, _omitFieldNames ? '' : 'valueGt', protoName: 'valueGt')
    ..aOS(4, _omitFieldNames ? '' : 'CombinedID', protoName: 'CombinedID')
    ..hasRequiredFields = false
  ;

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

  $pb.BuilderInfo get info_ => _i;

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

  /// Filter path
  @$pb.TagNumber(1)
  $core.String get attribute => $_getSZ(0);
  @$pb.TagNumber(1)
  set attribute($core.String v) { $_setString(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasAttribute() => $_has(0);
  @$pb.TagNumber(1)
  void clearAttribute() => $_clearField(1);

  /// Maximum value
  @$pb.TagNumber(2)
  $core.String get valueLt => $_getSZ(1);
  @$pb.TagNumber(2)
  set valueLt($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasValueLt() => $_has(1);
  @$pb.TagNumber(2)
  void clearValueLt() => $_clearField(2);

  /// Minimum value
  @$pb.TagNumber(3)
  $core.String get valueGt => $_getSZ(2);
  @$pb.TagNumber(3)
  set valueGt($core.String v) { $_setString(2, v); }
  @$pb.TagNumber(3)
  $core.bool hasValueGt() => $_has(2);
  @$pb.TagNumber(3)
  void clearValueGt() => $_clearField(3);

  /// Metadata's key
  @$pb.TagNumber(4)
  $core.String get combinedID => $_getSZ(3);
  @$pb.TagNumber(4)
  set combinedID($core.String v) { $_setString(3, v); }
  @$pb.TagNumber(4)
  $core.bool hasCombinedID() => $_has(3);
  @$pb.TagNumber(4)
  void clearCombinedID() => $_clearField(4);
}

///
///  Block filter structure for Find query, each element (SimpleFilter, RangeFilter & BlockFilter) is an "AND" part of the query
class BlockFilter extends $pb.GeneratedMessage {
  factory BlockFilter({
    $core.Iterable<SimpleFilter>? simpleFilters,
    $core.Iterable<RangeFilter>? rangeFilters,
    $core.Iterable<BlockFilter>? blockFilters,
  }) {
    final $result = create();
    if (simpleFilters != null) {
      $result.simpleFilters.addAll(simpleFilters);
    }
    if (rangeFilters != null) {
      $result.rangeFilters.addAll(rangeFilters);
    }
    if (blockFilters != null) {
      $result.blockFilters.addAll(blockFilters);
    }
    return $result;
  }
  BlockFilter._() : super();
  factory BlockFilter.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory BlockFilter.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

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

  $pb.BuilderInfo get info_ => _i;

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

  /// Simple filter structure for Find query
  @$pb.TagNumber(1)
  $pb.PbList<SimpleFilter> get simpleFilters => $_getList(0);

  /// Range filter structure for Find query
  @$pb.TagNumber(2)
  $pb.PbList<RangeFilter> get rangeFilters => $_getList(1);

  /// block filter structure for Find query
  @$pb.TagNumber(3)
  $pb.PbList<BlockFilter> get blockFilters => $_getList(2);
}

///
///  MatchField structure, for FindMatching query
class MatchField extends $pb.GeneratedMessage {
  factory MatchField({
    $core.String? attribute,
    $core.String? attributeCombined,
    $core.String? combinedID,
  }) {
    final $result = create();
    if (attribute != null) {
      $result.attribute = attribute;
    }
    if (attributeCombined != null) {
      $result.attributeCombined = attributeCombined;
    }
    if (combinedID != null) {
      $result.combinedID = combinedID;
    }
    return $result;
  }
  MatchField._() : super();
  factory MatchField.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory MatchField.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'MatchField', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'Attribute', protoName: 'Attribute')
    ..aOS(2, _omitFieldNames ? '' : 'AttributeCombined', protoName: 'AttributeCombined')
    ..aOS(3, _omitFieldNames ? '' : 'CombinedID', protoName: 'CombinedID')
    ..hasRequiredFields = false
  ;

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

  $pb.BuilderInfo get info_ => _i;

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

  /// Filter path
  @$pb.TagNumber(1)
  $core.String get attribute => $_getSZ(0);
  @$pb.TagNumber(1)
  set attribute($core.String v) { $_setString(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasAttribute() => $_has(0);
  @$pb.TagNumber(1)
  void clearAttribute() => $_clearField(1);

  /// Filter path for metadata filter
  @$pb.TagNumber(2)
  $core.String get attributeCombined => $_getSZ(1);
  @$pb.TagNumber(2)
  set attributeCombined($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasAttributeCombined() => $_has(1);
  @$pb.TagNumber(2)
  void clearAttributeCombined() => $_clearField(2);

  /// Metadata's key
  @$pb.TagNumber(3)
  $core.String get combinedID => $_getSZ(2);
  @$pb.TagNumber(3)
  set combinedID($core.String v) { $_setString(2, v); }
  @$pb.TagNumber(3)
  $core.bool hasCombinedID() => $_has(2);
  @$pb.TagNumber(3)
  void clearCombinedID() => $_clearField(3);
}

///
///  Standard structure, having an attribute and a list of values
class MatchFieldResult extends $pb.GeneratedMessage {
  factory MatchFieldResult({
    $core.String? attribute,
    $core.Iterable<$core.String>? values,
    $core.String? combinedID,
  }) {
    final $result = create();
    if (attribute != null) {
      $result.attribute = attribute;
    }
    if (values != null) {
      $result.values.addAll(values);
    }
    if (combinedID != null) {
      $result.combinedID = combinedID;
    }
    return $result;
  }
  MatchFieldResult._() : super();
  factory MatchFieldResult.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory MatchFieldResult.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

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

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

  $pb.BuilderInfo get info_ => _i;

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

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

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

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

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

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

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

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ErrorDetail create() => ErrorDetail._();
  ErrorDetail createEmptyInstance() => create();
  static $pb.PbList<ErrorDetail> createRepeated() => $pb.PbList<ErrorDetail>();
  @$core.pragma('dart2js:noInline')
  static ErrorDetail getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<ErrorDetail>(create);
  static ErrorDetail? _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)
  $core.String get value => $_getSZ(1);
  @$pb.TagNumber(2)
  set value($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasValue() => $_has(1);
  @$pb.TagNumber(2)
  void clearValue() => $_clearField(2);
}

///
///  Error message to be found in all rpc responses
class Errors extends $pb.GeneratedMessage {
  factory Errors({
    $core.String? errorCode,
    $core.String? errorTrace,
    $core.Iterable<ErrorDetail>? errorDetails,
    $core.String? contextType,
    $core.String? contextProcess,
    $core.String? contextPayload,
  }) {
    final $result = create();
    if (errorCode != null) {
      $result.errorCode = errorCode;
    }
    if (errorTrace != null) {
      $result.errorTrace = errorTrace;
    }
    if (errorDetails != null) {
      $result.errorDetails.addAll(errorDetails);
    }
    if (contextType != null) {
      $result.contextType = contextType;
    }
    if (contextProcess != null) {
      $result.contextProcess = contextProcess;
    }
    if (contextPayload != null) {
      $result.contextPayload = contextPayload;
    }
    return $result;
  }
  Errors._() : super();
  factory Errors.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory Errors.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'Errors', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'ErrorCode', protoName: 'ErrorCode')
    ..aOS(2, _omitFieldNames ? '' : 'ErrorTrace', protoName: 'ErrorTrace')
    ..pc<ErrorDetail>(3, _omitFieldNames ? '' : 'ErrorDetails', $pb.PbFieldType.PM, protoName: 'ErrorDetails', subBuilder: ErrorDetail.create)
    ..aOS(4, _omitFieldNames ? '' : 'ContextType', protoName: 'ContextType')
    ..aOS(5, _omitFieldNames ? '' : 'ContextProcess', protoName: 'ContextProcess')
    ..aOS(6, _omitFieldNames ? '' : 'ContextPayload', protoName: 'ContextPayload')
    ..hasRequiredFields = false
  ;

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

  $pb.BuilderInfo get info_ => _i;

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

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

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

  @$pb.TagNumber(3)
  $pb.PbList<ErrorDetail> get errorDetails => $_getList(2);

  @$pb.TagNumber(4)
  $core.String get contextType => $_getSZ(3);
  @$pb.TagNumber(4)
  set contextType($core.String v) { $_setString(3, v); }
  @$pb.TagNumber(4)
  $core.bool hasContextType() => $_has(3);
  @$pb.TagNumber(4)
  void clearContextType() => $_clearField(4);

  @$pb.TagNumber(5)
  $core.String get contextProcess => $_getSZ(4);
  @$pb.TagNumber(5)
  set contextProcess($core.String v) { $_setString(4, v); }
  @$pb.TagNumber(5)
  $core.bool hasContextProcess() => $_has(4);
  @$pb.TagNumber(5)
  void clearContextProcess() => $_clearField(5);

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

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

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

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ParamElement create() => ParamElement._();
  ParamElement createEmptyInstance() => create();
  static $pb.PbList<ParamElement> createRepeated() => $pb.PbList<ParamElement>();
  @$core.pragma('dart2js:noInline')
  static ParamElement getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<ParamElement>(create);
  static ParamElement? _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(3)
  ValueType get value => $_getN(1);
  @$pb.TagNumber(3)
  set value(ValueType v) { $_setField(3, v); }
  @$pb.TagNumber(3)
  $core.bool hasValue() => $_has(1);
  @$pb.TagNumber(3)
  void clearValue() => $_clearField(3);
  @$pb.TagNumber(3)
  ValueType ensureValue() => $_ensure(1);
}

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

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

  $pb.BuilderInfo get info_ => _i;

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

  /// Code of the message
  @$pb.TagNumber(1)
  $core.String get code => $_getSZ(0);
  @$pb.TagNumber(1)
  set code($core.String v) { $_setString(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasCode() => $_has(0);
  @$pb.TagNumber(1)
  void clearCode() => $_clearField(1);

  /// Label of the message
  @$pb.TagNumber(2)
  $core.String get label => $_getSZ(1);
  @$pb.TagNumber(2)
  set label($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasLabel() => $_has(1);
  @$pb.TagNumber(2)
  void clearLabel() => $_clearField(2);

  ///  Map of parameter to be put/replaced in the error label
  /// Parameters for label
  @$pb.TagNumber(3)
  $pb.PbList<ParamElement> get params => $_getList(2);
}

/// CoreEndpoint represents the REST webservices of Reflex Platform
class CoreEndpoint extends $pb.GeneratedMessage {
  factory CoreEndpoint({
    $core.String? restEndpoint,
    $core.String? grpcInputEndpoint,
    $core.String? grpcQueryEndpoint,
    $core.String? grpcGcsEndpoint,
    $core.String? grpcLoggerEndpoint,
    $core.String? grpcProjectModelEndpoint,
    $core.String? grpcCoreCollabInputEndpoint,
    $core.String? grpcCoreCollabQueryEndpoint,
    $core.String? grpcCoreClaimTypeEndpoint,
  }) {
    final $result = create();
    if (restEndpoint != null) {
      $result.restEndpoint = restEndpoint;
    }
    if (grpcInputEndpoint != null) {
      $result.grpcInputEndpoint = grpcInputEndpoint;
    }
    if (grpcQueryEndpoint != null) {
      $result.grpcQueryEndpoint = grpcQueryEndpoint;
    }
    if (grpcGcsEndpoint != null) {
      $result.grpcGcsEndpoint = grpcGcsEndpoint;
    }
    if (grpcLoggerEndpoint != null) {
      $result.grpcLoggerEndpoint = grpcLoggerEndpoint;
    }
    if (grpcProjectModelEndpoint != null) {
      $result.grpcProjectModelEndpoint = grpcProjectModelEndpoint;
    }
    if (grpcCoreCollabInputEndpoint != null) {
      $result.grpcCoreCollabInputEndpoint = grpcCoreCollabInputEndpoint;
    }
    if (grpcCoreCollabQueryEndpoint != null) {
      $result.grpcCoreCollabQueryEndpoint = grpcCoreCollabQueryEndpoint;
    }
    if (grpcCoreClaimTypeEndpoint != null) {
      $result.grpcCoreClaimTypeEndpoint = grpcCoreClaimTypeEndpoint;
    }
    return $result;
  }
  CoreEndpoint._() : super();
  factory CoreEndpoint.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory CoreEndpoint.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'CoreEndpoint', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'RestEndpoint', protoName: 'RestEndpoint')
    ..aOS(2, _omitFieldNames ? '' : 'GrpcInputEndpoint', protoName: 'GrpcInputEndpoint')
    ..aOS(3, _omitFieldNames ? '' : 'GrpcQueryEndpoint', protoName: 'GrpcQueryEndpoint')
    ..aOS(4, _omitFieldNames ? '' : 'GrpcGcsEndpoint', protoName: 'GrpcGcsEndpoint')
    ..aOS(5, _omitFieldNames ? '' : 'GrpcLoggerEndpoint', protoName: 'GrpcLoggerEndpoint')
    ..aOS(6, _omitFieldNames ? '' : 'GrpcProjectModelEndpoint', protoName: 'GrpcProjectModelEndpoint')
    ..aOS(7, _omitFieldNames ? '' : 'GrpcCoreCollabInputEndpoint', protoName: 'GrpcCoreCollabInputEndpoint')
    ..aOS(8, _omitFieldNames ? '' : 'GrpcCoreCollabQueryEndpoint', protoName: 'GrpcCoreCollabQueryEndpoint')
    ..aOS(9, _omitFieldNames ? '' : 'GrpcCoreClaimTypeEndpoint', protoName: 'GrpcCoreClaimTypeEndpoint')
    ..hasRequiredFields = false
  ;

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

  $pb.BuilderInfo get info_ => _i;

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

  /// RestEndpoint is the URL to access REST webservices of Platform.
  /// It is expected to include protocol.
  /// The protocol is expected to be "https://".
  /// Empty protocol MUST raise an error.
  /// Empty protocol or empty value MUST prevent attempts to access REST services.
  /// Empty value or protocol SHOULD NOT prevent normal use of other functions.
  @$pb.TagNumber(1)
  $core.String get restEndpoint => $_getSZ(0);
  @$pb.TagNumber(1)
  set restEndpoint($core.String v) { $_setString(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasRestEndpoint() => $_has(0);
  @$pb.TagNumber(1)
  void clearRestEndpoint() => $_clearField(1);

  /// GrpcInputEndpoint is the URL to access GRPC Input services of Platform.
  /// It is expected to include protocol.
  /// The protocol is expected to be "https://".
  /// Empty protocol MUST raise an error.
  /// Empty protocol or empty value MUST prevent attempts to access gRPC services.
  /// Empty value or protocol SHOULD NOT prevent normal use of other functions.
  @$pb.TagNumber(2)
  $core.String get grpcInputEndpoint => $_getSZ(1);
  @$pb.TagNumber(2)
  set grpcInputEndpoint($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasGrpcInputEndpoint() => $_has(1);
  @$pb.TagNumber(2)
  void clearGrpcInputEndpoint() => $_clearField(2);

  /// GrpcQueryEndpoint is the URL to access GRPC Query services of Platform.
  /// It is expected to include protocol.
  /// The protocol is expected to be "https://".
  /// Empty protocol MUST raise an error.
  /// Empty protocol or empty value MUST prevent attempts to access gRPC services.
  /// Empty value or protocol SHOULD NOT prevent normal use of other functions.
  @$pb.TagNumber(3)
  $core.String get grpcQueryEndpoint => $_getSZ(2);
  @$pb.TagNumber(3)
  set grpcQueryEndpoint($core.String v) { $_setString(2, v); }
  @$pb.TagNumber(3)
  $core.bool hasGrpcQueryEndpoint() => $_has(2);
  @$pb.TagNumber(3)
  void clearGrpcQueryEndpoint() => $_clearField(3);

  /// GrpcGcsEndpoint is the URL to access GRPC Gcs services of Platform.
  /// It is expected to include protocol.
  /// The protocol is expected to be "https://".
  /// Empty protocol MUST raise an error.
  /// Empty protocol or empty value MUST prevent attempts to access gRPC services.
  /// Empty value or protocol SHOULD NOT prevent normal use of other functions.
  @$pb.TagNumber(4)
  $core.String get grpcGcsEndpoint => $_getSZ(3);
  @$pb.TagNumber(4)
  set grpcGcsEndpoint($core.String v) { $_setString(3, v); }
  @$pb.TagNumber(4)
  $core.bool hasGrpcGcsEndpoint() => $_has(3);
  @$pb.TagNumber(4)
  void clearGrpcGcsEndpoint() => $_clearField(4);

  /// GrpcLoggerEndpoint is the URL to access GRPC Logger services of Platform.
  /// It is expected to include protocol.
  /// The protocol is expected to be "https://".
  /// Empty protocol MUST raise an error.
  /// Empty protocol or empty value MUST prevent attempts to access gRPC services.
  /// Empty value or protocol SHOULD NOT prevent normal use of other functions.
  @$pb.TagNumber(5)
  $core.String get grpcLoggerEndpoint => $_getSZ(4);
  @$pb.TagNumber(5)
  set grpcLoggerEndpoint($core.String v) { $_setString(4, v); }
  @$pb.TagNumber(5)
  $core.bool hasGrpcLoggerEndpoint() => $_has(4);
  @$pb.TagNumber(5)
  void clearGrpcLoggerEndpoint() => $_clearField(5);

  /// GrpcProjectModelEndpoint is the URL to access GRPC ProjectModel services of Platform which notably manages the metadata.
  /// It is expected to include protocol.
  /// The protocol is expected to be "https://".
  /// Empty protocol MUST raise an error.
  /// Empty protocol or empty value MUST prevent attempts to access gRPC services.
  /// Empty value or protocol SHOULD NOT prevent normal use of other functions.
  @$pb.TagNumber(6)
  $core.String get grpcProjectModelEndpoint => $_getSZ(5);
  @$pb.TagNumber(6)
  set grpcProjectModelEndpoint($core.String v) { $_setString(5, v); }
  @$pb.TagNumber(6)
  $core.bool hasGrpcProjectModelEndpoint() => $_has(5);
  @$pb.TagNumber(6)
  void clearGrpcProjectModelEndpoint() => $_clearField(6);

  /// GrpcCoreCollabInputEndpoint is the URL to access GRPC Input services of Platform.
  /// It is expected to include protocol.
  /// The protocol is expected to be "https://".
  /// Empty protocol MUST raise an error.
  /// Empty protocol or empty value MUST prevent attempts to access gRPC services.
  /// Empty value or protocol SHOULD NOT prevent normal use of other functions.
  @$pb.TagNumber(7)
  $core.String get grpcCoreCollabInputEndpoint => $_getSZ(6);
  @$pb.TagNumber(7)
  set grpcCoreCollabInputEndpoint($core.String v) { $_setString(6, v); }
  @$pb.TagNumber(7)
  $core.bool hasGrpcCoreCollabInputEndpoint() => $_has(6);
  @$pb.TagNumber(7)
  void clearGrpcCoreCollabInputEndpoint() => $_clearField(7);

  /// GrpcCoreCollabQueryEndpoint is the URL to access GRPC Query services of Platform.
  /// It is expected to include protocol.
  /// The protocol is expected to be "https://".
  /// Empty protocol MUST raise an error.
  /// Empty protocol or empty value MUST prevent attempts to access gRPC services.
  /// Empty value or protocol SHOULD NOT prevent normal use of other functions.
  @$pb.TagNumber(8)
  $core.String get grpcCoreCollabQueryEndpoint => $_getSZ(7);
  @$pb.TagNumber(8)
  set grpcCoreCollabQueryEndpoint($core.String v) { $_setString(7, v); }
  @$pb.TagNumber(8)
  $core.bool hasGrpcCoreCollabQueryEndpoint() => $_has(7);
  @$pb.TagNumber(8)
  void clearGrpcCoreCollabQueryEndpoint() => $_clearField(8);

  /// GrpcCoreClaimTypeEndpoint is the URL to access GRPC Query services of Platform.
  /// It is expected to include protocol.
  /// The protocol is expected to be "https://".
  /// Empty protocol MUST raise an error.
  /// Empty protocol or empty value MUST prevent attempts to access gRPC services.
  /// Empty value or protocol SHOULD NOT prevent normal use of other functions.
  @$pb.TagNumber(9)
  $core.String get grpcCoreClaimTypeEndpoint => $_getSZ(8);
  @$pb.TagNumber(9)
  set grpcCoreClaimTypeEndpoint($core.String v) { $_setString(8, v); }
  @$pb.TagNumber(9)
  $core.bool hasGrpcCoreClaimTypeEndpoint() => $_has(8);
  @$pb.TagNumber(9)
  void clearGrpcCoreClaimTypeEndpoint() => $_clearField(9);
}

/// IntegrationEndpoint represents the different endpoints of the integration Platform
/// These services are notably used to manage integration processes / pipelines.
class IntegrationEndpoint extends $pb.GeneratedMessage {
  factory IntegrationEndpoint({
    $core.String? restEndpoint,
    $core.String? grpcEndpoint,
  }) {
    final $result = create();
    if (restEndpoint != null) {
      $result.restEndpoint = restEndpoint;
    }
    if (grpcEndpoint != null) {
      $result.grpcEndpoint = grpcEndpoint;
    }
    return $result;
  }
  IntegrationEndpoint._() : super();
  factory IntegrationEndpoint.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory IntegrationEndpoint.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

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

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

  $pb.BuilderInfo get info_ => _i;

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

  /// RestEndpoint is the URL to access REST webservices of Integration.
  /// It is expected to include protocol.
  /// the protocol is expected to be "https://".
  /// Empty protocol MUST raise an error.
  /// Empty protocol or empty value MUST prevent attempts to access REST services.
  /// Empty value or protocol SHOULD NOT prevent normal use of other functions.
  @$pb.TagNumber(1)
  $core.String get restEndpoint => $_getSZ(0);
  @$pb.TagNumber(1)
  set restEndpoint($core.String v) { $_setString(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasRestEndpoint() => $_has(0);
  @$pb.TagNumber(1)
  void clearRestEndpoint() => $_clearField(1);

  /// GrpcEndpoint is the URL to access GRPC services of Integration
  /// It is expected to include protocol and a port.
  /// The protocol is expected to be "https://".
  /// Empty protocol MUST raise an error.
  /// Empty protocol or empty value MUST prevent attempts to access gRPC services.
  /// Empty value or protocol SHOULD NOT prevent normal use of other functions.
  @$pb.TagNumber(2)
  $core.String get grpcEndpoint => $_getSZ(1);
  @$pb.TagNumber(2)
  set grpcEndpoint($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasGrpcEndpoint() => $_has(1);
  @$pb.TagNumber(2)
  void clearGrpcEndpoint() => $_clearField(2);
}

/// StorageEndpoint represents the REST webservices of Google Cloud Storage
/// These REST services are notably used to upload and retrieve files from the storage.
/// In order to authenticate to it, a STS token is required and can be obtained from the CoreEndpoint /api.GcsApi/GetBucketSTS API.
class StorageEndpoint extends $pb.GeneratedMessage {
  factory StorageEndpoint({
    $core.String? endpoint,
    $core.String? bucket,
  }) {
    final $result = create();
    if (endpoint != null) {
      $result.endpoint = endpoint;
    }
    if (bucket != null) {
      $result.bucket = bucket;
    }
    return $result;
  }
  StorageEndpoint._() : super();
  factory StorageEndpoint.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory StorageEndpoint.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

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

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

  $pb.BuilderInfo get info_ => _i;

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

  /// Endpoint is the URL to access the REST webservices.
  /// It is expected to include portocol.
  /// The protocol is expected to be "https://".
  /// Empty protocol MUST raise an error.
  /// Empty protocol or empty value MUST prevent attempts to access REST services.
  /// Empty value or protocol SHOULD NOT prevent normal use of other functions.
  @$pb.TagNumber(1)
  $core.String get endpoint => $_getSZ(0);
  @$pb.TagNumber(1)
  set endpoint($core.String v) { $_setString(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasEndpoint() => $_has(0);
  @$pb.TagNumber(1)
  void clearEndpoint() => $_clearField(1);

  /// Bucket is the name of the bucket associated to this partner app.
  /// It should look like <organisationID>/<projectID>/<partnerAppID>.
  @$pb.TagNumber(2)
  $core.String get bucket => $_getSZ(1);
  @$pb.TagNumber(2)
  set bucket($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasBucket() => $_has(1);
  @$pb.TagNumber(2)
  void clearBucket() => $_clearField(2);
}

///  Platform provides a JetStream-enabled account for these credential set.
/// The method to authenticate should comply with JWT decentralized auth.
class NatsCredentials extends $pb.GeneratedMessage {
  factory NatsCredentials({
    $core.String? endpoint,
    $core.String? rootSubject,
    $core.String? username,
    $core.String? userJwt,
    $core.String? userNkeySeed,
  }) {
    final $result = create();
    if (endpoint != null) {
      $result.endpoint = endpoint;
    }
    if (rootSubject != null) {
      $result.rootSubject = rootSubject;
    }
    if (username != null) {
      $result.username = username;
    }
    if (userJwt != null) {
      $result.userJwt = userJwt;
    }
    if (userNkeySeed != null) {
      $result.userNkeySeed = userNkeySeed;
    }
    return $result;
  }
  NatsCredentials._() : super();
  factory NatsCredentials.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory NatsCredentials.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'NatsCredentials', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'Endpoint', protoName: 'Endpoint')
    ..aOS(2, _omitFieldNames ? '' : 'RootSubject', protoName: 'RootSubject')
    ..aOS(3, _omitFieldNames ? '' : 'Username', protoName: 'Username')
    ..aOS(4, _omitFieldNames ? '' : 'UserJwt', protoName: 'UserJwt')
    ..aOS(5, _omitFieldNames ? '' : 'UserNkeySeed', protoName: 'UserNkeySeed')
    ..hasRequiredFields = false
  ;

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

  $pb.BuilderInfo get info_ => _i;

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

  ///  EndPoint is the URL to connect to NATS.
  /// This URL is expected to include protocol and port.
  /// Protocol is expected to be "nats://".
  /// Any port value SHOULD be acceptable.
  /// Missing protocol, address, or port SHOULD raise an error.
  /// Invalid protocol SHOULD raise an error.
  /// Errors raised in this protocol SHOULD NOT prevent use of any other protocols.
  @$pb.TagNumber(1)
  $core.String get endpoint => $_getSZ(0);
  @$pb.TagNumber(1)
  set endpoint($core.String v) { $_setString(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasEndpoint() => $_has(0);
  @$pb.TagNumber(1)
  void clearEndpoint() => $_clearField(1);

  ///  RootSubject defines a namespace of which all subjects must be prefixed with
  /// it is expected to be a dot-separated serries of "tokens"
  @$pb.TagNumber(2)
  $core.String get rootSubject => $_getSZ(1);
  @$pb.TagNumber(2)
  set rootSubject($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasRootSubject() => $_has(1);
  @$pb.TagNumber(2)
  void clearRootSubject() => $_clearField(2);

  /// Username is not used, but may help human readers to identify accounts.
  @$pb.TagNumber(3)
  $core.String get username => $_getSZ(2);
  @$pb.TagNumber(3)
  set username($core.String v) { $_setString(2, v); }
  @$pb.TagNumber(3)
  $core.bool hasUsername() => $_has(2);
  @$pb.TagNumber(3)
  void clearUsername() => $_clearField(3);

  @$pb.TagNumber(4)
  $core.String get userJwt => $_getSZ(3);
  @$pb.TagNumber(4)
  set userJwt($core.String v) { $_setString(3, v); }
  @$pb.TagNumber(4)
  $core.bool hasUserJwt() => $_has(3);
  @$pb.TagNumber(4)
  void clearUserJwt() => $_clearField(4);

  @$pb.TagNumber(5)
  $core.String get userNkeySeed => $_getSZ(4);
  @$pb.TagNumber(5)
  set userNkeySeed($core.String v) { $_setString(4, v); }
  @$pb.TagNumber(5)
  $core.bool hasUserNkeySeed() => $_has(4);
  @$pb.TagNumber(5)
  void clearUserNkeySeed() => $_clearField(5);
}

/// OpenSearchCredentials holds the configuration for interacting with Platform integration's OpenSearch
class OpenSearchCredentials extends $pb.GeneratedMessage {
  factory OpenSearchCredentials({
    $core.String? endpoint,
    $core.String? username,
    $core.String? password,
    $core.String? index,
  }) {
    final $result = create();
    if (endpoint != null) {
      $result.endpoint = endpoint;
    }
    if (username != null) {
      $result.username = username;
    }
    if (password != null) {
      $result.password = password;
    }
    if (index != null) {
      $result.index = index;
    }
    return $result;
  }
  OpenSearchCredentials._() : super();
  factory OpenSearchCredentials.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory OpenSearchCredentials.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'OpenSearchCredentials', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'Endpoint', protoName: 'Endpoint')
    ..aOS(2, _omitFieldNames ? '' : 'Username', protoName: 'Username')
    ..aOS(3, _omitFieldNames ? '' : 'Password', protoName: 'Password')
    ..aOS(4, _omitFieldNames ? '' : 'Index', protoName: 'Index')
    ..hasRequiredFields = false
  ;

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

  $pb.BuilderInfo get info_ => _i;

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

  /// Endpoint is the URL to access the OpenSearch dashboard.
  /// It is expected to include portocol.
  /// The protocol is expected to be "https://".
  /// Empty protocol MUST raise an error.
  /// Empty protocol or empty value MUST prevent attempts to access REST services.
  /// Empty value or protocol SHOULD NOT prevent normal use of other functions.
  @$pb.TagNumber(1)
  $core.String get endpoint => $_getSZ(0);
  @$pb.TagNumber(1)
  set endpoint($core.String v) { $_setString(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasEndpoint() => $_has(0);
  @$pb.TagNumber(1)
  void clearEndpoint() => $_clearField(1);

  /// Username is the provided username to use for authentication
  @$pb.TagNumber(2)
  $core.String get username => $_getSZ(1);
  @$pb.TagNumber(2)
  set username($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasUsername() => $_has(1);
  @$pb.TagNumber(2)
  void clearUsername() => $_clearField(2);

  /// Password is the provided password to use for authentication
  @$pb.TagNumber(3)
  $core.String get password => $_getSZ(2);
  @$pb.TagNumber(3)
  set password($core.String v) { $_setString(2, v); }
  @$pb.TagNumber(3)
  $core.bool hasPassword() => $_has(2);
  @$pb.TagNumber(3)
  void clearPassword() => $_clearField(3);

  /// Index is the name of the index the partner app is allowed to use
  @$pb.TagNumber(4)
  $core.String get index => $_getSZ(3);
  @$pb.TagNumber(4)
  set index($core.String v) { $_setString(3, v); }
  @$pb.TagNumber(4)
  $core.bool hasIndex() => $_has(3);
  @$pb.TagNumber(4)
  void clearIndex() => $_clearField(4);
}

/// OpenIDCredentials holds the configuration for interacting with Platform's OpenID Connect server
/// This is used to authenticate to the CoreEndpoint and IntegrationEndpoint by providing a JWT token.
class OpenIDCredentials extends $pb.GeneratedMessage {
  factory OpenIDCredentials({
    $core.String? wellKnownURI,
    $core.String? serviceAccountName,
    $core.String? serviceAccountPEM,
  }) {
    final $result = create();
    if (wellKnownURI != null) {
      $result.wellKnownURI = wellKnownURI;
    }
    if (serviceAccountName != null) {
      $result.serviceAccountName = serviceAccountName;
    }
    if (serviceAccountPEM != null) {
      $result.serviceAccountPEM = serviceAccountPEM;
    }
    return $result;
  }
  OpenIDCredentials._() : super();
  factory OpenIDCredentials.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory OpenIDCredentials.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'OpenIDCredentials', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'WellKnownURI', protoName: 'WellKnownURI')
    ..aOS(2, _omitFieldNames ? '' : 'ServiceAccountName', protoName: 'ServiceAccountName')
    ..aOS(3, _omitFieldNames ? '' : 'ServiceAccountPEM', protoName: 'ServiceAccountPEM')
    ..hasRequiredFields = false
  ;

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

  $pb.BuilderInfo get info_ => _i;

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

  /// WellKnownURI is the URL to access the OpenID Connect server's well-known configuration
  /// It is expected to include protocol.
  /// the protocol is expected to be "https://".
  /// Empty protocol MUST raise an error.
  /// Empty protocol or empty value MUST prevent attempts to access REST services.
  /// Empty value or protocol SHOULD NOT prevent normal use of other functions.
  @$pb.TagNumber(1)
  $core.String get wellKnownURI => $_getSZ(0);
  @$pb.TagNumber(1)
  set wellKnownURI($core.String v) { $_setString(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasWellKnownURI() => $_has(0);
  @$pb.TagNumber(1)
  void clearWellKnownURI() => $_clearField(1);

  /// ServiceAccountName is the name that identifies the service account.
  /// It is not used for authentication, but may help human readers to identify accounts.
  @$pb.TagNumber(2)
  $core.String get serviceAccountName => $_getSZ(1);
  @$pb.TagNumber(2)
  set serviceAccountName($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasServiceAccountName() => $_has(1);
  @$pb.TagNumber(2)
  void clearServiceAccountName() => $_clearField(2);

  /// ServiceAccountPEM is the PEM-encoded private key of the service account that is used for authentication.
  @$pb.TagNumber(3)
  $core.String get serviceAccountPEM => $_getSZ(2);
  @$pb.TagNumber(3)
  set serviceAccountPEM($core.String v) { $_setString(2, v); }
  @$pb.TagNumber(3)
  $core.bool hasServiceAccountPEM() => $_has(2);
  @$pb.TagNumber(3)
  void clearServiceAccountPEM() => $_clearField(3);
}

///
///  Basic messages (int, bool, string ,etc ) encapsulation inside a message
///  we can use these message to escape default values of basic messages, and have the possibility to put an empty
///  ex: not sending a string in a payload is the same as sending an empty string -> solution: use StringObject
class Int32Object extends $pb.GeneratedMessage {
  factory Int32Object({
    $core.int? int32,
  }) {
    final $result = create();
    if (int32 != null) {
      $result.int32 = int32;
    }
    return $result;
  }
  Int32Object._() : super();
  factory Int32Object.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory Int32Object.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'Int32Object', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..a<$core.int>(1, _omitFieldNames ? '' : 'Int32', $pb.PbFieldType.O3, protoName: 'Int32')
    ..hasRequiredFields = false
  ;

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

  $pb.BuilderInfo get info_ => _i;

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

  @$pb.TagNumber(1)
  $core.int get int32 => $_getIZ(0);
  @$pb.TagNumber(1)
  set int32($core.int v) { $_setSignedInt32(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasInt32() => $_has(0);
  @$pb.TagNumber(1)
  void clearInt32() => $_clearField(1);
}

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

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

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

  $pb.BuilderInfo get info_ => _i;

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

  @$pb.TagNumber(1)
  $core.bool get bool_1 => $_getBF(0);
  @$pb.TagNumber(1)
  set bool_1($core.bool v) { $_setBool(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasBool_1() => $_has(0);
  @$pb.TagNumber(1)
  void clearBool_1() => $_clearField(1);
}

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

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

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

  $pb.BuilderInfo get info_ => _i;

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

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

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

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'StringDateObject', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOS(10, _omitFieldNames ? '' : 'DateTime', protoName: 'DateTime')
    ..hasRequiredFields = false
  ;

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

  $pb.BuilderInfo get info_ => _i;

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

  /// UTC date/time in <a href='https://en.wikipedia.org/wiki/ISO_8601'>ISO 8601</a> format
  @$pb.TagNumber(10)
  $core.String get dateTime => $_getSZ(0);
  @$pb.TagNumber(10)
  set dateTime($core.String v) { $_setString(0, v); }
  @$pb.TagNumber(10)
  $core.bool hasDateTime() => $_has(0);
  @$pb.TagNumber(10)
  void clearDateTime() => $_clearField(10);
}

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

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'WorkflowExecutionResult', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'WorkflowId', protoName: 'WorkflowId')
    ..aOS(2, _omitFieldNames ? '' : 'RunId', protoName: 'RunId')
    ..aOS(3, _omitFieldNames ? '' : 'Domain', protoName: 'Domain')
    ..hasRequiredFields = false
  ;

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

  $pb.BuilderInfo get info_ => _i;

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

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

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

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

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

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ModuleRegistration', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..e<WorkflowTypeEnum>(1, _omitFieldNames ? '' : 'WorkflowTarget', $pb.PbFieldType.OE, protoName: 'WorkflowTarget', defaultOrMaker: WorkflowTypeEnum.CREATE_PROJECT, valueOf: WorkflowTypeEnum.valueOf, enumValues: WorkflowTypeEnum.values)
    ..aOS(2, _omitFieldNames ? '' : 'WorkflowPath', protoName: 'WorkflowPath')
    ..e<ModuleWorkflowTypeEnum>(3, _omitFieldNames ? '' : 'Type', $pb.PbFieldType.OE, protoName: 'Type', defaultOrMaker: ModuleWorkflowTypeEnum.PRE_WORKFLOW, valueOf: ModuleWorkflowTypeEnum.valueOf, enumValues: ModuleWorkflowTypeEnum.values)
    ..a<$core.int>(4, _omitFieldNames ? '' : 'Timeout', $pb.PbFieldType.O3, protoName: 'Timeout')
    ..hasRequiredFields = false
  ;

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

  $pb.BuilderInfo get info_ => _i;

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

  @$pb.TagNumber(1)
  WorkflowTypeEnum get workflowTarget => $_getN(0);
  @$pb.TagNumber(1)
  set workflowTarget(WorkflowTypeEnum v) { $_setField(1, v); }
  @$pb.TagNumber(1)
  $core.bool hasWorkflowTarget() => $_has(0);
  @$pb.TagNumber(1)
  void clearWorkflowTarget() => $_clearField(1);

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

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

  @$pb.TagNumber(4)
  $core.int get timeout => $_getIZ(3);
  @$pb.TagNumber(4)
  set timeout($core.int v) { $_setSignedInt32(3, v); }
  @$pb.TagNumber(4)
  $core.bool hasTimeout() => $_has(3);
  @$pb.TagNumber(4)
  void clearTimeout() => $_clearField(4);
}

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

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ModuleDeregistration', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..e<WorkflowTypeEnum>(1, _omitFieldNames ? '' : 'WorkflowTarget', $pb.PbFieldType.OE, protoName: 'WorkflowTarget', defaultOrMaker: WorkflowTypeEnum.CREATE_PROJECT, valueOf: WorkflowTypeEnum.valueOf, enumValues: WorkflowTypeEnum.values)
    ..aOS(2, _omitFieldNames ? '' : 'WorkflowPath', protoName: 'WorkflowPath')
    ..e<ModuleWorkflowTypeEnum>(3, _omitFieldNames ? '' : 'Type', $pb.PbFieldType.OE, protoName: 'Type', defaultOrMaker: ModuleWorkflowTypeEnum.PRE_WORKFLOW, valueOf: ModuleWorkflowTypeEnum.valueOf, enumValues: ModuleWorkflowTypeEnum.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')
  ModuleDeregistration clone() => ModuleDeregistration()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  ModuleDeregistration copyWith(void Function(ModuleDeregistration) updates) => super.copyWith((message) => updates(message as ModuleDeregistration)) as ModuleDeregistration;

  $pb.BuilderInfo get info_ => _i;

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

  @$pb.TagNumber(1)
  WorkflowTypeEnum get workflowTarget => $_getN(0);
  @$pb.TagNumber(1)
  set workflowTarget(WorkflowTypeEnum v) { $_setField(1, v); }
  @$pb.TagNumber(1)
  $core.bool hasWorkflowTarget() => $_has(0);
  @$pb.TagNumber(1)
  void clearWorkflowTarget() => $_clearField(1);

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

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

/// Message defining the structure of a ClaimType.
class ClaimType extends $pb.GeneratedMessage {
  factory ClaimType({
    $core.String? iD,
    $core.String? projectID,
    $core.String? reason,
    $core.String? reasonCode,
    ClaimEntityType? entityType,
    ClaimCriticality? defaultCriticality,
    $core.Iterable<ClaimTransition>? transitions,
    $core.Iterable<ClaimTypeClosure>? possibleClosures,
    $core.Iterable<$core.String>? criticalityAllowedRoles,
    $core.Iterable<$core.String>? readAllowedRoles,
    $core.Iterable<$core.String>? writeAllowedRoles,
    $core.Iterable<$core.String>? assignAllowedRoles,
    $core.Iterable<ClaimStatus>? allowedStatuses,
    ClaimStatus? defaultStatus,
    ClaimSector? sector,
    $core.Iterable<$core.String>? defaultAssignees,
  }) {
    final $result = create();
    if (iD != null) {
      $result.iD = iD;
    }
    if (projectID != null) {
      $result.projectID = projectID;
    }
    if (reason != null) {
      $result.reason = reason;
    }
    if (reasonCode != null) {
      $result.reasonCode = reasonCode;
    }
    if (entityType != null) {
      $result.entityType = entityType;
    }
    if (defaultCriticality != null) {
      $result.defaultCriticality = defaultCriticality;
    }
    if (transitions != null) {
      $result.transitions.addAll(transitions);
    }
    if (possibleClosures != null) {
      $result.possibleClosures.addAll(possibleClosures);
    }
    if (criticalityAllowedRoles != null) {
      $result.criticalityAllowedRoles.addAll(criticalityAllowedRoles);
    }
    if (readAllowedRoles != null) {
      $result.readAllowedRoles.addAll(readAllowedRoles);
    }
    if (writeAllowedRoles != null) {
      $result.writeAllowedRoles.addAll(writeAllowedRoles);
    }
    if (assignAllowedRoles != null) {
      $result.assignAllowedRoles.addAll(assignAllowedRoles);
    }
    if (allowedStatuses != null) {
      $result.allowedStatuses.addAll(allowedStatuses);
    }
    if (defaultStatus != null) {
      $result.defaultStatus = defaultStatus;
    }
    if (sector != null) {
      $result.sector = sector;
    }
    if (defaultAssignees != null) {
      $result.defaultAssignees.addAll(defaultAssignees);
    }
    return $result;
  }
  ClaimType._() : super();
  factory ClaimType.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory ClaimType.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ClaimType', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'ID', protoName: 'ID')
    ..aOS(2, _omitFieldNames ? '' : 'ProjectID', protoName: 'ProjectID')
    ..aOS(3, _omitFieldNames ? '' : 'Reason', protoName: 'Reason')
    ..aOS(4, _omitFieldNames ? '' : 'ReasonCode', protoName: 'ReasonCode')
    ..e<ClaimEntityType>(5, _omitFieldNames ? '' : 'EntityType', $pb.PbFieldType.OE, protoName: 'EntityType', defaultOrMaker: ClaimEntityType.CLAIM_ENTITY_TYPE_UNKNOWN, valueOf: ClaimEntityType.valueOf, enumValues: ClaimEntityType.values)
    ..e<ClaimCriticality>(6, _omitFieldNames ? '' : 'DefaultCriticality', $pb.PbFieldType.OE, protoName: 'DefaultCriticality', defaultOrMaker: ClaimCriticality.CLAIM_CRITICALITY_UNKNOWN, valueOf: ClaimCriticality.valueOf, enumValues: ClaimCriticality.values)
    ..pc<ClaimTransition>(7, _omitFieldNames ? '' : 'Transitions', $pb.PbFieldType.PM, protoName: 'Transitions', subBuilder: ClaimTransition.create)
    ..pc<ClaimTypeClosure>(8, _omitFieldNames ? '' : 'PossibleClosures', $pb.PbFieldType.PM, protoName: 'PossibleClosures', subBuilder: ClaimTypeClosure.create)
    ..pPS(9, _omitFieldNames ? '' : 'CriticalityAllowedRoles', protoName: 'CriticalityAllowedRoles')
    ..pPS(10, _omitFieldNames ? '' : 'ReadAllowedRoles', protoName: 'ReadAllowedRoles')
    ..pPS(11, _omitFieldNames ? '' : 'WriteAllowedRoles', protoName: 'WriteAllowedRoles')
    ..pPS(12, _omitFieldNames ? '' : 'AssignAllowedRoles', protoName: 'AssignAllowedRoles')
    ..pc<ClaimStatus>(13, _omitFieldNames ? '' : 'AllowedStatuses', $pb.PbFieldType.KE, protoName: 'AllowedStatuses', valueOf: ClaimStatus.valueOf, enumValues: ClaimStatus.values, defaultEnumValue: ClaimStatus.CLAIM_STATUS_UNKNOWN)
    ..e<ClaimStatus>(14, _omitFieldNames ? '' : 'DefaultStatus', $pb.PbFieldType.OE, protoName: 'DefaultStatus', defaultOrMaker: ClaimStatus.CLAIM_STATUS_UNKNOWN, valueOf: ClaimStatus.valueOf, enumValues: ClaimStatus.values)
    ..e<ClaimSector>(15, _omitFieldNames ? '' : 'Sector', $pb.PbFieldType.OE, protoName: 'Sector', defaultOrMaker: ClaimSector.CLAIM_SECTOR_UNKNOWN, valueOf: ClaimSector.valueOf, enumValues: ClaimSector.values)
    ..pPS(16, _omitFieldNames ? '' : 'DefaultAssignees', protoName: 'DefaultAssignees')
    ..hasRequiredFields = false
  ;

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

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ClaimType create() => ClaimType._();
  ClaimType createEmptyInstance() => create();
  static $pb.PbList<ClaimType> createRepeated() => $pb.PbList<ClaimType>();
  @$core.pragma('dart2js:noInline')
  static ClaimType getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<ClaimType>(create);
  static ClaimType? _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 projectID => $_getSZ(1);
  @$pb.TagNumber(2)
  set projectID($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasProjectID() => $_has(1);
  @$pb.TagNumber(2)
  void clearProjectID() => $_clearField(2);

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

  @$pb.TagNumber(4)
  $core.String get reasonCode => $_getSZ(3);
  @$pb.TagNumber(4)
  set reasonCode($core.String v) { $_setString(3, v); }
  @$pb.TagNumber(4)
  $core.bool hasReasonCode() => $_has(3);
  @$pb.TagNumber(4)
  void clearReasonCode() => $_clearField(4);

  @$pb.TagNumber(5)
  ClaimEntityType get entityType => $_getN(4);
  @$pb.TagNumber(5)
  set entityType(ClaimEntityType v) { $_setField(5, v); }
  @$pb.TagNumber(5)
  $core.bool hasEntityType() => $_has(4);
  @$pb.TagNumber(5)
  void clearEntityType() => $_clearField(5);

  @$pb.TagNumber(6)
  ClaimCriticality get defaultCriticality => $_getN(5);
  @$pb.TagNumber(6)
  set defaultCriticality(ClaimCriticality v) { $_setField(6, v); }
  @$pb.TagNumber(6)
  $core.bool hasDefaultCriticality() => $_has(5);
  @$pb.TagNumber(6)
  void clearDefaultCriticality() => $_clearField(6);

  @$pb.TagNumber(7)
  $pb.PbList<ClaimTransition> get transitions => $_getList(6);

  @$pb.TagNumber(8)
  $pb.PbList<ClaimTypeClosure> get possibleClosures => $_getList(7);

  @$pb.TagNumber(9)
  $pb.PbList<$core.String> get criticalityAllowedRoles => $_getList(8);

  @$pb.TagNumber(10)
  $pb.PbList<$core.String> get readAllowedRoles => $_getList(9);

  @$pb.TagNumber(11)
  $pb.PbList<$core.String> get writeAllowedRoles => $_getList(10);

  @$pb.TagNumber(12)
  $pb.PbList<$core.String> get assignAllowedRoles => $_getList(11);

  @$pb.TagNumber(13)
  $pb.PbList<ClaimStatus> get allowedStatuses => $_getList(12);

  @$pb.TagNumber(14)
  ClaimStatus get defaultStatus => $_getN(13);
  @$pb.TagNumber(14)
  set defaultStatus(ClaimStatus v) { $_setField(14, v); }
  @$pb.TagNumber(14)
  $core.bool hasDefaultStatus() => $_has(13);
  @$pb.TagNumber(14)
  void clearDefaultStatus() => $_clearField(14);

  @$pb.TagNumber(15)
  ClaimSector get sector => $_getN(14);
  @$pb.TagNumber(15)
  set sector(ClaimSector v) { $_setField(15, v); }
  @$pb.TagNumber(15)
  $core.bool hasSector() => $_has(14);
  @$pb.TagNumber(15)
  void clearSector() => $_clearField(15);

  @$pb.TagNumber(16)
  $pb.PbList<$core.String> get defaultAssignees => $_getList(15);
}

/// Message defining the structure of a ClaimTransition.
class ClaimTransition extends $pb.GeneratedMessage {
  factory ClaimTransition({
    ClaimStatus? fromStatus,
    ClaimStatus? toStatus,
    $core.Iterable<$core.String>? allowedRoles,
    $core.bool? shouldNotify,
  }) {
    final $result = create();
    if (fromStatus != null) {
      $result.fromStatus = fromStatus;
    }
    if (toStatus != null) {
      $result.toStatus = toStatus;
    }
    if (allowedRoles != null) {
      $result.allowedRoles.addAll(allowedRoles);
    }
    if (shouldNotify != null) {
      $result.shouldNotify = shouldNotify;
    }
    return $result;
  }
  ClaimTransition._() : super();
  factory ClaimTransition.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory ClaimTransition.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ClaimTransition', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..e<ClaimStatus>(1, _omitFieldNames ? '' : 'FromStatus', $pb.PbFieldType.OE, protoName: 'FromStatus', defaultOrMaker: ClaimStatus.CLAIM_STATUS_UNKNOWN, valueOf: ClaimStatus.valueOf, enumValues: ClaimStatus.values)
    ..e<ClaimStatus>(2, _omitFieldNames ? '' : 'ToStatus', $pb.PbFieldType.OE, protoName: 'ToStatus', defaultOrMaker: ClaimStatus.CLAIM_STATUS_UNKNOWN, valueOf: ClaimStatus.valueOf, enumValues: ClaimStatus.values)
    ..pPS(3, _omitFieldNames ? '' : 'AllowedRoles', protoName: 'AllowedRoles')
    ..aOB(4, _omitFieldNames ? '' : 'ShouldNotify', protoName: 'ShouldNotify')
    ..hasRequiredFields = false
  ;

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

  $pb.BuilderInfo get info_ => _i;

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

  @$pb.TagNumber(1)
  ClaimStatus get fromStatus => $_getN(0);
  @$pb.TagNumber(1)
  set fromStatus(ClaimStatus v) { $_setField(1, v); }
  @$pb.TagNumber(1)
  $core.bool hasFromStatus() => $_has(0);
  @$pb.TagNumber(1)
  void clearFromStatus() => $_clearField(1);

  @$pb.TagNumber(2)
  ClaimStatus get toStatus => $_getN(1);
  @$pb.TagNumber(2)
  set toStatus(ClaimStatus v) { $_setField(2, v); }
  @$pb.TagNumber(2)
  $core.bool hasToStatus() => $_has(1);
  @$pb.TagNumber(2)
  void clearToStatus() => $_clearField(2);

  @$pb.TagNumber(3)
  $pb.PbList<$core.String> get allowedRoles => $_getList(2);

  @$pb.TagNumber(4)
  $core.bool get shouldNotify => $_getBF(3);
  @$pb.TagNumber(4)
  set shouldNotify($core.bool v) { $_setBool(3, v); }
  @$pb.TagNumber(4)
  $core.bool hasShouldNotify() => $_has(3);
  @$pb.TagNumber(4)
  void clearShouldNotify() => $_clearField(4);
}

/// Message defining the structure of a ClaimTypeClosure for ClaimTypes.
class ClaimTypeClosure extends $pb.GeneratedMessage {
  factory ClaimTypeClosure({
    $core.String? responsible,
    $core.Iterable<$core.String>? causes,
  }) {
    final $result = create();
    if (responsible != null) {
      $result.responsible = responsible;
    }
    if (causes != null) {
      $result.causes.addAll(causes);
    }
    return $result;
  }
  ClaimTypeClosure._() : super();
  factory ClaimTypeClosure.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory ClaimTypeClosure.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

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

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

  $pb.BuilderInfo get info_ => _i;

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

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

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

/// Message defining the structure of a ClaimClosure for Claim instances.
class ClaimClosure extends $pb.GeneratedMessage {
  factory ClaimClosure({
    $core.String? responsible,
    $core.String? cause,
  }) {
    final $result = create();
    if (responsible != null) {
      $result.responsible = responsible;
    }
    if (cause != null) {
      $result.cause = cause;
    }
    return $result;
  }
  ClaimClosure._() : super();
  factory ClaimClosure.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory ClaimClosure.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

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

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

  $pb.BuilderInfo get info_ => _i;

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

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

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

/// Message defining the claim attached to entity
class ClaimSummary extends $pb.GeneratedMessage {
  factory ClaimSummary({
    $core.String? claimTypeID,
    $core.String? claimTypeReason,
    $core.int? number,
  }) {
    final $result = create();
    if (claimTypeID != null) {
      $result.claimTypeID = claimTypeID;
    }
    if (claimTypeReason != null) {
      $result.claimTypeReason = claimTypeReason;
    }
    if (number != null) {
      $result.number = number;
    }
    return $result;
  }
  ClaimSummary._() : super();
  factory ClaimSummary.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory ClaimSummary.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ClaimSummary', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'ClaimTypeID', protoName: 'ClaimTypeID')
    ..aOS(2, _omitFieldNames ? '' : 'ClaimTypeReason', protoName: 'ClaimTypeReason')
    ..a<$core.int>(3, _omitFieldNames ? '' : 'Number', $pb.PbFieldType.O3, protoName: 'Number')
    ..hasRequiredFields = false
  ;

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

  $pb.BuilderInfo get info_ => _i;

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

  /// Identifier of the claim type
  @$pb.TagNumber(1)
  $core.String get claimTypeID => $_getSZ(0);
  @$pb.TagNumber(1)
  set claimTypeID($core.String v) { $_setString(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasClaimTypeID() => $_has(0);
  @$pb.TagNumber(1)
  void clearClaimTypeID() => $_clearField(1);

  /// Code of the claim type
  @$pb.TagNumber(2)
  $core.String get claimTypeReason => $_getSZ(1);
  @$pb.TagNumber(2)
  set claimTypeReason($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasClaimTypeReason() => $_has(1);
  @$pb.TagNumber(2)
  void clearClaimTypeReason() => $_clearField(2);

  @$pb.TagNumber(3)
  $core.int get number => $_getIZ(2);
  @$pb.TagNumber(3)
  set number($core.int v) { $_setSignedInt32(2, v); }
  @$pb.TagNumber(3)
  $core.bool hasNumber() => $_has(2);
  @$pb.TagNumber(3)
  void clearNumber() => $_clearField(3);
}

class AttachmentType extends $pb.GeneratedMessage {
  factory AttachmentType({
    $core.String? iD,
    $core.String? projectID,
    $core.String? code,
    EntityType? entity,
    $core.String? label,
    SharePolicy? sharePolicy,
  }) {
    final $result = create();
    if (iD != null) {
      $result.iD = iD;
    }
    if (projectID != null) {
      $result.projectID = projectID;
    }
    if (code != null) {
      $result.code = code;
    }
    if (entity != null) {
      $result.entity = entity;
    }
    if (label != null) {
      $result.label = label;
    }
    if (sharePolicy != null) {
      $result.sharePolicy = sharePolicy;
    }
    return $result;
  }
  AttachmentType._() : super();
  factory AttachmentType.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory AttachmentType.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'AttachmentType', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'ID', protoName: 'ID')
    ..aOS(2, _omitFieldNames ? '' : 'ProjectID', protoName: 'ProjectID')
    ..aOS(3, _omitFieldNames ? '' : 'Code', protoName: 'Code')
    ..e<EntityType>(4, _omitFieldNames ? '' : 'Entity', $pb.PbFieldType.OE, protoName: 'Entity', defaultOrMaker: EntityType.ENTITY_TYPE_UNKNOWN, valueOf: EntityType.valueOf, enumValues: EntityType.values)
    ..aOS(5, _omitFieldNames ? '' : 'Label', protoName: 'Label')
    ..e<SharePolicy>(6, _omitFieldNames ? '' : 'SharePolicy', $pb.PbFieldType.OE, protoName: 'SharePolicy', defaultOrMaker: SharePolicy.SHARE_POLICY_UNKNOWN, valueOf: SharePolicy.valueOf, enumValues: SharePolicy.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')
  AttachmentType clone() => AttachmentType()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  AttachmentType copyWith(void Function(AttachmentType) updates) => super.copyWith((message) => updates(message as AttachmentType)) as AttachmentType;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static AttachmentType create() => AttachmentType._();
  AttachmentType createEmptyInstance() => create();
  static $pb.PbList<AttachmentType> createRepeated() => $pb.PbList<AttachmentType>();
  @$core.pragma('dart2js:noInline')
  static AttachmentType getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<AttachmentType>(create);
  static AttachmentType? _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 projectID => $_getSZ(1);
  @$pb.TagNumber(2)
  set projectID($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasProjectID() => $_has(1);
  @$pb.TagNumber(2)
  void clearProjectID() => $_clearField(2);

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

  @$pb.TagNumber(4)
  EntityType get entity => $_getN(3);
  @$pb.TagNumber(4)
  set entity(EntityType v) { $_setField(4, v); }
  @$pb.TagNumber(4)
  $core.bool hasEntity() => $_has(3);
  @$pb.TagNumber(4)
  void clearEntity() => $_clearField(4);

  @$pb.TagNumber(5)
  $core.String get label => $_getSZ(4);
  @$pb.TagNumber(5)
  set label($core.String v) { $_setString(4, v); }
  @$pb.TagNumber(5)
  $core.bool hasLabel() => $_has(4);
  @$pb.TagNumber(5)
  void clearLabel() => $_clearField(5);

  @$pb.TagNumber(6)
  SharePolicy get sharePolicy => $_getN(5);
  @$pb.TagNumber(6)
  set sharePolicy(SharePolicy v) { $_setField(6, v); }
  @$pb.TagNumber(6)
  $core.bool hasSharePolicy() => $_has(5);
  @$pb.TagNumber(6)
  void clearSharePolicy() => $_clearField(6);
}

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

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'AttachmentSummary', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'AttachmentTypeID', protoName: 'AttachmentTypeID')
    ..aOS(2, _omitFieldNames ? '' : 'AttachmentTypeCode', protoName: 'AttachmentTypeCode')
    ..a<$core.int>(3, _omitFieldNames ? '' : 'Number', $pb.PbFieldType.O3, protoName: 'Number')
    ..hasRequiredFields = false
  ;

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

  $pb.BuilderInfo get info_ => _i;

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

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

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

  @$pb.TagNumber(3)
  $core.int get number => $_getIZ(2);
  @$pb.TagNumber(3)
  set number($core.int v) { $_setSignedInt32(2, v); }
  @$pb.TagNumber(3)
  $core.bool hasNumber() => $_has(2);
  @$pb.TagNumber(3)
  void clearNumber() => $_clearField(3);
}

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

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'TranslationMap', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..m<$core.String, $core.String>(1, _omitFieldNames ? '' : 'data', entryClassName: 'TranslationMap.DataEntry', keyFieldType: $pb.PbFieldType.OS, valueFieldType: $pb.PbFieldType.OS, packageName: const $pb.PackageName('api'))
    ..hasRequiredFields = false
  ;

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

  $pb.BuilderInfo get info_ => _i;

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

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

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

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ExtractColumnFormat', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..e<ExtractColumnFormat_type>(1, _omitFieldNames ? '' : 'Type', $pb.PbFieldType.OE, protoName: 'Type', defaultOrMaker: ExtractColumnFormat_type.UNKNOWN, valueOf: ExtractColumnFormat_type.valueOf, enumValues: ExtractColumnFormat_type.values)
    ..aOS(2, _omitFieldNames ? '' : 'Format', protoName: 'Format')
    ..e<DisplayDate>(3, _omitFieldNames ? '' : 'DisplayDate', $pb.PbFieldType.OE, protoName: 'DisplayDate', defaultOrMaker: DisplayDate.DATE, valueOf: DisplayDate.valueOf, enumValues: DisplayDate.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')
  ExtractColumnFormat clone() => ExtractColumnFormat()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  ExtractColumnFormat copyWith(void Function(ExtractColumnFormat) updates) => super.copyWith((message) => updates(message as ExtractColumnFormat)) as ExtractColumnFormat;

  $pb.BuilderInfo get info_ => _i;

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

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

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

  @$pb.TagNumber(3)
  DisplayDate get displayDate => $_getN(2);
  @$pb.TagNumber(3)
  set displayDate(DisplayDate v) { $_setField(3, v); }
  @$pb.TagNumber(3)
  $core.bool hasDisplayDate() => $_has(2);
  @$pb.TagNumber(3)
  void clearDisplayDate() => $_clearField(3);
}

class ExtractQuery extends $pb.GeneratedMessage {
  factory ExtractQuery({
    QueryProjectHeader? header,
    $core.String? userId,
    $core.Iterable<BlockFilter>? blockFilters,
    $core.Iterable<$core.String>? fields,
    $core.String? listSeparator,
    $core.String? decimalSeparator,
    $core.Iterable<$core.String>? columnNames,
    $core.Iterable<$core.MapEntry<$core.String, TranslationMap>>? columnTranslationMaps,
    $core.Iterable<$core.MapEntry<$core.int, ExtractColumnFormat>>? columnFormats,
    $core.String? targetTimeZone,
    $core.String? dateFormat,
    $core.String? numberFormat,
    TimeFormat? timeFormat,
  }) {
    final $result = create();
    if (header != null) {
      $result.header = header;
    }
    if (userId != null) {
      $result.userId = userId;
    }
    if (blockFilters != null) {
      $result.blockFilters.addAll(blockFilters);
    }
    if (fields != null) {
      $result.fields.addAll(fields);
    }
    if (listSeparator != null) {
      $result.listSeparator = listSeparator;
    }
    if (decimalSeparator != null) {
      $result.decimalSeparator = decimalSeparator;
    }
    if (columnNames != null) {
      $result.columnNames.addAll(columnNames);
    }
    if (columnTranslationMaps != null) {
      $result.columnTranslationMaps.addEntries(columnTranslationMaps);
    }
    if (columnFormats != null) {
      $result.columnFormats.addEntries(columnFormats);
    }
    if (targetTimeZone != null) {
      $result.targetTimeZone = targetTimeZone;
    }
    if (dateFormat != null) {
      $result.dateFormat = dateFormat;
    }
    if (numberFormat != null) {
      $result.numberFormat = numberFormat;
    }
    if (timeFormat != null) {
      $result.timeFormat = timeFormat;
    }
    return $result;
  }
  ExtractQuery._() : super();
  factory ExtractQuery.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory ExtractQuery.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ExtractQuery', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOM<QueryProjectHeader>(1, _omitFieldNames ? '' : 'Header', protoName: 'Header', subBuilder: QueryProjectHeader.create)
    ..aOS(2, _omitFieldNames ? '' : 'UserId', protoName: 'UserId')
    ..pc<BlockFilter>(3, _omitFieldNames ? '' : 'BlockFilters', $pb.PbFieldType.PM, protoName: 'BlockFilters', subBuilder: BlockFilter.create)
    ..pPS(4, _omitFieldNames ? '' : 'Fields', protoName: 'Fields')
    ..aOS(5, _omitFieldNames ? '' : 'ListSeparator', protoName: 'ListSeparator')
    ..aOS(6, _omitFieldNames ? '' : 'DecimalSeparator', protoName: 'DecimalSeparator')
    ..pPS(7, _omitFieldNames ? '' : 'ColumnNames', protoName: 'ColumnNames')
    ..m<$core.String, TranslationMap>(8, _omitFieldNames ? '' : 'ColumnTranslationMaps', protoName: 'ColumnTranslationMaps', entryClassName: 'ExtractQuery.ColumnTranslationMapsEntry', keyFieldType: $pb.PbFieldType.OS, valueFieldType: $pb.PbFieldType.OM, valueCreator: TranslationMap.create, valueDefaultOrMaker: TranslationMap.getDefault, packageName: const $pb.PackageName('api'))
    ..m<$core.int, ExtractColumnFormat>(9, _omitFieldNames ? '' : 'ColumnFormats', protoName: 'ColumnFormats', entryClassName: 'ExtractQuery.ColumnFormatsEntry', keyFieldType: $pb.PbFieldType.O3, valueFieldType: $pb.PbFieldType.OM, valueCreator: ExtractColumnFormat.create, valueDefaultOrMaker: ExtractColumnFormat.getDefault, packageName: const $pb.PackageName('api'))
    ..aOS(10, _omitFieldNames ? '' : 'TargetTimeZone', protoName: 'TargetTimeZone')
    ..aOS(11, _omitFieldNames ? '' : 'DateFormat', protoName: 'DateFormat')
    ..aOS(12, _omitFieldNames ? '' : 'NumberFormat', protoName: 'NumberFormat')
    ..e<TimeFormat>(13, _omitFieldNames ? '' : 'TimeFormat', $pb.PbFieldType.OE, protoName: 'TimeFormat', defaultOrMaker: TimeFormat.H12, valueOf: TimeFormat.valueOf, enumValues: TimeFormat.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')
  ExtractQuery clone() => ExtractQuery()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  ExtractQuery copyWith(void Function(ExtractQuery) updates) => super.copyWith((message) => updates(message as ExtractQuery)) as ExtractQuery;

  $pb.BuilderInfo get info_ => _i;

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

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

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

  @$pb.TagNumber(3)
  $pb.PbList<BlockFilter> get blockFilters => $_getList(2);

  @$pb.TagNumber(4)
  $pb.PbList<$core.String> get fields => $_getList(3);

  @$pb.TagNumber(5)
  $core.String get listSeparator => $_getSZ(4);
  @$pb.TagNumber(5)
  set listSeparator($core.String v) { $_setString(4, v); }
  @$pb.TagNumber(5)
  $core.bool hasListSeparator() => $_has(4);
  @$pb.TagNumber(5)
  void clearListSeparator() => $_clearField(5);

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

  @$pb.TagNumber(7)
  $pb.PbList<$core.String> get columnNames => $_getList(6);

  @$pb.TagNumber(8)
  $pb.PbMap<$core.String, TranslationMap> get columnTranslationMaps => $_getMap(7);

  @$pb.TagNumber(9)
  $pb.PbMap<$core.int, ExtractColumnFormat> get columnFormats => $_getMap(8);

  @$pb.TagNumber(10)
  $core.String get targetTimeZone => $_getSZ(9);
  @$pb.TagNumber(10)
  set targetTimeZone($core.String v) { $_setString(9, v); }
  @$pb.TagNumber(10)
  $core.bool hasTargetTimeZone() => $_has(9);
  @$pb.TagNumber(10)
  void clearTargetTimeZone() => $_clearField(10);

  @$pb.TagNumber(11)
  $core.String get dateFormat => $_getSZ(10);
  @$pb.TagNumber(11)
  set dateFormat($core.String v) { $_setString(10, v); }
  @$pb.TagNumber(11)
  $core.bool hasDateFormat() => $_has(10);
  @$pb.TagNumber(11)
  void clearDateFormat() => $_clearField(11);

  @$pb.TagNumber(12)
  $core.String get numberFormat => $_getSZ(11);
  @$pb.TagNumber(12)
  set numberFormat($core.String v) { $_setString(11, v); }
  @$pb.TagNumber(12)
  $core.bool hasNumberFormat() => $_has(11);
  @$pb.TagNumber(12)
  void clearNumberFormat() => $_clearField(12);

  @$pb.TagNumber(13)
  TimeFormat get timeFormat => $_getN(12);
  @$pb.TagNumber(13)
  set timeFormat(TimeFormat v) { $_setField(13, v); }
  @$pb.TagNumber(13)
  $core.bool hasTimeFormat() => $_has(12);
  @$pb.TagNumber(13)
  void clearTimeFormat() => $_clearField(13);
}

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

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

  $pb.BuilderInfo get info_ => _i;

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

  @$pb.TagNumber(1)
  WorkflowExecutionResult get workflowExecution => $_getN(0);
  @$pb.TagNumber(1)
  set workflowExecution(WorkflowExecutionResult v) { $_setField(1, v); }
  @$pb.TagNumber(1)
  $core.bool hasWorkflowExecution() => $_has(0);
  @$pb.TagNumber(1)
  void clearWorkflowExecution() => $_clearField(1);
  @$pb.TagNumber(1)
  WorkflowExecutionResult ensureWorkflowExecution() => $_ensure(0);
}

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

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'CountLinesQuery', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'ProjectID', protoName: 'ProjectID')
    ..a<$core.int>(2, _omitFieldNames ? '' : 'Partition', $pb.PbFieldType.O3, protoName: 'Partition')
    ..hasRequiredFields = false
  ;

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

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static CountLinesQuery create() => CountLinesQuery._();
  CountLinesQuery createEmptyInstance() => create();
  static $pb.PbList<CountLinesQuery> createRepeated() => $pb.PbList<CountLinesQuery>();
  @$core.pragma('dart2js:noInline')
  static CountLinesQuery getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<CountLinesQuery>(create);
  static CountLinesQuery? _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.int get partition => $_getIZ(1);
  @$pb.TagNumber(2)
  set partition($core.int v) { $_setSignedInt32(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasPartition() => $_has(1);
  @$pb.TagNumber(2)
  void clearPartition() => $_clearField(2);
}

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

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'CountLinesResult', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..a<$core.int>(1, _omitFieldNames ? '' : 'NbLines', $pb.PbFieldType.O3, protoName: 'NbLines')
    ..hasRequiredFields = false
  ;

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

  $pb.BuilderInfo get info_ => _i;

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

  @$pb.TagNumber(1)
  $core.int get nbLines => $_getIZ(0);
  @$pb.TagNumber(1)
  set nbLines($core.int v) { $_setSignedInt32(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasNbLines() => $_has(0);
  @$pb.TagNumber(1)
  void clearNbLines() => $_clearField(1);
}

class Scope extends $pb.GeneratedMessage {
  factory Scope({
    $core.String? service,
    $core.String? method,
    ResourceType? rscType,
    $core.bool? platformReserved,
    $core.Iterable<Permission>? transientPermissions,
    $core.String? rscID,
    $core.Iterable<$core.String>? appliesOnIDs,
    $core.String? moduleID,
    $core.bool? mandatory,
  }) {
    final $result = create();
    if (service != null) {
      $result.service = service;
    }
    if (method != null) {
      $result.method = method;
    }
    if (rscType != null) {
      $result.rscType = rscType;
    }
    if (platformReserved != null) {
      $result.platformReserved = platformReserved;
    }
    if (transientPermissions != null) {
      $result.transientPermissions.addAll(transientPermissions);
    }
    if (rscID != null) {
      $result.rscID = rscID;
    }
    if (appliesOnIDs != null) {
      $result.appliesOnIDs.addAll(appliesOnIDs);
    }
    if (moduleID != null) {
      $result.moduleID = moduleID;
    }
    if (mandatory != null) {
      $result.mandatory = mandatory;
    }
    return $result;
  }
  Scope._() : super();
  factory Scope.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory Scope.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'Scope', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'Service', protoName: 'Service')
    ..aOS(2, _omitFieldNames ? '' : 'Method', protoName: 'Method')
    ..e<ResourceType>(3, _omitFieldNames ? '' : 'RscType', $pb.PbFieldType.OE, protoName: 'RscType', defaultOrMaker: ResourceType.RESOURCE_TYPE_UNKNOWN, valueOf: ResourceType.valueOf, enumValues: ResourceType.values)
    ..aOB(4, _omitFieldNames ? '' : 'PlatformReserved', protoName: 'PlatformReserved')
    ..pc<Permission>(5, _omitFieldNames ? '' : 'TransientPermissions', $pb.PbFieldType.PM, protoName: 'TransientPermissions', subBuilder: Permission.create)
    ..aOS(6, _omitFieldNames ? '' : 'RscID', protoName: 'RscID')
    ..pPS(7, _omitFieldNames ? '' : 'AppliesOnIDs', protoName: 'AppliesOnIDs')
    ..aOS(8, _omitFieldNames ? '' : 'ModuleID', protoName: 'ModuleID')
    ..aOB(9, _omitFieldNames ? '' : 'Mandatory', protoName: 'Mandatory')
    ..hasRequiredFields = false
  ;

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

  $pb.BuilderInfo get info_ => _i;

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

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

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

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

  @$pb.TagNumber(4)
  $core.bool get platformReserved => $_getBF(3);
  @$pb.TagNumber(4)
  set platformReserved($core.bool v) { $_setBool(3, v); }
  @$pb.TagNumber(4)
  $core.bool hasPlatformReserved() => $_has(3);
  @$pb.TagNumber(4)
  void clearPlatformReserved() => $_clearField(4);

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

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

  @$pb.TagNumber(7)
  $pb.PbList<$core.String> get appliesOnIDs => $_getList(6);

  @$pb.TagNumber(8)
  $core.String get moduleID => $_getSZ(7);
  @$pb.TagNumber(8)
  set moduleID($core.String v) { $_setString(7, v); }
  @$pb.TagNumber(8)
  $core.bool hasModuleID() => $_has(7);
  @$pb.TagNumber(8)
  void clearModuleID() => $_clearField(8);

  @$pb.TagNumber(9)
  $core.bool get mandatory => $_getBF(8);
  @$pb.TagNumber(9)
  set mandatory($core.bool v) { $_setBool(8, v); }
  @$pb.TagNumber(9)
  $core.bool hasMandatory() => $_has(8);
  @$pb.TagNumber(9)
  void clearMandatory() => $_clearField(9);
}

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

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ClientAPI', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'Client', protoName: 'Client')
    ..pc<Scope>(2, _omitFieldNames ? '' : 'APIs', $pb.PbFieldType.PM, protoName: 'APIs', subBuilder: Scope.create)
    ..aOS(3, _omitFieldNames ? '' : 'Roles', protoName: 'Roles')
    ..hasRequiredFields = false
  ;

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

  $pb.BuilderInfo get info_ => _i;

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

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

  @$pb.TagNumber(2)
  $pb.PbList<Scope> get aPIs => $_getList(1);

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

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

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

  $pb.BuilderInfo get info_ => _i;

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

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

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

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

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'UserUIPermissions', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..e<ResourceType>(1, _omitFieldNames ? '' : 'RscType', $pb.PbFieldType.OE, protoName: 'RscType', defaultOrMaker: ResourceType.RESOURCE_TYPE_UNKNOWN, valueOf: ResourceType.valueOf, enumValues: ResourceType.values)
    ..aOS(2, _omitFieldNames ? '' : 'RscID', protoName: 'RscID')
    ..pc<Scope>(3, _omitFieldNames ? '' : 'Scopes', $pb.PbFieldType.PM, protoName: 'Scopes', subBuilder: Scope.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')
  UserUIPermissions clone() => UserUIPermissions()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  UserUIPermissions copyWith(void Function(UserUIPermissions) updates) => super.copyWith((message) => updates(message as UserUIPermissions)) as UserUIPermissions;

  $pb.BuilderInfo get info_ => _i;

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

  @$pb.TagNumber(1)
  ResourceType get rscType => $_getN(0);
  @$pb.TagNumber(1)
  set rscType(ResourceType v) { $_setField(1, v); }
  @$pb.TagNumber(1)
  $core.bool hasRscType() => $_has(0);
  @$pb.TagNumber(1)
  void clearRscType() => $_clearField(1);

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

  @$pb.TagNumber(3)
  $pb.PbList<Scope> get scopes => $_getList(2);
}

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

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

  $pb.BuilderInfo get info_ => _i;

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

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

  /// list of blockFilters structure for Find query, each element (BlockFilter) in the list is an "OR" part of the query
  @$pb.TagNumber(2)
  $pb.PbList<BlockFilter> get blockFilters => $_getList(1);

  /// MatchElementField structure, containing wanted match string, and the fields to get.
  @$pb.TagNumber(3)
  MatchElementField get matchElementField => $_getN(2);
  @$pb.TagNumber(3)
  set matchElementField(MatchElementField v) { $_setField(3, v); }
  @$pb.TagNumber(3)
  $core.bool hasMatchElementField() => $_has(2);
  @$pb.TagNumber(3)
  void clearMatchElementField() => $_clearField(3);
  @$pb.TagNumber(3)
  MatchElementField ensureMatchElementField() => $_ensure(2);
}

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

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

  $pb.BuilderInfo get info_ => _i;

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

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

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

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

  $pb.BuilderInfo get info_ => _i;

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

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

  /// MatchField list structure, for FindMatching query
  @$pb.TagNumber(2)
  $pb.PbList<MatchField> get matchFields => $_getList(1);
}

///
///  Standard structure, having an map of elements (key,value)
class MatchFieldElementResult extends $pb.GeneratedMessage {
  factory MatchFieldElementResult({
    $core.Iterable<$core.MapEntry<$core.String, $core.String>>? matchingElements,
  }) {
    final $result = create();
    if (matchingElements != null) {
      $result.matchingElements.addEntries(matchingElements);
    }
    return $result;
  }
  MatchFieldElementResult._() : super();
  factory MatchFieldElementResult.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory MatchFieldElementResult.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'MatchFieldElementResult', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..m<$core.String, $core.String>(3, _omitFieldNames ? '' : 'MatchingElements', protoName: 'MatchingElements', entryClassName: 'MatchFieldElementResult.MatchingElementsEntry', keyFieldType: $pb.PbFieldType.OS, valueFieldType: $pb.PbFieldType.OS, packageName: const $pb.PackageName('api'))
    ..hasRequiredFields = false
  ;

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

  $pb.BuilderInfo get info_ => _i;

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

  @$pb.TagNumber(3)
  $pb.PbMap<$core.String, $core.String> get matchingElements => $_getMap(0);
}


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