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

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

import 'dart:core' as $core;

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

import 'collabShared.pb.dart' as $70;
import 'shared.pb.dart' as $3;
import 'shared.pbenum.dart' as $3;

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

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

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

  $pb.BuilderInfo get info_ => _i;

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

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

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

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

class ClaimPayload extends $pb.GeneratedMessage {
  factory ClaimPayload({
    $core.String? claimTypeID,
    $core.String? entityID,
    $3.ClaimCriticality? criticality,
    $70.ClaimStatusStruct? status,
    $core.String? creationDate,
    $core.Iterable<$core.String>? assignees,
    $core.String? endComment,
    $3.ClaimClosure? closure,
    $core.Iterable<$3.AttachmentSummary>? attachments,
    $core.int? attachmentNumber,
    $3.Amount? amount,
    $core.String? reason,
    $3.ClaimSector? sector,
    $3.ClaimEntityType? entityType,
    $core.Iterable<$core.String>? removedAssignees,
    $core.Iterable<$core.String>? addedAssignees,
    $core.String? reasonCode,
    $core.Iterable<$3.MetadataElement>? metaData,
    $core.String? title,
    $core.String? displayID,
  }) {
    final $result = create();
    if (claimTypeID != null) {
      $result.claimTypeID = claimTypeID;
    }
    if (entityID != null) {
      $result.entityID = entityID;
    }
    if (criticality != null) {
      $result.criticality = criticality;
    }
    if (status != null) {
      $result.status = status;
    }
    if (creationDate != null) {
      $result.creationDate = creationDate;
    }
    if (assignees != null) {
      $result.assignees.addAll(assignees);
    }
    if (endComment != null) {
      $result.endComment = endComment;
    }
    if (closure != null) {
      $result.closure = closure;
    }
    if (attachments != null) {
      $result.attachments.addAll(attachments);
    }
    if (attachmentNumber != null) {
      $result.attachmentNumber = attachmentNumber;
    }
    if (amount != null) {
      $result.amount = amount;
    }
    if (reason != null) {
      $result.reason = reason;
    }
    if (sector != null) {
      $result.sector = sector;
    }
    if (entityType != null) {
      $result.entityType = entityType;
    }
    if (removedAssignees != null) {
      $result.removedAssignees.addAll(removedAssignees);
    }
    if (addedAssignees != null) {
      $result.addedAssignees.addAll(addedAssignees);
    }
    if (reasonCode != null) {
      $result.reasonCode = reasonCode;
    }
    if (metaData != null) {
      $result.metaData.addAll(metaData);
    }
    if (title != null) {
      $result.title = title;
    }
    if (displayID != null) {
      $result.displayID = displayID;
    }
    return $result;
  }
  ClaimPayload._() : super();
  factory ClaimPayload.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory ClaimPayload.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ClaimPayload', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'ClaimTypeID', protoName: 'ClaimTypeID')
    ..aOS(2, _omitFieldNames ? '' : 'EntityID', protoName: 'EntityID')
    ..e<$3.ClaimCriticality>(3, _omitFieldNames ? '' : 'Criticality', $pb.PbFieldType.OE, protoName: 'Criticality', defaultOrMaker: $3.ClaimCriticality.CLAIM_CRITICALITY_UNKNOWN, valueOf: $3.ClaimCriticality.valueOf, enumValues: $3.ClaimCriticality.values)
    ..aOM<$70.ClaimStatusStruct>(4, _omitFieldNames ? '' : 'Status', protoName: 'Status', subBuilder: $70.ClaimStatusStruct.create)
    ..aOS(6, _omitFieldNames ? '' : 'CreationDate', protoName: 'CreationDate')
    ..pPS(7, _omitFieldNames ? '' : 'Assignees', protoName: 'Assignees')
    ..aOS(8, _omitFieldNames ? '' : 'EndComment', protoName: 'EndComment')
    ..aOM<$3.ClaimClosure>(9, _omitFieldNames ? '' : 'Closure', protoName: 'Closure', subBuilder: $3.ClaimClosure.create)
    ..pc<$3.AttachmentSummary>(10, _omitFieldNames ? '' : 'Attachments', $pb.PbFieldType.PM, protoName: 'Attachments', subBuilder: $3.AttachmentSummary.create)
    ..a<$core.int>(11, _omitFieldNames ? '' : 'AttachmentNumber', $pb.PbFieldType.O3, protoName: 'AttachmentNumber')
    ..aOM<$3.Amount>(12, _omitFieldNames ? '' : 'Amount', protoName: 'Amount', subBuilder: $3.Amount.create)
    ..aOS(13, _omitFieldNames ? '' : 'Reason', protoName: 'Reason')
    ..e<$3.ClaimSector>(14, _omitFieldNames ? '' : 'Sector', $pb.PbFieldType.OE, protoName: 'Sector', defaultOrMaker: $3.ClaimSector.CLAIM_SECTOR_UNKNOWN, valueOf: $3.ClaimSector.valueOf, enumValues: $3.ClaimSector.values)
    ..e<$3.ClaimEntityType>(15, _omitFieldNames ? '' : 'EntityType', $pb.PbFieldType.OE, protoName: 'EntityType', defaultOrMaker: $3.ClaimEntityType.CLAIM_ENTITY_TYPE_UNKNOWN, valueOf: $3.ClaimEntityType.valueOf, enumValues: $3.ClaimEntityType.values)
    ..pPS(16, _omitFieldNames ? '' : 'RemovedAssignees', protoName: 'RemovedAssignees')
    ..pPS(17, _omitFieldNames ? '' : 'AddedAssignees', protoName: 'AddedAssignees')
    ..aOS(18, _omitFieldNames ? '' : 'ReasonCode', protoName: 'ReasonCode')
    ..pc<$3.MetadataElement>(19, _omitFieldNames ? '' : 'MetaData', $pb.PbFieldType.PM, protoName: 'MetaData', subBuilder: $3.MetadataElement.create)
    ..aOS(20, _omitFieldNames ? '' : 'Title', protoName: 'Title')
    ..aOS(21, _omitFieldNames ? '' : 'DisplayID', protoName: 'DisplayID')
    ..hasRequiredFields = false
  ;

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

