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

// @dart = 3.3

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

import 'dart:core' as $core;

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

import 'actor.pb.dart' as $3;
import 'partner.pb.dart' as $4;
import 'shared.pb.dart' as $1;
import 'tradeShared.pb.dart' as $2;
import 'transportShared.pb.dart' as $0;

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

class TrackingPayload extends $pb.GeneratedMessage {
  factory TrackingPayload({
    $core.String? handlingunitID,
    $core.String? trackingURL,
    $core.Iterable<$0.TrackingEvent>? events,
    $core.String? nextTrackingID,
    $core.String? nextTrackingURL,
    $0.TrackingStatusStruct? status,
    $1.DateTime? dispatchedDateTime,
    $2.TradeTier? hUCarrier,
    $2.TradeTier? hUShipFrom,
    $2.TradeTier? hUShipTo,
    $2.TradeTier? nextHUCarrier,
    $2.TradeTier? nextHUShipFrom,
    $2.TradeTier? nextHUShipTo,
    $core.Iterable<$1.AttachmentSummary>? attachments,
    $core.int? attachmentNumber,
    $2.ETA? trackingETA,
  }) {
    final result = create();
    if (handlingunitID != null) result.handlingunitID = handlingunitID;
    if (trackingURL != null) result.trackingURL = trackingURL;
    if (events != null) result.events.addAll(events);
    if (nextTrackingID != null) result.nextTrackingID = nextTrackingID;
    if (nextTrackingURL != null) result.nextTrackingURL = nextTrackingURL;
    if (status != null) result.status = status;
    if (dispatchedDateTime != null) result.dispatchedDateTime = dispatchedDateTime;
    if (hUCarrier != null) result.hUCarrier = hUCarrier;
    if (hUShipFrom != null) result.hUShipFrom = hUShipFrom;
    if (hUShipTo != null) result.hUShipTo = hUShipTo;
    if (nextHUCarrier != null) result.nextHUCarrier = nextHUCarrier;
    if (nextHUShipFrom != null) result.nextHUShipFrom = nextHUShipFrom;
    if (nextHUShipTo != null) result.nextHUShipTo = nextHUShipTo;
    if (attachments != null) result.attachments.addAll(attachments);
    if (attachmentNumber != null) result.attachmentNumber = attachmentNumber;
    if (trackingETA != null) result.trackingETA = trackingETA;
    return result;
  }

