//
//  Generated code. Do not modify.
//  source: tradeClickhouseStatement.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 'actor.pb.dart' as $67;
import 'executionflow.pb.dart' as $78;
import 'handlingunit.pb.dart' as $86;
import 'item.pb.dart' as $77;
import 'metadata.pb.dart' as $72;
import 'movement.pb.dart' as $87;
import 'stock.pb.dart' as $92;

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

/// ClickHouseInput Proto message for clickhouse streaming process
class TradeClickHouseInput extends $pb.GeneratedMessage {
  factory TradeClickHouseInput({
    TradeClickhouseElements? clickhouseElements,
    $core.Iterable<$72.MetadatasToApply>? metadatasToApply,
  }) {
    final $result = create();
    if (clickhouseElements != null) {
      $result.clickhouseElements = clickhouseElements;
    }
    if (metadatasToApply != null) {
      $result.metadatasToApply.addAll(metadatasToApply);
    }
    return $result;
  }
  TradeClickHouseInput._() : super();
  factory TradeClickHouseInput.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory TradeClickHouseInput.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

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

  $pb.BuilderInfo get info_ => _i;

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

  @$pb.TagNumber(1)
  TradeClickhouseElements get clickhouseElements => $_getN(0);
  @$pb.TagNumber(1)
  set clickhouseElements(TradeClickhouseElements v) { $_setField(1, v); }
  @$pb.TagNumber(1)
  $core.bool hasClickhouseElements() => $_has(0);
  @$pb.TagNumber(1)
  void clearClickhouseElements() => $_clearField(1);
  @$pb.TagNumber(1)
  TradeClickhouseElements ensureClickhouseElements() => $_ensure(0);

  @$pb.TagNumber(2)
  $pb.PbList<$72.MetadatasToApply> get metadatasToApply => $_getList(1);
}

enum TradeClickhouseElement_Content {
  executionflow, 
  stock, 
  handlingunit, 
  movement, 
  item, 
  actor, 
  notSet
}

