//
//  Generated code. Do not modify.
//  source: notif.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.pbenum.dart' as $70;
import 'shared.pb.dart' as $3;

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

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

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

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static Notif create() => Notif._();
  Notif createEmptyInstance() => create();
  static $pb.PbList<Notif> createRepeated() => $pb.PbList<Notif>();
  @$core.pragma('dart2js:noInline')
  static Notif getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<Notif>(create);
  static Notif? _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)
  NotifPayload get payload => $_getN(2);
  @$pb.TagNumber(3)
  set payload(NotifPayload v) { $_setField(3, v); }
  @$pb.TagNumber(3)
  $core.bool hasPayload() => $_has(2);
  @$pb.TagNumber(3)
  void clearPayload() => $_clearField(3);
  @$pb.TagNumber(3)
  NotifPayload ensurePayload() => $_ensure(2);
}

class NotifPayload extends $pb.GeneratedMessage {
  factory NotifPayload({
    $70.NotifTypeEnum? notificationType,
    $core.String? issuerID,
    $core.Iterable<$core.String>? contacts,
    $core.String? details,
    $core.String? entityDomain,
    $core.String? entityType,
    $core.String? entityRefID,
    $core.String? tags,
  }) {
    final $result = create();
    if (notificationType != null) {
      $result.notificationType = notificationType;
    }
    if (issuerID != null) {
      $result.issuerID = issuerID;
    }
    if (contacts != null) {
      $result.contacts.addAll(contacts);
    }
    if (details != null) {
      $result.details = details;
    }
    if (entityDomain != null) {
      $result.entityDomain = entityDomain;
    }
    if (entityType != null) {
      $result.entityType = entityType;
    }
    if (entityRefID != null) {
      $result.entityRefID = entityRefID;
    }
    if (tags != null) {
      $result.tags = tags;
    }
    return $result;
  }
  NotifPayload._() : super();
  factory NotifPayload.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory NotifPayload.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'NotifPayload', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..e<$70.NotifTypeEnum>(1, _omitFieldNames ? '' : 'NotificationType', $pb.PbFieldType.OE, protoName: 'NotificationType', defaultOrMaker: $70.NotifTypeEnum.NOTIF_TYPE_UNKNOWN, valueOf: $70.NotifTypeEnum.valueOf, enumValues: $70.NotifTypeEnum.values)
    ..aOS(2, _omitFieldNames ? '' : 'IssuerID', protoName: 'IssuerID')
    ..pPS(3, _omitFieldNames ? '' : 'Contacts', protoName: 'Contacts')
    ..aOS(4, _omitFieldNames ? '' : 'Details', protoName: 'Details')
    ..aOS(5, _omitFieldNames ? '' : 'EntityDomain', protoName: 'EntityDomain')
    ..aOS(6, _omitFieldNames ? '' : 'EntityType', protoName: 'EntityType')
    ..aOS(7, _omitFieldNames ? '' : 'EntityRefID', protoName: 'EntityRefID')
    ..aOS(8, _omitFieldNames ? '' : 'Tags', protoName: 'Tags')
    ..hasRequiredFields = false
  ;

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

  $pb.BuilderInfo get info_ => _i;

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

  /// Type Of Change to be notified
  @$pb.TagNumber(1)
  $70.NotifTypeEnum get notificationType => $_getN(0);
  @$pb.TagNumber(1)
  set notificationType($70.NotifTypeEnum v) { $_setField(1, v); }
  @$pb.TagNumber(1)
  $core.bool hasNotificationType() => $_has(0);
  @$pb.TagNumber(1)
  void clearNotificationType() => $_clearField(1);

  /// Identifier of the issuer
  @$pb.TagNumber(2)
  $core.String get issuerID => $_getSZ(1);
  @$pb.TagNumber(2)
  set issuerID($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasIssuerID() => $_has(1);
  @$pb.TagNumber(2)
  void clearIssuerID() => $_clearField(2);

  /// List of contacts
  @$pb.TagNumber(3)
  $pb.PbList<$core.String> get contacts => $_getList(2);

  /// Details of the notification
  @$pb.TagNumber(4)
  $core.String get details => $_getSZ(3);
  @$pb.TagNumber(4)
  set details($core.String v) { $_setString(3, v); }
  @$pb.TagNumber(4)
  $core.bool hasDetails() => $_has(3);
  @$pb.TagNumber(4)
  void clearDetails() => $_clearField(4);

  /// Entity domain
  @$pb.TagNumber(5)
  $core.String get entityDomain => $_getSZ(4);
  @$pb.TagNumber(5)
  set entityDomain($core.String v) { $_setString(4, v); }
  @$pb.TagNumber(5)
  $core.bool hasEntityDomain() => $_has(4);
  @$pb.TagNumber(5)
  void clearEntityDomain() => $_clearField(5);

  /// Type of entity
  @$pb.TagNumber(6)
  $core.String get entityType => $_getSZ(5);
  @$pb.TagNumber(6)
  set entityType($core.String v) { $_setString(5, v); }
  @$pb.TagNumber(6)
  $core.bool hasEntityType() => $_has(5);
  @$pb.TagNumber(6)
  void clearEntityType() => $_clearField(6);

  /// ID of entity
  @$pb.TagNumber(7)
  $core.String get entityRefID => $_getSZ(6);
  @$pb.TagNumber(7)
  set entityRefID($core.String v) { $_setString(6, v); }
  @$pb.TagNumber(7)
  $core.bool hasEntityRefID() => $_has(6);
  @$pb.TagNumber(7)
  void clearEntityRefID() => $_clearField(7);

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

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

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

  $pb.BuilderInfo get info_ => _i;

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

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

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

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


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