  TrackingPayload._();

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

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'TrackingPayload', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'HandlingunitID', protoName: 'HandlingunitID')
    ..aOS(2, _omitFieldNames ? '' : 'TrackingURL', protoName: 'TrackingURL')
    ..pc<$0.TrackingEvent>(3, _omitFieldNames ? '' : 'Events', $pb.PbFieldType.PM, protoName: 'Events', subBuilder: $0.TrackingEvent.create)
    ..aOS(4, _omitFieldNames ? '' : 'NextTrackingID', protoName: 'NextTrackingID')
    ..aOS(5, _omitFieldNames ? '' : 'NextTrackingURL', protoName: 'NextTrackingURL')
    ..aOM<$0.TrackingStatusStruct>(7, _omitFieldNames ? '' : 'Status', protoName: 'Status', subBuilder: $0.TrackingStatusStruct.create)
    ..aOM<$1.DateTime>(8, _omitFieldNames ? '' : 'DispatchedDateTime', protoName: 'DispatchedDateTime', subBuilder: $1.DateTime.create)
    ..aOM<$2.TradeTier>(9, _omitFieldNames ? '' : 'HUCarrier', protoName: 'HUCarrier', subBuilder: $2.TradeTier.create)
    ..aOM<$2.TradeTier>(10, _omitFieldNames ? '' : 'HUShipFrom', protoName: 'HUShipFrom', subBuilder: $2.TradeTier.create)
    ..aOM<$2.TradeTier>(11, _omitFieldNames ? '' : 'HUShipTo', protoName: 'HUShipTo', subBuilder: $2.TradeTier.create)
    ..aOM<$2.TradeTier>(12, _omitFieldNames ? '' : 'NextHUCarrier', protoName: 'NextHUCarrier', subBuilder: $2.TradeTier.create)
    ..aOM<$2.TradeTier>(13, _omitFieldNames ? '' : 'NextHUShipFrom', protoName: 'NextHUShipFrom', subBuilder: $2.TradeTier.create)
    ..aOM<$2.TradeTier>(14, _omitFieldNames ? '' : 'NextHUShipTo', protoName: 'NextHUShipTo', subBuilder: $2.TradeTier.create)
    ..pc<$1.AttachmentSummary>(15, _omitFieldNames ? '' : 'Attachments', $pb.PbFieldType.PM, protoName: 'Attachments', subBuilder: $1.AttachmentSummary.create)
    ..a<$core.int>(16, _omitFieldNames ? '' : 'AttachmentNumber', $pb.PbFieldType.O3, protoName: 'AttachmentNumber')
    ..aOM<$2.ETA>(19, _omitFieldNames ? '' : 'TrackingETA', protoName: 'TrackingETA', subBuilder: $2.ETA.create)
    ..hasRequiredFields = false
  ;

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

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

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

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

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

  @$pb.TagNumber(3)
  $pb.PbList<$0.TrackingEvent> get events => $_getList(2);

  @$pb.TagNumber(4)
  $core.String get nextTrackingID => $_getSZ(3);
  @$pb.TagNumber(4)
  set nextTrackingID($core.String value) => $_setString(3, value);
  @$pb.TagNumber(4)
  $core.bool hasNextTrackingID() => $_has(3);
  @$pb.TagNumber(4)
  void clearNextTrackingID() => $_clearField(4);

  @$pb.TagNumber(5)
  $core.String get nextTrackingURL => $_getSZ(4);
  @$pb.TagNumber(5)
  set nextTrackingURL($core.String value) => $_setString(4, value);
  @$pb.TagNumber(5)
  $core.bool hasNextTrackingURL() => $_has(4);
  @$pb.TagNumber(5)
  void clearNextTrackingURL() => $_clearField(5);

  @$pb.TagNumber(7)
  $0.TrackingStatusStruct get status => $_getN(5);
  @$pb.TagNumber(7)
  set status($0.TrackingStatusStruct value) => $_setField(7, value);
  @$pb.TagNumber(7)
  $core.bool hasStatus() => $_has(5);
  @$pb.TagNumber(7)
  void clearStatus() => $_clearField(7);
  @$pb.TagNumber(7)
  $0.TrackingStatusStruct ensureStatus() => $_ensure(5);

  @$pb.TagNumber(8)
  $1.DateTime get dispatchedDateTime => $_getN(6);
  @$pb.TagNumber(8)
  set dispatchedDateTime($1.DateTime value) => $_setField(8, value);
  @$pb.TagNumber(8)
  $core.bool hasDispatchedDateTime() => $_has(6);
  @$pb.TagNumber(8)
  void clearDispatchedDateTime() => $_clearField(8);
  @$pb.TagNumber(8)
  $1.DateTime ensureDispatchedDateTime() => $_ensure(6);

  @$pb.TagNumber(9)
  $2.TradeTier get hUCarrier => $_getN(7);
  @$pb.TagNumber(9)
  set hUCarrier($2.TradeTier value) => $_setField(9, value);
  @$pb.TagNumber(9)
  $core.bool hasHUCarrier() => $_has(7);
  @$pb.TagNumber(9)
  void clearHUCarrier() => $_clearField(9);
  @$pb.TagNumber(9)
  $2.TradeTier ensureHUCarrier() => $_ensure(7);

  @$pb.TagNumber(10)
  $2.TradeTier get hUShipFrom => $_getN(8);
  @$pb.TagNumber(10)
  set hUShipFrom($2.TradeTier value) => $_setField(10, value);
  @$pb.TagNumber(10)
  $core.bool hasHUShipFrom() => $_has(8);
  @$pb.TagNumber(10)
  void clearHUShipFrom() => $_clearField(10);
  @$pb.TagNumber(10)
  $2.TradeTier ensureHUShipFrom() => $_ensure(8);

  @$pb.TagNumber(11)
  $2.TradeTier get hUShipTo => $_getN(9);
  @$pb.TagNumber(11)
  set hUShipTo($2.TradeTier value) => $_setField(11, value);
  @$pb.TagNumber(11)
  $core.bool hasHUShipTo() => $_has(9);
  @$pb.TagNumber(11)
  void clearHUShipTo() => $_clearField(11);
  @$pb.TagNumber(11)
  $2.TradeTier ensureHUShipTo() => $_ensure(9);

  @$pb.TagNumber(12)
  $2.TradeTier get nextHUCarrier => $_getN(10);
  @$pb.TagNumber(12)
  set nextHUCarrier($2.TradeTier value) => $_setField(12, value);
  @$pb.TagNumber(12)
  $core.bool hasNextHUCarrier() => $_has(10);
  @$pb.TagNumber(12)
  void clearNextHUCarrier() => $_clearField(12);
  @$pb.TagNumber(12)
  $2.TradeTier ensureNextHUCarrier() => $_ensure(10);

  @$pb.TagNumber(13)
  $2.TradeTier get nextHUShipFrom => $_getN(11);
  @$pb.TagNumber(13)
  set nextHUShipFrom($2.TradeTier value) => $_setField(13, value);
  @$pb.TagNumber(13)
  $core.bool hasNextHUShipFrom() => $_has(11);
  @$pb.TagNumber(13)
  void clearNextHUShipFrom() => $_clearField(13);
  @$pb.TagNumber(13)
  $2.TradeTier ensureNextHUShipFrom() => $_ensure(11);

  @$pb.TagNumber(14)
  $2.TradeTier get nextHUShipTo => $_getN(12);
  @$pb.TagNumber(14)
  set nextHUShipTo($2.TradeTier value) => $_setField(14, value);
  @$pb.TagNumber(14)
  $core.bool hasNextHUShipTo() => $_has(12);
  @$pb.TagNumber(14)
  void clearNextHUShipTo() => $_clearField(14);
  @$pb.TagNumber(14)
  $2.TradeTier ensureNextHUShipTo() => $_ensure(12);

  @$pb.TagNumber(15)
  $pb.PbList<$1.AttachmentSummary> get attachments => $_getList(13);

  @$pb.TagNumber(16)
  $core.int get attachmentNumber => $_getIZ(14);
  @$pb.TagNumber(16)
  set attachmentNumber($core.int value) => $_setSignedInt32(14, value);
  @$pb.TagNumber(16)
  $core.bool hasAttachmentNumber() => $_has(14);
  @$pb.TagNumber(16)
  void clearAttachmentNumber() => $_clearField(16);

  @$pb.TagNumber(19)
  $2.ETA get trackingETA => $_getN(15);
  @$pb.TagNumber(19)
  set trackingETA($2.ETA value) => $_setField(19, value);
  @$pb.TagNumber(19)
  $core.bool hasTrackingETA() => $_has(15);
  @$pb.TagNumber(19)
  void clearTrackingETA() => $_clearField(19);
  @$pb.TagNumber(19)
  $2.ETA ensureTrackingETA() => $_ensure(15);
}