  $pb.BuilderInfo get info_ => _i;

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

  /// Identifier of the targetted entity
  @$pb.TagNumber(2)
  $core.String get entityID => $_getSZ(1);
  @$pb.TagNumber(2)
  set entityID($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasEntityID() => $_has(1);
  @$pb.TagNumber(2)
  void clearEntityID() => $_clearField(2);

  /// Criticality of the claim
  @$pb.TagNumber(3)
  $3.ClaimCriticality get criticality => $_getN(2);
  @$pb.TagNumber(3)
  set criticality($3.ClaimCriticality v) { $_setField(3, v); }
  @$pb.TagNumber(3)
  $core.bool hasCriticality() => $_has(2);
  @$pb.TagNumber(3)
  void clearCriticality() => $_clearField(3);

  /// Status of the claim
  @$pb.TagNumber(4)
  $70.ClaimStatusStruct get status => $_getN(3);
  @$pb.TagNumber(4)
  set status($70.ClaimStatusStruct v) { $_setField(4, v); }
  @$pb.TagNumber(4)
  $core.bool hasStatus() => $_has(3);
  @$pb.TagNumber(4)
  void clearStatus() => $_clearField(4);
  @$pb.TagNumber(4)
  $70.ClaimStatusStruct ensureStatus() => $_ensure(3);

  /// Creation date of the claim
  @$pb.TagNumber(6)
  $core.String get creationDate => $_getSZ(4);
  @$pb.TagNumber(6)
  set creationDate($core.String v) { $_setString(4, v); }
  @$pb.TagNumber(6)
  $core.bool hasCreationDate() => $_has(4);
  @$pb.TagNumber(6)
  void clearCreationDate() => $_clearField(6);

  /// Contacts assigned on the claim
  @$pb.TagNumber(7)
  $pb.PbList<$core.String> get assignees => $_getList(5);

  /// End comment of the claim
  @$pb.TagNumber(8)
  $core.String get endComment => $_getSZ(6);
  @$pb.TagNumber(8)
  set endComment($core.String v) { $_setString(6, v); }
  @$pb.TagNumber(8)
  $core.bool hasEndComment() => $_has(6);
  @$pb.TagNumber(8)
  void clearEndComment() => $_clearField(8);

  /// Closure responsible and causes of the claim
  @$pb.TagNumber(9)
  $3.ClaimClosure get closure => $_getN(7);
  @$pb.TagNumber(9)
  set closure($3.ClaimClosure v) { $_setField(9, v); }
  @$pb.TagNumber(9)
  $core.bool hasClosure() => $_has(7);
  @$pb.TagNumber(9)
  void clearClosure() => $_clearField(9);
  @$pb.TagNumber(9)
  $3.ClaimClosure ensureClosure() => $_ensure(7);

  @$pb.TagNumber(10)
  $pb.PbList<$3.AttachmentSummary> get attachments => $_getList(8);

  @$pb.TagNumber(11)
  $core.int get attachmentNumber => $_getIZ(9);
  @$pb.TagNumber(11)
  set attachmentNumber($core.int v) { $_setSignedInt32(9, v); }
  @$pb.TagNumber(11)
  $core.bool hasAttachmentNumber() => $_has(9);
  @$pb.TagNumber(11)
  void clearAttachmentNumber() => $_clearField(11);

  @$pb.TagNumber(12)
  $3.Amount get amount => $_getN(10);
  @$pb.TagNumber(12)
  set amount($3.Amount v) { $_setField(12, v); }
  @$pb.TagNumber(12)
  $core.bool hasAmount() => $_has(10);
  @$pb.TagNumber(12)
  void clearAmount() => $_clearField(12);
  @$pb.TagNumber(12)
  $3.Amount ensureAmount() => $_ensure(10);

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

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

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

  /// Contacts assigned removed from the claim
  @$pb.TagNumber(16)
  $pb.PbList<$core.String> get removedAssignees => $_getList(14);

  /// Contacts assigned added from the claim
  @$pb.TagNumber(17)
  $pb.PbList<$core.String> get addedAssignees => $_getList(15);

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

  /// Metadata are characteristics specific to the project. They can be of several data form (string, integer, float, boolean or timestamp)
  @$pb.TagNumber(19)
  $pb.PbList<$3.MetadataElement> get metaData => $_getList(17);

  /// Title of the claim
  @$pb.TagNumber(20)
  $core.String get title => $_getSZ(18);
  @$pb.TagNumber(20)
  set title($core.String v) { $_setString(18, v); }
  @$pb.TagNumber(20)
  $core.bool hasTitle() => $_has(18);
  @$pb.TagNumber(20)
  void clearTitle() => $_clearField(20);

  /// Identifier to display, because it may differ from the EntityID
  @$pb.TagNumber(21)
  $core.String get displayID => $_getSZ(19);
  @$pb.TagNumber(21)
  set displayID($core.String v) { $_setString(19, v); }
  @$pb.TagNumber(21)
  $core.bool hasDisplayID() => $_has(19);
  @$pb.TagNumber(21)
  void clearDisplayID() => $_clearField(21);
}

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

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

