// This is a generated file - do not edit.
//
// Generated from metadata.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 'metadata.pbenum.dart';
import 'shared.pb.dart' as $0;

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

export 'metadata.pbenum.dart';

///
/// Aggregation object message
class Metadata extends $pb.GeneratedMessage {
  factory Metadata({
    $0.EventHeader? lastEventHeader,
    $0.EntityID? iD,
    MetadataPayload? payload,
  }) {
    final result = create();
    if (lastEventHeader != null) result.lastEventHeader = lastEventHeader;
    if (iD != null) result.iD = iD;
    if (payload != null) result.payload = payload;
    return result;
  }

  Metadata._();

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

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

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

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

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

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

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

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

class MetadataPayload extends $pb.GeneratedMessage {
  factory MetadataPayload({
    $core.bool? isSegmentationKey,
    $core.String? domain,
    $core.String? entity,
    $core.String? parent,
    $core.String? name,
    $core.String? type,
    $core.bool? isMandatory,
    $core.String? regularExpression,
    MetadataType? typology,
    $core.Iterable<$core.String>? enumeration,
    MetadataStatusStruct? status,
    MetadataDisplayType? showOnCreation,
    $core.Iterable<$0.LabelByLanguage>? labels,
    $core.bool? isKpi,
  }) {
    final result = create();
    if (isSegmentationKey != null) result.isSegmentationKey = isSegmentationKey;
    if (domain != null) result.domain = domain;
    if (entity != null) result.entity = entity;
    if (parent != null) result.parent = parent;
    if (name != null) result.name = name;
    if (type != null) result.type = type;
    if (isMandatory != null) result.isMandatory = isMandatory;
    if (regularExpression != null) result.regularExpression = regularExpression;
    if (typology != null) result.typology = typology;
    if (enumeration != null) result.enumeration.addAll(enumeration);
    if (status != null) result.status = status;
    if (showOnCreation != null) result.showOnCreation = showOnCreation;
    if (labels != null) result.labels.addAll(labels);
    if (isKpi != null) result.isKpi = isKpi;
    return result;
  }

  MetadataPayload._();

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

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'MetadataPayload', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOB(2, _omitFieldNames ? '' : 'IsSegmentationKey', protoName: 'IsSegmentationKey')
    ..aOS(3, _omitFieldNames ? '' : 'Domain', protoName: 'Domain')
    ..aOS(4, _omitFieldNames ? '' : 'Entity', protoName: 'Entity')
    ..aOS(5, _omitFieldNames ? '' : 'Parent', protoName: 'Parent')
    ..aOS(6, _omitFieldNames ? '' : 'Name', protoName: 'Name')
    ..aOS(7, _omitFieldNames ? '' : 'Type', protoName: 'Type')
    ..aOB(8, _omitFieldNames ? '' : 'IsMandatory', protoName: 'IsMandatory')
    ..aOS(10, _omitFieldNames ? '' : 'RegularExpression', protoName: 'RegularExpression')
    ..e<MetadataType>(11, _omitFieldNames ? '' : 'Typology', $pb.PbFieldType.OE, protoName: 'Typology', defaultOrMaker: MetadataType.TYPE_UNKNOWN, valueOf: MetadataType.valueOf, enumValues: MetadataType.values)
    ..pPS(12, _omitFieldNames ? '' : 'Enumeration', protoName: 'Enumeration')
    ..aOM<MetadataStatusStruct>(13, _omitFieldNames ? '' : 'Status', protoName: 'Status', subBuilder: MetadataStatusStruct.create)
    ..e<MetadataDisplayType>(14, _omitFieldNames ? '' : 'ShowOnCreation', $pb.PbFieldType.OE, protoName: 'ShowOnCreation', defaultOrMaker: MetadataDisplayType.DISPLAY_UNKNOWN, valueOf: MetadataDisplayType.valueOf, enumValues: MetadataDisplayType.values)
    ..pc<$0.LabelByLanguage>(15, _omitFieldNames ? '' : 'Labels', $pb.PbFieldType.PM, protoName: 'Labels', subBuilder: $0.LabelByLanguage.create)
    ..aOB(16, _omitFieldNames ? '' : 'IsKpi', protoName: 'IsKpi')
    ..hasRequiredFields = false
  ;

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

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

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

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

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

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

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

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

  /// Type attached to the metadata, should be in ["string","float","int","bool","timestamp"]
  @$pb.TagNumber(7)
  $core.String get type => $_getSZ(5);
  @$pb.TagNumber(7)
  set type($core.String value) => $_setString(5, value);
  @$pb.TagNumber(7)
  $core.bool hasType() => $_has(5);
  @$pb.TagNumber(7)
  void clearType() => $_clearField(7);

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

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

  @$pb.TagNumber(11)
  MetadataType get typology => $_getN(8);
  @$pb.TagNumber(11)
  set typology(MetadataType value) => $_setField(11, value);
  @$pb.TagNumber(11)
  $core.bool hasTypology() => $_has(8);
  @$pb.TagNumber(11)
  void clearTypology() => $_clearField(11);

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

  @$pb.TagNumber(13)
  MetadataStatusStruct get status => $_getN(10);
  @$pb.TagNumber(13)
  set status(MetadataStatusStruct value) => $_setField(13, value);
  @$pb.TagNumber(13)
  $core.bool hasStatus() => $_has(10);
  @$pb.TagNumber(13)
  void clearStatus() => $_clearField(13);
  @$pb.TagNumber(13)
  MetadataStatusStruct ensureStatus() => $_ensure(10);