class Tracking extends $pb.GeneratedMessage {
  factory Tracking({
    $1.EventHeader? lastEventHeader,
    $1.EntityID? iD,
    TrackingPayload? payload,
  }) {
    final result = create();
    if (lastEventHeader != null) result.lastEventHeader = lastEventHeader;
    if (iD != null) result.iD = iD;
    if (payload != null) result.payload = payload;
    return result;
  }

  Tracking._();

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

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'Tracking', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOM<$1.EventHeader>(1, _omitFieldNames ? '' : 'LastEventHeader', protoName: 'LastEventHeader', subBuilder: $1.EventHeader.create)
    ..aOM<$1.EntityID>(2, _omitFieldNames ? '' : 'ID', protoName: 'ID', subBuilder: $1.EntityID.create)
    ..aOM<TrackingPayload>(3, _omitFieldNames ? '' : 'Payload', protoName: 'Payload', subBuilder: TrackingPayload.create)
    ..hasRequiredFields = false
  ;

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

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

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

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

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

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

enum TrackingEnrichment_Content {
  actor, 
  partner, 
  notSet
}

class TrackingEnrichment extends $pb.GeneratedMessage {
  factory TrackingEnrichment({
    $core.String? parentEventID,
    $core.String? entityName,
    $core.String? entityRefID,
    $core.String? refFilter,
    $core.String? mergePath,
    $core.String? project,
    $core.String? parentEntityName,
    $core.String? parentEntityID,
    $3.ActorPayload? actor,
    $4.PartnerPayload? partner,
  }) {
    final result = create();
    if (parentEventID != null) result.parentEventID = parentEventID;
    if (entityName != null) result.entityName = entityName;
    if (entityRefID != null) result.entityRefID = entityRefID;
    if (refFilter != null) result.refFilter = refFilter;
    if (mergePath != null) result.mergePath = mergePath;
    if (project != null) result.project = project;
    if (parentEntityName != null) result.parentEntityName = parentEntityName;
    if (parentEntityID != null) result.parentEntityID = parentEntityID;
    if (actor != null) result.actor = actor;
    if (partner != null) result.partner = partner;
    return result;
  }

  TrackingEnrichment._();

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