  $pb.BuilderInfo get info_ => _i;

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

  @$pb.TagNumber(1)
  Claim get current => $_getN(0);
  @$pb.TagNumber(1)
  set current(Claim v) { $_setField(1, v); }
  @$pb.TagNumber(1)
  $core.bool hasCurrent() => $_has(0);
  @$pb.TagNumber(1)
  void clearCurrent() => $_clearField(1);
  @$pb.TagNumber(1)
  Claim ensureCurrent() => $_ensure(0);

  @$pb.TagNumber(2)
  Claim get previous => $_getN(1);
  @$pb.TagNumber(2)
  set previous(Claim v) { $_setField(2, v); }
  @$pb.TagNumber(2)
  $core.bool hasPrevious() => $_has(1);
  @$pb.TagNumber(2)
  void clearPrevious() => $_clearField(2);
  @$pb.TagNumber(2)
  Claim ensurePrevious() => $_ensure(1);

  @$pb.TagNumber(3)
  Claim get lastEvent => $_getN(2);
  @$pb.TagNumber(3)
  set lastEvent(Claim v) { $_setField(3, v); }
  @$pb.TagNumber(3)
  $core.bool hasLastEvent() => $_has(2);
  @$pb.TagNumber(3)
  void clearLastEvent() => $_clearField(3);
  @$pb.TagNumber(3)
  Claim ensureLastEvent() => $_ensure(2);
}


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