// This is a generated file - do not edit.
//
// Generated from tradeClickhouseStatement.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:fixnum/fixnum.dart' as $fixnum;
import 'package:protobuf/protobuf.dart' as $pb;

import 'actor.pb.dart' as $6;
import 'executionflow.pb.dart' as $1;
import 'handlingunit.pb.dart' as $3;
import 'item.pb.dart' as $5;
import 'metadata.pb.dart' as $0;
import 'movement.pb.dart' as $4;
import 'stock.pb.dart' as $2;

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<$0.MetadatasToApply>? metadatasToApply,
  }) {
    final result = create();
    if (clickhouseElements != null) result.clickhouseElements = clickhouseElements;
    if (metadatasToApply != null) result.metadatasToApply.addAll(metadatasToApply);
    return result;
  }

  TradeClickHouseInput._();

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

  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<$0.MetadatasToApply>(2, _omitFieldNames ? '' : 'MetadatasToApply', $pb.PbFieldType.PM, protoName: 'MetadatasToApply', subBuilder: $0.MetadatasToApply.create)
    ..hasRequiredFields = false
  ;

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

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

  @$core.pragma('dart2js:noInline')
  static TradeClickHouseInput create() => TradeClickHouseInput._();
  @$core.override
  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 value) => $_setField(1, value);
  @$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<$0.MetadatasToApply> get metadatasToApply => $_getList(1);
}

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

class TradeClickhouseElement extends $pb.GeneratedMessage {
  factory TradeClickhouseElement({
    $1.Executionflow? executionflow,
    $2.Stock? stock,
    $3.Handlingunit? handlingunit,
    $4.Movement? movement,
    $5.Item? item,
    $6.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._();

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

  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<$1.Executionflow>(1, _omitFieldNames ? '' : 'Executionflow', protoName: 'Executionflow', subBuilder: $1.Executionflow.create)
    ..aOM<$2.Stock>(2, _omitFieldNames ? '' : 'Stock', protoName: 'Stock', subBuilder: $2.Stock.create)
    ..aOM<$3.Handlingunit>(3, _omitFieldNames ? '' : 'Handlingunit', protoName: 'Handlingunit', subBuilder: $3.Handlingunit.create)
    ..aOM<$4.Movement>(4, _omitFieldNames ? '' : 'Movement', protoName: 'Movement', subBuilder: $4.Movement.create)
    ..aOM<$5.Item>(5, _omitFieldNames ? '' : 'Item', protoName: 'Item', subBuilder: $5.Item.create)
    ..aOM<$6.Actor>(6, _omitFieldNames ? '' : 'Actor', protoName: 'Actor', subBuilder: $6.Actor.create)
    ..hasRequiredFields = false
  ;

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

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

  @$core.pragma('dart2js:noInline')
  static TradeClickhouseElement create() => TradeClickhouseElement._();
  @$core.override
  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)
  $1.Executionflow get executionflow => $_getN(0);
  @$pb.TagNumber(1)
  set executionflow($1.Executionflow value) => $_setField(1, value);
  @$pb.TagNumber(1)
  $core.bool hasExecutionflow() => $_has(0);
  @$pb.TagNumber(1)
  void clearExecutionflow() => $_clearField(1);
  @$pb.TagNumber(1)
  $1.Executionflow ensureExecutionflow() => $_ensure(0);

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

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

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

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

  @$pb.TagNumber(6)
  $6.Actor get actor => $_getN(5);
  @$pb.TagNumber(6)
  set actor($6.Actor value) => $_setField(6, value);
  @$pb.TagNumber(6)
  $core.bool hasActor() => $_has(5);
  @$pb.TagNumber(6)
  void clearActor() => $_clearField(6);
  @$pb.TagNumber(6)
  $6.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._();

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

  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('See https://github.com/google/protobuf.dart/issues/998.')
  TradeClickhouseElements clone() => TradeClickhouseElements()..mergeFromMessage(this);
  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
  TradeClickhouseElements copyWith(void Function(TradeClickhouseElements) updates) => super.copyWith((message) => updates(message as TradeClickhouseElements)) as TradeClickhouseElements;

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

  @$core.pragma('dart2js:noInline')
  static TradeClickhouseElements create() => TradeClickhouseElements._();
  @$core.override
  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._();

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

  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('See https://github.com/google/protobuf.dart/issues/998.')
  TradeCheckpointData clone() => TradeCheckpointData()..mergeFromMessage(this);
  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
  TradeCheckpointData copyWith(void Function(TradeCheckpointData) updates) => super.copyWith((message) => updates(message as TradeCheckpointData)) as TradeCheckpointData;

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

  @$core.pragma('dart2js:noInline')
  static TradeCheckpointData create() => TradeCheckpointData._();
  @$core.override
  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 value) => $_setInt64(0, value);
  @$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 value) => $_setString(1, value);
  @$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 $core.bool _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names');
const $core.bool _omitMessageNames = $core.bool.fromEnvironment('protobuf.omit_message_names');