  static const $core.Map<$core.int, TrackingEnrichment_Content> _TrackingEnrichment_ContentByTag = {
    11 : TrackingEnrichment_Content.actor,
    12 : TrackingEnrichment_Content.partner,
    0 : TrackingEnrichment_Content.notSet
  };
  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'TrackingEnrichment', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..oo(0, [11, 12])
    ..aOS(1, _omitFieldNames ? '' : 'ParentEventID', protoName: 'ParentEventID')
    ..aOS(2, _omitFieldNames ? '' : 'EntityName', protoName: 'EntityName')
    ..aOS(3, _omitFieldNames ? '' : 'EntityRefID', protoName: 'EntityRefID')
    ..aOS(4, _omitFieldNames ? '' : 'RefFilter', protoName: 'RefFilter')
    ..aOS(5, _omitFieldNames ? '' : 'MergePath', protoName: 'MergePath')
    ..aOS(6, _omitFieldNames ? '' : 'Project', protoName: 'Project')
    ..aOS(7, _omitFieldNames ? '' : 'ParentEntityName', protoName: 'ParentEntityName')
    ..aOS(8, _omitFieldNames ? '' : 'ParentEntityID', protoName: 'ParentEntityID')
    ..aOM<$3.ActorPayload>(11, _omitFieldNames ? '' : 'Actor', protoName: 'Actor', subBuilder: $3.ActorPayload.create)
    ..aOM<$4.PartnerPayload>(12, _omitFieldNames ? '' : 'Partner', protoName: 'Partner', subBuilder: $4.PartnerPayload.create)
    ..hasRequiredFields = false
  ;

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

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

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

  TrackingEnrichment_Content whichContent() => _TrackingEnrichment_ContentByTag[$_whichOneof(0)]!;
  void clearContent() => $_clearField($_whichOneof(0));

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

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

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

  @$pb.TagNumber(4)
  $core.String get refFilter => $_getSZ(3);
  @$pb.TagNumber(4)
  set refFilter($core.String value) => $_setString(3, value);
  @$pb.TagNumber(4)
  $core.bool hasRefFilter() => $_has(3);
  @$pb.TagNumber(4)
  void clearRefFilter() => $_clearField(4);

  @$pb.TagNumber(5)
  $core.String get mergePath => $_getSZ(4);
  @$pb.TagNumber(5)
  set mergePath($core.String value) => $_setString(4, value);
  @$pb.TagNumber(5)
  $core.bool hasMergePath() => $_has(4);
  @$pb.TagNumber(5)
  void clearMergePath() => $_clearField(5);

  @$pb.TagNumber(6)
  $core.String get project => $_getSZ(5);
  @$pb.TagNumber(6)
  set project($core.String value) => $_setString(5, value);
  @$pb.TagNumber(6)
  $core.bool hasProject() => $_has(5);
  @$pb.TagNumber(6)
  void clearProject() => $_clearField(6);

  @$pb.TagNumber(7)
  $core.String get parentEntityName => $_getSZ(6);
  @$pb.TagNumber(7)
  set parentEntityName($core.String value) => $_setString(6, value);
  @$pb.TagNumber(7)
  $core.bool hasParentEntityName() => $_has(6);
  @$pb.TagNumber(7)
  void clearParentEntityName() => $_clearField(7);

  @$pb.TagNumber(8)
  $core.String get parentEntityID => $_getSZ(7);
  @$pb.TagNumber(8)
  set parentEntityID($core.String value) => $_setString(7, value);
  @$pb.TagNumber(8)
  $core.bool hasParentEntityID() => $_has(7);
  @$pb.TagNumber(8)
  void clearParentEntityID() => $_clearField(8);

  @$pb.TagNumber(11)
  $3.ActorPayload get actor => $_getN(8);
  @$pb.TagNumber(11)
  set actor($3.ActorPayload value) => $_setField(11, value);
  @$pb.TagNumber(11)
  $core.bool hasActor() => $_has(8);
  @$pb.TagNumber(11)
  void clearActor() => $_clearField(11);
  @$pb.TagNumber(11)
  $3.ActorPayload ensureActor() => $_ensure(8);

  @$pb.TagNumber(12)
  $4.PartnerPayload get partner => $_getN(9);
  @$pb.TagNumber(12)
  set partner($4.PartnerPayload value) => $_setField(12, value);
  @$pb.TagNumber(12)
  $core.bool hasPartner() => $_has(9);
  @$pb.TagNumber(12)
  void clearPartner() => $_clearField(12);
  @$pb.TagNumber(12)
  $4.PartnerPayload ensurePartner() => $_ensure(9);
}

class TrackingTriplet extends $pb.GeneratedMessage {
  factory TrackingTriplet({
    Tracking? current,
    Tracking? previous,
    Tracking? lastEvent,
  }) {
    final result = create();
    if (current != null) result.current = current;
    if (previous != null) result.previous = previous;
    if (lastEvent != null) result.lastEvent = lastEvent;
    return result;
  }

  TrackingTriplet._();

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

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'TrackingTriplet', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOM<Tracking>(1, _omitFieldNames ? '' : 'Current', protoName: 'Current', subBuilder: Tracking.create)
    ..aOM<Tracking>(2, _omitFieldNames ? '' : 'Previous', protoName: 'Previous', subBuilder: Tracking.create)
    ..aOM<Tracking>(3, _omitFieldNames ? '' : 'LastEvent', protoName: 'LastEvent', subBuilder: Tracking.create)
    ..hasRequiredFields = false
  ;

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

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

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

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

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

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


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