class TradeClickhouseElement extends $pb.GeneratedMessage {
  factory TradeClickhouseElement({
    $78.Executionflow? executionflow,
    $92.Stock? stock,
    $86.Handlingunit? handlingunit,
    $87.Movement? movement,
    $77.Item? item,
    $67.Actor? actor,
  }) {
    final $result = create();
    if (executionflow != null) {
      $result.executionflow = executionflow;
    }
    if (stock != null) {
      $result.stock = stock;
    }
    if (handlingunit != null) {
      $result.handlingunit = handlingunit;
    }
    if (movement != null) {
      $result.movement = movement;
    }
    if (item != null) {
      $result.item = item;
    }
    if (actor != null) {
      $result.actor = actor;
    }
    return $result;
  }
  TradeClickhouseElement._() : super();
  factory TradeClickhouseElement.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory TradeClickhouseElement.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static const $core.Map<$core.int, TradeClickhouseElement_Content> _TradeClickhouseElement_ContentByTag = {
    1 : TradeClickhouseElement_Content.executionflow,
    2 : TradeClickhouseElement_Content.stock,
    3 : TradeClickhouseElement_Content.handlingunit,
    4 : TradeClickhouseElement_Content.movement,
    5 : TradeClickhouseElement_Content.item,
    6 : TradeClickhouseElement_Content.actor,
    0 : TradeClickhouseElement_Content.notSet
  };
  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'TradeClickhouseElement', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..oo(0, [1, 2, 3, 4, 5, 6])
    ..aOM<$78.Executionflow>(1, _omitFieldNames ? '' : 'Executionflow', protoName: 'Executionflow', subBuilder: $78.Executionflow.create)
    ..aOM<$92.Stock>(2, _omitFieldNames ? '' : 'Stock', protoName: 'Stock', subBuilder: $92.Stock.create)
    ..aOM<$86.Handlingunit>(3, _omitFieldNames ? '' : 'Handlingunit', protoName: 'Handlingunit', subBuilder: $86.Handlingunit.create)
    ..aOM<$87.Movement>(4, _omitFieldNames ? '' : 'Movement', protoName: 'Movement', subBuilder: $87.Movement.create)
    ..aOM<$77.Item>(5, _omitFieldNames ? '' : 'Item', protoName: 'Item', subBuilder: $77.Item.create)
    ..aOM<$67.Actor>(6, _omitFieldNames ? '' : 'Actor', protoName: 'Actor', subBuilder: $67.Actor.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')
  TradeClickhouseElement clone() => TradeClickhouseElement()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  TradeClickhouseElement copyWith(void Function(TradeClickhouseElement) updates) => super.copyWith((message) => updates(message as TradeClickhouseElement)) as TradeClickhouseElement;

  $pb.BuilderInfo get info_ => _i;

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

  TradeClickhouseElement_Content whichContent() => _TradeClickhouseElement_ContentByTag[$_whichOneof(0)]!;
  void clearContent() => $_clearField($_whichOneof(0));

  @$pb.TagNumber(1)
  $78.Executionflow get executionflow => $_getN(0);
  @$pb.TagNumber(1)
  set executionflow($78.Executionflow v) { $_setField(1, v); }
  @$pb.TagNumber(1)
  $core.bool hasExecutionflow() => $_has(0);
  @$pb.TagNumber(1)
  void clearExecutionflow() => $_clearField(1);
  @$pb.TagNumber(1)
  $78.Executionflow ensureExecutionflow() => $_ensure(0);

  @$pb.TagNumber(2)
  $92.Stock get stock => $_getN(1);
  @$pb.TagNumber(2)
  set stock($92.Stock v) { $_setField(2, v); }
  @$pb.TagNumber(2)
  $core.bool hasStock() => $_has(1);
  @$pb.TagNumber(2)
  void clearStock() => $_clearField(2);
  @$pb.TagNumber(2)
  $92.Stock ensureStock() => $_ensure(1);

  @$pb.TagNumber(3)
  $86.Handlingunit get handlingunit => $_getN(2);
  @$pb.TagNumber(3)
  set handlingunit($86.Handlingunit v) { $_setField(3, v); }
  @$pb.TagNumber(3)
  $core.bool hasHandlingunit() => $_has(2);
  @$pb.TagNumber(3)
  void clearHandlingunit() => $_clearField(3);
  @$pb.TagNumber(3)
  $86.Handlingunit ensureHandlingunit() => $_ensure(2);

  @$pb.TagNumber(4)
  $87.Movement get movement => $_getN(3);
  @$pb.TagNumber(4)
  set movement($87.Movement v) { $_setField(4, v); }
  @$pb.TagNumber(4)
  $core.bool hasMovement() => $_has(3);
  @$pb.TagNumber(4)
  void clearMovement() => $_clearField(4);
  @$pb.TagNumber(4)
  $87.Movement ensureMovement() => $_ensure(3);

  @$pb.TagNumber(5)
  $77.Item get item => $_getN(4);
  @$pb.TagNumber(5)
  set item($77.Item v) { $_setField(5, v); }
  @$pb.TagNumber(5)
  $core.bool hasItem() => $_has(4);
  @$pb.TagNumber(5)
  void clearItem() => $_clearField(5);
  @$pb.TagNumber(5)
  $77.Item ensureItem() => $_ensure(4);

  @$pb.TagNumber(6)
  $67.Actor get actor => $_getN(5);
  @$pb.TagNumber(6)
  set actor($67.Actor v) { $_setField(6, v); }
  @$pb.TagNumber(6)
  $core.bool hasActor() => $_has(5);
  @$pb.TagNumber(6)
  void clearActor() => $_clearField(6);
  @$pb.TagNumber(6)
  $67.Actor ensureActor() => $_ensure(5);
}

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

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

  $pb.BuilderInfo get info_ => _i;

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

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

/// TradeCheckpointData  Proto message for clickhouse streaming process
class TradeCheckpointData extends $pb.GeneratedMessage {
  factory TradeCheckpointData({
    $fixnum.Int64? idCheckpoint,
    $core.String? project,
    $core.Iterable<TradeClickHouseInput>? clickHouseInput,
  }) {
    final $result = create();
    if (idCheckpoint != null) {
      $result.idCheckpoint = idCheckpoint;
    }
    if (project != null) {
      $result.project = project;
    }
    if (clickHouseInput != null) {
      $result.clickHouseInput.addAll(clickHouseInput);
    }
    return $result;
  }
  TradeCheckpointData._() : super();
  factory TradeCheckpointData.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory TradeCheckpointData.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

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

  $pb.BuilderInfo get info_ => _i;

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

  @$pb.TagNumber(1)
  $fixnum.Int64 get idCheckpoint => $_getI64(0);
  @$pb.TagNumber(1)
  set idCheckpoint($fixnum.Int64 v) { $_setInt64(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasIdCheckpoint() => $_has(0);
  @$pb.TagNumber(1)
  void clearIdCheckpoint() => $_clearField(1);

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

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


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