  @$pb.TagNumber(14)
  MetadataDisplayType get showOnCreation => $_getN(11);
  @$pb.TagNumber(14)
  set showOnCreation(MetadataDisplayType value) => $_setField(14, value);
  @$pb.TagNumber(14)
  $core.bool hasShowOnCreation() => $_has(11);
  @$pb.TagNumber(14)
  void clearShowOnCreation() => $_clearField(14);

  @$pb.TagNumber(15)
  $pb.PbList<$0.LabelByLanguage> get labels => $_getList(12);

  @$pb.TagNumber(16)
  $core.bool get isKpi => $_getBF(13);
  @$pb.TagNumber(16)
  set isKpi($core.bool value) => $_setBool(13, value);
  @$pb.TagNumber(16)
  $core.bool hasIsKpi() => $_has(13);
  @$pb.TagNumber(16)
  void clearIsKpi() => $_clearField(16);
}

///
/// 	Metadata entity status structure
class MetadataStatus extends $pb.GeneratedMessage {
  factory MetadataStatus({
    MetadataStatusCode? statusCode,
    $core.String? date,
    $0.DateTime? actualDate,
  }) {
    final result = create();
    if (statusCode != null) result.statusCode = statusCode;
    if (date != null) result.date = date;
    if (actualDate != null) result.actualDate = actualDate;
    return result;
  }

  MetadataStatus._();

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

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'MetadataStatus', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..e<MetadataStatusCode>(1, _omitFieldNames ? '' : 'StatusCode', $pb.PbFieldType.OE, protoName: 'StatusCode', defaultOrMaker: MetadataStatusCode.METADATA_0000_UNKNOWN, valueOf: MetadataStatusCode.valueOf, enumValues: MetadataStatusCode.values)
    ..aOS(2, _omitFieldNames ? '' : 'Date', protoName: 'Date')
    ..aOM<$0.DateTime>(3, _omitFieldNames ? '' : 'ActualDate', protoName: 'ActualDate', subBuilder: $0.DateTime.create)
    ..hasRequiredFields = false
  ;

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

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

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

  @$pb.TagNumber(1)
  MetadataStatusCode get statusCode => $_getN(0);
  @$pb.TagNumber(1)
  set statusCode(MetadataStatusCode value) => $_setField(1, value);
  @$pb.TagNumber(1)
  $core.bool hasStatusCode() => $_has(0);
  @$pb.TagNumber(1)
  void clearStatusCode() => $_clearField(1);

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

  /// Status effective date. Set by the event's RefDate that triggered the status change.
  @$pb.TagNumber(3)
  $0.DateTime get actualDate => $_getN(2);
  @$pb.TagNumber(3)
  set actualDate($0.DateTime value) => $_setField(3, value);
  @$pb.TagNumber(3)
  $core.bool hasActualDate() => $_has(2);
  @$pb.TagNumber(3)
  void clearActualDate() => $_clearField(3);
  @$pb.TagNumber(3)
  $0.DateTime ensureActualDate() => $_ensure(2);
}

///
/// 	MetadataStatusStruct statuses structure
class MetadataStatusStruct extends $pb.GeneratedMessage {
  factory MetadataStatusStruct({
    MetadataStatus? current,
    $core.Iterable<MetadataStatus>? history,
    $core.String? creationDate,
  }) {
    final result = create();
    if (current != null) result.current = current;
    if (history != null) result.history.addAll(history);
    if (creationDate != null) result.creationDate = creationDate;
    return result;
  }

  MetadataStatusStruct._();

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

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'MetadataStatusStruct', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOM<MetadataStatus>(1, _omitFieldNames ? '' : 'Current', protoName: 'Current', subBuilder: MetadataStatus.create)
    ..pc<MetadataStatus>(2, _omitFieldNames ? '' : 'History', $pb.PbFieldType.PM, protoName: 'History', subBuilder: MetadataStatus.create)
    ..aOS(3, _omitFieldNames ? '' : 'CreationDate', protoName: 'CreationDate')
    ..hasRequiredFields = false
  ;

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

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

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

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

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

  @$pb.TagNumber(3)
  $core.String get creationDate => $_getSZ(2);
  @$pb.TagNumber(3)
  set creationDate($core.String value) => $_setString(2, value);
  @$pb.TagNumber(3)
  $core.bool hasCreationDate() => $_has(2);
  @$pb.TagNumber(3)
  void clearCreationDate() => $_clearField(3);
}

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

  MetadataTriplet._();

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

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

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

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

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

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

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

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

class MetadatasToApply extends $pb.GeneratedMessage {
  factory MetadatasToApply({
    $core.String? parent,
    Metadata? metadata,
  }) {
    final result = create();
    if (parent != null) result.parent = parent;
    if (metadata != null) result.metadata = metadata;
    return result;
  }

  MetadatasToApply._();

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

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'MetadatasToApply', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'Parent', protoName: 'Parent')
    ..aOM<Metadata>(2, _omitFieldNames ? '' : 'Metadata', protoName: 'Metadata', subBuilder: Metadata.create)
    ..hasRequiredFields = false
  ;

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

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

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

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

  @$pb.TagNumber(2)
  Metadata get metadata => $_getN(1);
  @$pb.TagNumber(2)
  set metadata(Metadata value) => $_setField(2, value);
  @$pb.TagNumber(2)
  $core.bool hasMetadata() => $_has(1);
  @$pb.TagNumber(2)
  void clearMetadata() => $_clearField(2);
  @$pb.TagNumber(2)
  Metadata ensureMetadata() => $_ensure(1);
}


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