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

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

export 'clickhouse.pbenum.dart';

class CHDimension extends $pb.GeneratedMessage {
  factory CHDimension({
    $core.String? name,
    $core.String? granularity,
    $core.String? level,
    $core.String? dataType,
    $core.String? contentType,
    $core.String? enumValues,
    $core.String? period,
    $core.String? operator,
    $core.Iterable<$core.String>? values,
    $3.StringDateObject? startDate,
    $3.StringDateObject? endDate,
    $core.Iterable<CHQueryExpression>? expressions,
    $core.bool? isComputed,
    CHDimension? or,
  }) {
    final $result = create();
    if (name != null) {
      $result.name = name;
    }
    if (granularity != null) {
      $result.granularity = granularity;
    }
    if (level != null) {
      $result.level = level;
    }
    if (dataType != null) {
      $result.dataType = dataType;
    }
    if (contentType != null) {
      $result.contentType = contentType;
    }
    if (enumValues != null) {
      $result.enumValues = enumValues;
    }
    if (period != null) {
      $result.period = period;
    }
    if (operator != null) {
      $result.operator = operator;
    }
    if (values != null) {
      $result.values.addAll(values);
    }
    if (startDate != null) {
      $result.startDate = startDate;
    }
    if (endDate != null) {
      $result.endDate = endDate;
    }
    if (expressions != null) {
      $result.expressions.addAll(expressions);
    }
    if (isComputed != null) {
      $result.isComputed = isComputed;
    }
    if (or != null) {
      $result.or = or;
    }
    return $result;
  }
  CHDimension._() : super();
  factory CHDimension.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory CHDimension.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'CHDimension', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'Name', protoName: 'Name')
    ..aOS(2, _omitFieldNames ? '' : 'Granularity', protoName: 'Granularity')
    ..aOS(3, _omitFieldNames ? '' : 'Level', protoName: 'Level')
    ..aOS(4, _omitFieldNames ? '' : 'DataType', protoName: 'DataType')
    ..aOS(5, _omitFieldNames ? '' : 'ContentType', protoName: 'ContentType')
    ..aOS(6, _omitFieldNames ? '' : 'EnumValues', protoName: 'EnumValues')
    ..aOS(7, _omitFieldNames ? '' : 'Period', protoName: 'Period')
    ..aOS(8, _omitFieldNames ? '' : 'Operator', protoName: 'Operator')
    ..pPS(9, _omitFieldNames ? '' : 'Values', protoName: 'Values')
    ..aOM<$3.StringDateObject>(10, _omitFieldNames ? '' : 'StartDate', protoName: 'StartDate', subBuilder: $3.StringDateObject.create)
    ..aOM<$3.StringDateObject>(11, _omitFieldNames ? '' : 'EndDate', protoName: 'EndDate', subBuilder: $3.StringDateObject.create)
    ..pc<CHQueryExpression>(12, _omitFieldNames ? '' : 'Expressions', $pb.PbFieldType.PM, protoName: 'Expressions', subBuilder: CHQueryExpression.create)
    ..aOB(13, _omitFieldNames ? '' : 'IsComputed', protoName: 'IsComputed')
    ..aOM<CHDimension>(14, _omitFieldNames ? '' : 'Or', protoName: 'Or', subBuilder: CHDimension.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')
  CHDimension clone() => CHDimension()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  CHDimension copyWith(void Function(CHDimension) updates) => super.copyWith((message) => updates(message as CHDimension)) as CHDimension;

  $pb.BuilderInfo get info_ => _i;

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

  @$pb.TagNumber(1)
  $core.String get name => $_getSZ(0);
  @$pb.TagNumber(1)
  set name($core.String v) { $_setString(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasName() => $_has(0);
  @$pb.TagNumber(1)
  void clearName() => $_clearField(1);

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

  @$pb.TagNumber(3)
  $core.String get level => $_getSZ(2);
  @$pb.TagNumber(3)
  set level($core.String v) { $_setString(2, v); }
  @$pb.TagNumber(3)
  $core.bool hasLevel() => $_has(2);
  @$pb.TagNumber(3)
  void clearLevel() => $_clearField(3);

  @$pb.TagNumber(4)
  $core.String get dataType => $_getSZ(3);
  @$pb.TagNumber(4)
  set dataType($core.String v) { $_setString(3, v); }
  @$pb.TagNumber(4)
  $core.bool hasDataType() => $_has(3);
  @$pb.TagNumber(4)
  void clearDataType() => $_clearField(4);

  @$pb.TagNumber(5)
  $core.String get contentType => $_getSZ(4);
  @$pb.TagNumber(5)
  set contentType($core.String v) { $_setString(4, v); }
  @$pb.TagNumber(5)
  $core.bool hasContentType() => $_has(4);
  @$pb.TagNumber(5)
  void clearContentType() => $_clearField(5);

  @$pb.TagNumber(6)
  $core.String get enumValues => $_getSZ(5);
  @$pb.TagNumber(6)
  set enumValues($core.String v) { $_setString(5, v); }
  @$pb.TagNumber(6)
  $core.bool hasEnumValues() => $_has(5);
  @$pb.TagNumber(6)
  void clearEnumValues() => $_clearField(6);

  /// A period of time
  @$pb.TagNumber(7)
  $core.String get period => $_getSZ(6);
  @$pb.TagNumber(7)
  set period($core.String v) { $_setString(6, v); }
  @$pb.TagNumber(7)
  $core.bool hasPeriod() => $_has(6);
  @$pb.TagNumber(7)
  void clearPeriod() => $_clearField(7);

  /// Allowed values : \"\", \"EQUAL\", \"DIFF\", \"START_BY\", \"NOT_START_BY\", \"FINISH_BY\", \"NOT_FINISH_BY\", \"CONTAINS\", \"NOT_CONTAINS\", \"IN_LIST\", \"NOT_IN_LIST\"
  @$pb.TagNumber(8)
  $core.String get operator => $_getSZ(7);
  @$pb.TagNumber(8)
  set operator($core.String v) { $_setString(7, v); }
  @$pb.TagNumber(8)
  $core.bool hasOperator() => $_has(7);
  @$pb.TagNumber(8)
  void clearOperator() => $_clearField(8);

  @$pb.TagNumber(9)
  $pb.PbList<$core.String> get values => $_getList(8);

  @$pb.TagNumber(10)
  $3.StringDateObject get startDate => $_getN(9);
  @$pb.TagNumber(10)
  set startDate($3.StringDateObject v) { $_setField(10, v); }
  @$pb.TagNumber(10)
  $core.bool hasStartDate() => $_has(9);
  @$pb.TagNumber(10)
  void clearStartDate() => $_clearField(10);
  @$pb.TagNumber(10)
  $3.StringDateObject ensureStartDate() => $_ensure(9);

  @$pb.TagNumber(11)
  $3.StringDateObject get endDate => $_getN(10);
  @$pb.TagNumber(11)
  set endDate($3.StringDateObject v) { $_setField(11, v); }
  @$pb.TagNumber(11)
  $core.bool hasEndDate() => $_has(10);
  @$pb.TagNumber(11)
  void clearEndDate() => $_clearField(11);
  @$pb.TagNumber(11)
  $3.StringDateObject ensureEndDate() => $_ensure(10);

  @$pb.TagNumber(12)
  $pb.PbList<CHQueryExpression> get expressions => $_getList(11);

  @$pb.TagNumber(13)
  $core.bool get isComputed => $_getBF(12);
  @$pb.TagNumber(13)
  set isComputed($core.bool v) { $_setBool(12, v); }
  @$pb.TagNumber(13)
  $core.bool hasIsComputed() => $_has(12);
  @$pb.TagNumber(13)
  void clearIsComputed() => $_clearField(13);

  /// Only useful for filters
  @$pb.TagNumber(14)
  CHDimension get or => $_getN(13);
  @$pb.TagNumber(14)
  set or(CHDimension v) { $_setField(14, v); }
  @$pb.TagNumber(14)
  $core.bool hasOr() => $_has(13);
  @$pb.TagNumber(14)
  void clearOr() => $_clearField(14);
  @$pb.TagNumber(14)
  CHDimension ensureOr() => $_ensure(13);
}

class CHQueryExpression extends $pb.GeneratedMessage {
  factory CHQueryExpression({
    $core.String? block,
    CHQueryType? queryType,
    $core.String? field_3,
    $core.String? query,
  }) {
    final $result = create();
    if (block != null) {
      $result.block = block;
    }
    if (queryType != null) {
      $result.queryType = queryType;
    }
    if (field_3 != null) {
      $result.field_3 = field_3;
    }
    if (query != null) {
      $result.query = query;
    }
    return $result;
  }
  CHQueryExpression._() : super();
  factory CHQueryExpression.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory CHQueryExpression.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'CHQueryExpression', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'Block', protoName: 'Block')
    ..e<CHQueryType>(2, _omitFieldNames ? '' : 'QueryType', $pb.PbFieldType.OE, protoName: 'QueryType', defaultOrMaker: CHQueryType.CH_QUERY_TYPE_UNKNOWN, valueOf: CHQueryType.valueOf, enumValues: CHQueryType.values)
    ..aOS(3, _omitFieldNames ? '' : 'Field', protoName: 'Field')
    ..aOS(4, _omitFieldNames ? '' : 'Query', protoName: 'Query')
    ..hasRequiredFields = false
  ;

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

  $pb.BuilderInfo get info_ => _i;

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

  @$pb.TagNumber(1)
  $core.String get block => $_getSZ(0);
  @$pb.TagNumber(1)
  set block($core.String v) { $_setString(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasBlock() => $_has(0);
  @$pb.TagNumber(1)
  void clearBlock() => $_clearField(1);

  @$pb.TagNumber(2)
  CHQueryType get queryType => $_getN(1);
  @$pb.TagNumber(2)
  set queryType(CHQueryType v) { $_setField(2, v); }
  @$pb.TagNumber(2)
  $core.bool hasQueryType() => $_has(1);
  @$pb.TagNumber(2)
  void clearQueryType() => $_clearField(2);

  @$pb.TagNumber(3)
  $core.String get field_3 => $_getSZ(2);
  @$pb.TagNumber(3)
  set field_3($core.String v) { $_setString(2, v); }
  @$pb.TagNumber(3)
  $core.bool hasField_3() => $_has(2);
  @$pb.TagNumber(3)
  void clearField_3() => $_clearField(3);

  @$pb.TagNumber(4)
  $core.String get query => $_getSZ(3);
  @$pb.TagNumber(4)
  set query($core.String v) { $_setString(3, v); }
  @$pb.TagNumber(4)
  $core.bool hasQuery() => $_has(3);
  @$pb.TagNumber(4)
  void clearQuery() => $_clearField(4);
}

class CHMetric extends $pb.GeneratedMessage {
  factory CHMetric({
    $core.String? name,
    $core.String? level,
    $core.String? dataType,
    $core.String? contentType,
    $core.String? enumValues,
    $core.Iterable<CHQueryExpression>? expressions,
    $core.bool? isComputed,
  }) {
    final $result = create();
    if (name != null) {
      $result.name = name;
    }
    if (level != null) {
      $result.level = level;
    }
    if (dataType != null) {
      $result.dataType = dataType;
    }
    if (contentType != null) {
      $result.contentType = contentType;
    }
    if (enumValues != null) {
      $result.enumValues = enumValues;
    }
    if (expressions != null) {
      $result.expressions.addAll(expressions);
    }
    if (isComputed != null) {
      $result.isComputed = isComputed;
    }
    return $result;
  }
  CHMetric._() : super();
  factory CHMetric.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory CHMetric.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'CHMetric', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'Name', protoName: 'Name')
    ..aOS(3, _omitFieldNames ? '' : 'Level', protoName: 'Level')
    ..aOS(4, _omitFieldNames ? '' : 'DataType', protoName: 'DataType')
    ..aOS(5, _omitFieldNames ? '' : 'ContentType', protoName: 'ContentType')
    ..aOS(6, _omitFieldNames ? '' : 'EnumValues', protoName: 'EnumValues')
    ..pc<CHQueryExpression>(12, _omitFieldNames ? '' : 'Expressions', $pb.PbFieldType.PM, protoName: 'Expressions', subBuilder: CHQueryExpression.create)
    ..aOB(13, _omitFieldNames ? '' : 'IsComputed', protoName: 'IsComputed')
    ..hasRequiredFields = false
  ;

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

  $pb.BuilderInfo get info_ => _i;

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

  @$pb.TagNumber(1)
  $core.String get name => $_getSZ(0);
  @$pb.TagNumber(1)
  set name($core.String v) { $_setString(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasName() => $_has(0);
  @$pb.TagNumber(1)
  void clearName() => $_clearField(1);

  @$pb.TagNumber(3)
  $core.String get level => $_getSZ(1);
  @$pb.TagNumber(3)
  set level($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(3)
  $core.bool hasLevel() => $_has(1);
  @$pb.TagNumber(3)
  void clearLevel() => $_clearField(3);

  @$pb.TagNumber(4)
  $core.String get dataType => $_getSZ(2);
  @$pb.TagNumber(4)
  set dataType($core.String v) { $_setString(2, v); }
  @$pb.TagNumber(4)
  $core.bool hasDataType() => $_has(2);
  @$pb.TagNumber(4)
  void clearDataType() => $_clearField(4);

  @$pb.TagNumber(5)
  $core.String get contentType => $_getSZ(3);
  @$pb.TagNumber(5)
  set contentType($core.String v) { $_setString(3, v); }
  @$pb.TagNumber(5)
  $core.bool hasContentType() => $_has(3);
  @$pb.TagNumber(5)
  void clearContentType() => $_clearField(5);

  @$pb.TagNumber(6)
  $core.String get enumValues => $_getSZ(4);
  @$pb.TagNumber(6)
  set enumValues($core.String v) { $_setString(4, v); }
  @$pb.TagNumber(6)
  $core.bool hasEnumValues() => $_has(4);
  @$pb.TagNumber(6)
  void clearEnumValues() => $_clearField(6);

  @$pb.TagNumber(12)
  $pb.PbList<CHQueryExpression> get expressions => $_getList(5);

  @$pb.TagNumber(13)
  $core.bool get isComputed => $_getBF(6);
  @$pb.TagNumber(13)
  set isComputed($core.bool v) { $_setBool(6, v); }
  @$pb.TagNumber(13)
  $core.bool hasIsComputed() => $_has(6);
  @$pb.TagNumber(13)
  void clearIsComputed() => $_clearField(13);
}

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

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

  $pb.BuilderInfo get info_ => _i;

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

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

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

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'KpiDataSerie', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'Name', protoName: 'Name')
    ..pPS(2, _omitFieldNames ? '' : 'Values', protoName: 'Values')
    ..hasRequiredFields = false
  ;

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

  $pb.BuilderInfo get info_ => _i;

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

  @$pb.TagNumber(1)
  $core.String get name => $_getSZ(0);
  @$pb.TagNumber(1)
  set name($core.String v) { $_setString(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasName() => $_has(0);
  @$pb.TagNumber(1)
  void clearName() => $_clearField(1);

  @$pb.TagNumber(2)
  $pb.PbList<$core.String> get values => $_getList(1);
}

class GetKPIDataQuery extends $pb.GeneratedMessage {
  factory GetKPIDataQuery({
    $3.QueryProjectHeader? header,
    CHChartType? chartType,
    CHQueryType? queryType,
    $core.String? queryBlock,
    $core.Iterable<CHDimension>? dimensions,
    $core.Iterable<CHMetric>? metrics,
    CHFilter? filter,
    $core.String? targetTimeZone,
    KpiDataResultFormat? resultFormat,
    $core.String? kpiGroupName,
  }) {
    final $result = create();
    if (header != null) {
      $result.header = header;
    }
    if (chartType != null) {
      $result.chartType = chartType;
    }
    if (queryType != null) {
      $result.queryType = queryType;
    }
    if (queryBlock != null) {
      $result.queryBlock = queryBlock;
    }
    if (dimensions != null) {
      $result.dimensions.addAll(dimensions);
    }
    if (metrics != null) {
      $result.metrics.addAll(metrics);
    }
    if (filter != null) {
      $result.filter = filter;
    }
    if (targetTimeZone != null) {
      $result.targetTimeZone = targetTimeZone;
    }
    if (resultFormat != null) {
      $result.resultFormat = resultFormat;
    }
    if (kpiGroupName != null) {
      $result.kpiGroupName = kpiGroupName;
    }
    return $result;
  }
  GetKPIDataQuery._() : super();
  factory GetKPIDataQuery.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory GetKPIDataQuery.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetKPIDataQuery', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOM<$3.QueryProjectHeader>(1, _omitFieldNames ? '' : 'Header', protoName: 'Header', subBuilder: $3.QueryProjectHeader.create)
    ..e<CHChartType>(2, _omitFieldNames ? '' : 'ChartType', $pb.PbFieldType.OE, protoName: 'ChartType', defaultOrMaker: CHChartType.CH_CHART_TYPE_UNKNOWN, valueOf: CHChartType.valueOf, enumValues: CHChartType.values)
    ..e<CHQueryType>(3, _omitFieldNames ? '' : 'QueryType', $pb.PbFieldType.OE, protoName: 'QueryType', defaultOrMaker: CHQueryType.CH_QUERY_TYPE_UNKNOWN, valueOf: CHQueryType.valueOf, enumValues: CHQueryType.values)
    ..aOS(4, _omitFieldNames ? '' : 'QueryBlock', protoName: 'QueryBlock')
    ..pc<CHDimension>(5, _omitFieldNames ? '' : 'Dimensions', $pb.PbFieldType.PM, protoName: 'Dimensions', subBuilder: CHDimension.create)
    ..pc<CHMetric>(6, _omitFieldNames ? '' : 'Metrics', $pb.PbFieldType.PM, protoName: 'Metrics', subBuilder: CHMetric.create)
    ..aOM<CHFilter>(7, _omitFieldNames ? '' : 'Filter', protoName: 'Filter', subBuilder: CHFilter.create)
    ..aOS(8, _omitFieldNames ? '' : 'TargetTimeZone', protoName: 'TargetTimeZone')
    ..e<KpiDataResultFormat>(9, _omitFieldNames ? '' : 'ResultFormat', $pb.PbFieldType.OE, protoName: 'ResultFormat', defaultOrMaker: KpiDataResultFormat.KPIDATA_RESULT_FORMAT_RAW, valueOf: KpiDataResultFormat.valueOf, enumValues: KpiDataResultFormat.values)
    ..aOS(10, _omitFieldNames ? '' : 'KpiGroupName', protoName: 'KpiGroupName')
    ..hasRequiredFields = false
  ;

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

  $pb.BuilderInfo get info_ => _i;

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

  @$pb.TagNumber(1)
  $3.QueryProjectHeader get header => $_getN(0);
  @$pb.TagNumber(1)
  set header($3.QueryProjectHeader v) { $_setField(1, v); }
  @$pb.TagNumber(1)
  $core.bool hasHeader() => $_has(0);
  @$pb.TagNumber(1)
  void clearHeader() => $_clearField(1);
  @$pb.TagNumber(1)
  $3.QueryProjectHeader ensureHeader() => $_ensure(0);

  @$pb.TagNumber(2)
  CHChartType get chartType => $_getN(1);
  @$pb.TagNumber(2)
  set chartType(CHChartType v) { $_setField(2, v); }
  @$pb.TagNumber(2)
  $core.bool hasChartType() => $_has(1);
  @$pb.TagNumber(2)
  void clearChartType() => $_clearField(2);

  @$pb.TagNumber(3)
  CHQueryType get queryType => $_getN(2);
  @$pb.TagNumber(3)
  set queryType(CHQueryType v) { $_setField(3, v); }
  @$pb.TagNumber(3)
  $core.bool hasQueryType() => $_has(2);
  @$pb.TagNumber(3)
  void clearQueryType() => $_clearField(3);

  @$pb.TagNumber(4)
  $core.String get queryBlock => $_getSZ(3);
  @$pb.TagNumber(4)
  set queryBlock($core.String v) { $_setString(3, v); }
  @$pb.TagNumber(4)
  $core.bool hasQueryBlock() => $_has(3);
  @$pb.TagNumber(4)
  void clearQueryBlock() => $_clearField(4);

  @$pb.TagNumber(5)
  $pb.PbList<CHDimension> get dimensions => $_getList(4);

  @$pb.TagNumber(6)
  $pb.PbList<CHMetric> get metrics => $_getList(5);

  @$pb.TagNumber(7)
  CHFilter get filter => $_getN(6);
  @$pb.TagNumber(7)
  set filter(CHFilter v) { $_setField(7, v); }
  @$pb.TagNumber(7)
  $core.bool hasFilter() => $_has(6);
  @$pb.TagNumber(7)
  void clearFilter() => $_clearField(7);
  @$pb.TagNumber(7)
  CHFilter ensureFilter() => $_ensure(6);

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

  @$pb.TagNumber(9)
  KpiDataResultFormat get resultFormat => $_getN(8);
  @$pb.TagNumber(9)
  set resultFormat(KpiDataResultFormat v) { $_setField(9, v); }
  @$pb.TagNumber(9)
  $core.bool hasResultFormat() => $_has(8);
  @$pb.TagNumber(9)
  void clearResultFormat() => $_clearField(9);

  @$pb.TagNumber(10)
  $core.String get kpiGroupName => $_getSZ(9);
  @$pb.TagNumber(10)
  set kpiGroupName($core.String v) { $_setString(9, v); }
  @$pb.TagNumber(10)
  $core.bool hasKpiGroupName() => $_has(9);
  @$pb.TagNumber(10)
  void clearKpiGroupName() => $_clearField(10);
}

class GetKPIDataForUserQuery extends $pb.GeneratedMessage {
  factory GetKPIDataForUserQuery({
    $core.String? projectID,
    CHChartType? chartType,
    CHQueryType? queryType,
    $core.String? queryBlock,
    $core.Iterable<CHDimension>? dimensions,
    $core.Iterable<CHMetric>? metrics,
    CHFilter? filter,
    $core.String? targetTimeZone,
    KpiDataResultFormat? resultFormat,
    $core.String? kpiGroupName,
    $core.String? userID,
    $core.String? pagingState,
    $core.String? limit,
  }) {
    final $result = create();
    if (projectID != null) {
      $result.projectID = projectID;
    }
    if (chartType != null) {
      $result.chartType = chartType;
    }
    if (queryType != null) {
      $result.queryType = queryType;
    }
    if (queryBlock != null) {
      $result.queryBlock = queryBlock;
    }
    if (dimensions != null) {
      $result.dimensions.addAll(dimensions);
    }
    if (metrics != null) {
      $result.metrics.addAll(metrics);
    }
    if (filter != null) {
      $result.filter = filter;
    }
    if (targetTimeZone != null) {
      $result.targetTimeZone = targetTimeZone;
    }
    if (resultFormat != null) {
      $result.resultFormat = resultFormat;
    }
    if (kpiGroupName != null) {
      $result.kpiGroupName = kpiGroupName;
    }
    if (userID != null) {
      $result.userID = userID;
    }
    if (pagingState != null) {
      $result.pagingState = pagingState;
    }
    if (limit != null) {
      $result.limit = limit;
    }
    return $result;
  }
  GetKPIDataForUserQuery._() : super();
  factory GetKPIDataForUserQuery.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory GetKPIDataForUserQuery.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetKPIDataForUserQuery', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'ProjectID', protoName: 'ProjectID')
    ..e<CHChartType>(2, _omitFieldNames ? '' : 'ChartType', $pb.PbFieldType.OE, protoName: 'ChartType', defaultOrMaker: CHChartType.CH_CHART_TYPE_UNKNOWN, valueOf: CHChartType.valueOf, enumValues: CHChartType.values)
    ..e<CHQueryType>(3, _omitFieldNames ? '' : 'QueryType', $pb.PbFieldType.OE, protoName: 'QueryType', defaultOrMaker: CHQueryType.CH_QUERY_TYPE_UNKNOWN, valueOf: CHQueryType.valueOf, enumValues: CHQueryType.values)
    ..aOS(4, _omitFieldNames ? '' : 'QueryBlock', protoName: 'QueryBlock')
    ..pc<CHDimension>(5, _omitFieldNames ? '' : 'Dimensions', $pb.PbFieldType.PM, protoName: 'Dimensions', subBuilder: CHDimension.create)
    ..pc<CHMetric>(6, _omitFieldNames ? '' : 'Metrics', $pb.PbFieldType.PM, protoName: 'Metrics', subBuilder: CHMetric.create)
    ..aOM<CHFilter>(7, _omitFieldNames ? '' : 'Filter', protoName: 'Filter', subBuilder: CHFilter.create)
    ..aOS(8, _omitFieldNames ? '' : 'TargetTimeZone', protoName: 'TargetTimeZone')
    ..e<KpiDataResultFormat>(9, _omitFieldNames ? '' : 'ResultFormat', $pb.PbFieldType.OE, protoName: 'ResultFormat', defaultOrMaker: KpiDataResultFormat.KPIDATA_RESULT_FORMAT_RAW, valueOf: KpiDataResultFormat.valueOf, enumValues: KpiDataResultFormat.values)
    ..aOS(10, _omitFieldNames ? '' : 'KpiGroupName', protoName: 'KpiGroupName')
    ..aOS(11, _omitFieldNames ? '' : 'UserID', protoName: 'UserID')
    ..aOS(12, _omitFieldNames ? '' : 'PagingState', protoName: 'PagingState')
    ..aOS(13, _omitFieldNames ? '' : 'Limit', protoName: 'Limit')
    ..hasRequiredFields = false
  ;

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

  $pb.BuilderInfo get info_ => _i;

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

  @$pb.TagNumber(1)
  $core.String get projectID => $_getSZ(0);
  @$pb.TagNumber(1)
  set projectID($core.String v) { $_setString(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasProjectID() => $_has(0);
  @$pb.TagNumber(1)
  void clearProjectID() => $_clearField(1);

  @$pb.TagNumber(2)
  CHChartType get chartType => $_getN(1);
  @$pb.TagNumber(2)
  set chartType(CHChartType v) { $_setField(2, v); }
  @$pb.TagNumber(2)
  $core.bool hasChartType() => $_has(1);
  @$pb.TagNumber(2)
  void clearChartType() => $_clearField(2);

  @$pb.TagNumber(3)
  CHQueryType get queryType => $_getN(2);
  @$pb.TagNumber(3)
  set queryType(CHQueryType v) { $_setField(3, v); }
  @$pb.TagNumber(3)
  $core.bool hasQueryType() => $_has(2);
  @$pb.TagNumber(3)
  void clearQueryType() => $_clearField(3);

  @$pb.TagNumber(4)
  $core.String get queryBlock => $_getSZ(3);
  @$pb.TagNumber(4)
  set queryBlock($core.String v) { $_setString(3, v); }
  @$pb.TagNumber(4)
  $core.bool hasQueryBlock() => $_has(3);
  @$pb.TagNumber(4)
  void clearQueryBlock() => $_clearField(4);

  @$pb.TagNumber(5)
  $pb.PbList<CHDimension> get dimensions => $_getList(4);

  @$pb.TagNumber(6)
  $pb.PbList<CHMetric> get metrics => $_getList(5);

  @$pb.TagNumber(7)
  CHFilter get filter => $_getN(6);
  @$pb.TagNumber(7)
  set filter(CHFilter v) { $_setField(7, v); }
  @$pb.TagNumber(7)
  $core.bool hasFilter() => $_has(6);
  @$pb.TagNumber(7)
  void clearFilter() => $_clearField(7);
  @$pb.TagNumber(7)
  CHFilter ensureFilter() => $_ensure(6);

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

  @$pb.TagNumber(9)
  KpiDataResultFormat get resultFormat => $_getN(8);
  @$pb.TagNumber(9)
  set resultFormat(KpiDataResultFormat v) { $_setField(9, v); }
  @$pb.TagNumber(9)
  $core.bool hasResultFormat() => $_has(8);
  @$pb.TagNumber(9)
  void clearResultFormat() => $_clearField(9);

  @$pb.TagNumber(10)
  $core.String get kpiGroupName => $_getSZ(9);
  @$pb.TagNumber(10)
  set kpiGroupName($core.String v) { $_setString(9, v); }
  @$pb.TagNumber(10)
  $core.bool hasKpiGroupName() => $_has(9);
  @$pb.TagNumber(10)
  void clearKpiGroupName() => $_clearField(10);

  @$pb.TagNumber(11)
  $core.String get userID => $_getSZ(10);
  @$pb.TagNumber(11)
  set userID($core.String v) { $_setString(10, v); }
  @$pb.TagNumber(11)
  $core.bool hasUserID() => $_has(10);
  @$pb.TagNumber(11)
  void clearUserID() => $_clearField(11);

  /// Number of elements displayed
  @$pb.TagNumber(12)
  $core.String get pagingState => $_getSZ(11);
  @$pb.TagNumber(12)
  set pagingState($core.String v) { $_setString(11, v); }
  @$pb.TagNumber(12)
  $core.bool hasPagingState() => $_has(11);
  @$pb.TagNumber(12)
  void clearPagingState() => $_clearField(12);

  /// Number of additional elements to display
  @$pb.TagNumber(13)
  $core.String get limit => $_getSZ(12);
  @$pb.TagNumber(13)
  set limit($core.String v) { $_setString(12, v); }
  @$pb.TagNumber(13)
  $core.bool hasLimit() => $_has(12);
  @$pb.TagNumber(13)
  void clearLimit() => $_clearField(13);
}

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

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

  $pb.BuilderInfo get info_ => _i;

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

  @$pb.TagNumber(1)
  $core.String get results => $_getSZ(0);
  @$pb.TagNumber(1)
  set results($core.String v) { $_setString(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasResults() => $_has(0);
  @$pb.TagNumber(1)
  void clearResults() => $_clearField(1);

  @$pb.TagNumber(2)
  $pb.PbList<KpiDataSerie> get series => $_getList(1);
}

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

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

  $pb.BuilderInfo get info_ => _i;

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

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

  @$pb.TagNumber(2)
  $pb.PbList<$3.BlockFilter> get blockFilters => $_getList(1);
}

class FindKPIDataQuery extends $pb.GeneratedMessage {
  factory FindKPIDataQuery({
    $3.QueryProjectHeader? header,
    CHQueryType? queryType,
    $core.String? queryBlock,
    $core.Iterable<EntityBlockFilter>? entityBlockFilters,
    CHFilter? filter,
    $core.Iterable<CHDimension>? dimensions,
    $core.Iterable<CHMetric>? metrics,
    $core.String? targetTimeZone,
    $core.String? kpiGroupName,
  }) {
    final $result = create();
    if (header != null) {
      $result.header = header;
    }
    if (queryType != null) {
      $result.queryType = queryType;
    }
    if (queryBlock != null) {
      $result.queryBlock = queryBlock;
    }
    if (entityBlockFilters != null) {
      $result.entityBlockFilters.addAll(entityBlockFilters);
    }
    if (filter != null) {
      $result.filter = filter;
    }
    if (dimensions != null) {
      $result.dimensions.addAll(dimensions);
    }
    if (metrics != null) {
      $result.metrics.addAll(metrics);
    }
    if (targetTimeZone != null) {
      $result.targetTimeZone = targetTimeZone;
    }
    if (kpiGroupName != null) {
      $result.kpiGroupName = kpiGroupName;
    }
    return $result;
  }
  FindKPIDataQuery._() : super();
  factory FindKPIDataQuery.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory FindKPIDataQuery.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'FindKPIDataQuery', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOM<$3.QueryProjectHeader>(1, _omitFieldNames ? '' : 'Header', protoName: 'Header', subBuilder: $3.QueryProjectHeader.create)
    ..e<CHQueryType>(2, _omitFieldNames ? '' : 'QueryType', $pb.PbFieldType.OE, protoName: 'QueryType', defaultOrMaker: CHQueryType.CH_QUERY_TYPE_UNKNOWN, valueOf: CHQueryType.valueOf, enumValues: CHQueryType.values)
    ..aOS(3, _omitFieldNames ? '' : 'QueryBlock', protoName: 'QueryBlock')
    ..pc<EntityBlockFilter>(4, _omitFieldNames ? '' : 'EntityBlockFilters', $pb.PbFieldType.PM, protoName: 'EntityBlockFilters', subBuilder: EntityBlockFilter.create)
    ..aOM<CHFilter>(5, _omitFieldNames ? '' : 'Filter', protoName: 'Filter', subBuilder: CHFilter.create)
    ..pc<CHDimension>(6, _omitFieldNames ? '' : 'Dimensions', $pb.PbFieldType.PM, protoName: 'Dimensions', subBuilder: CHDimension.create)
    ..pc<CHMetric>(7, _omitFieldNames ? '' : 'Metrics', $pb.PbFieldType.PM, protoName: 'Metrics', subBuilder: CHMetric.create)
    ..aOS(8, _omitFieldNames ? '' : 'TargetTimeZone', protoName: 'TargetTimeZone')
    ..aOS(9, _omitFieldNames ? '' : 'KpiGroupName', protoName: 'KpiGroupName')
    ..hasRequiredFields = false
  ;

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

  $pb.BuilderInfo get info_ => _i;

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

  @$pb.TagNumber(1)
  $3.QueryProjectHeader get header => $_getN(0);
  @$pb.TagNumber(1)
  set header($3.QueryProjectHeader v) { $_setField(1, v); }
  @$pb.TagNumber(1)
  $core.bool hasHeader() => $_has(0);
  @$pb.TagNumber(1)
  void clearHeader() => $_clearField(1);
  @$pb.TagNumber(1)
  $3.QueryProjectHeader ensureHeader() => $_ensure(0);

  /// TODO really useful ??
  @$pb.TagNumber(2)
  CHQueryType get queryType => $_getN(1);
  @$pb.TagNumber(2)
  set queryType(CHQueryType v) { $_setField(2, v); }
  @$pb.TagNumber(2)
  $core.bool hasQueryType() => $_has(1);
  @$pb.TagNumber(2)
  void clearQueryType() => $_clearField(2);

  /// TODO Really useful ??
  @$pb.TagNumber(3)
  $core.String get queryBlock => $_getSZ(2);
  @$pb.TagNumber(3)
  set queryBlock($core.String v) { $_setString(2, v); }
  @$pb.TagNumber(3)
  $core.bool hasQueryBlock() => $_has(2);
  @$pb.TagNumber(3)
  void clearQueryBlock() => $_clearField(3);

  /// list of blockFilters structure for Find query, each element (BlockFilter) in the list is an "OR" part of the query
  @$pb.TagNumber(4)
  $pb.PbList<EntityBlockFilter> get entityBlockFilters => $_getList(3);

  @$pb.TagNumber(5)
  CHFilter get filter => $_getN(4);
  @$pb.TagNumber(5)
  set filter(CHFilter v) { $_setField(5, v); }
  @$pb.TagNumber(5)
  $core.bool hasFilter() => $_has(4);
  @$pb.TagNumber(5)
  void clearFilter() => $_clearField(5);
  @$pb.TagNumber(5)
  CHFilter ensureFilter() => $_ensure(4);

  @$pb.TagNumber(6)
  $pb.PbList<CHDimension> get dimensions => $_getList(5);

  @$pb.TagNumber(7)
  $pb.PbList<CHMetric> get metrics => $_getList(6);

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

  @$pb.TagNumber(9)
  $core.String get kpiGroupName => $_getSZ(8);
  @$pb.TagNumber(9)
  set kpiGroupName($core.String v) { $_setString(8, v); }
  @$pb.TagNumber(9)
  $core.bool hasKpiGroupName() => $_has(8);
  @$pb.TagNumber(9)
  void clearKpiGroupName() => $_clearField(9);
}

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

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

  $pb.BuilderInfo get info_ => _i;

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

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

class ExtractKPIQuery extends $pb.GeneratedMessage {
  factory ExtractKPIQuery({
    $3.QueryProjectHeader? header,
    $core.String? userId,
    CHQueryType? queryType,
    $core.String? queryBlock,
    $core.Iterable<EntityBlockFilter>? entityBlockFilters,
    CHFilter? filter,
    $core.Iterable<CHDimension>? dimensions,
    $core.Iterable<CHMetric>? metrics,
    $core.String? targetTimeZone,
    $core.String? kpiGroupName,
    $core.String? targetDomain,
    $core.String? targetType,
    $core.Iterable<$core.String>? fields,
    $core.String? listSeparator,
    $core.String? decimalSeparator,
    $core.Iterable<$core.String>? columnNames,
    $core.Iterable<$core.MapEntry<$core.String, $3.TranslationMap>>? columnTranslationMaps,
    $core.Iterable<$core.int>? fieldIdxLVDetailedQuantity,
    $core.Iterable<$core.MapEntry<$core.int, $3.ExtractColumnFormat>>? columnFormats,
    $core.String? dateFormat,
    $core.String? numberFormat,
    $3.TimeFormat? timeFormat,
  }) {
    final $result = create();
    if (header != null) {
      $result.header = header;
    }
    if (userId != null) {
      $result.userId = userId;
    }
    if (queryType != null) {
      $result.queryType = queryType;
    }
    if (queryBlock != null) {
      $result.queryBlock = queryBlock;
    }
    if (entityBlockFilters != null) {
      $result.entityBlockFilters.addAll(entityBlockFilters);
    }
    if (filter != null) {
      $result.filter = filter;
    }
    if (dimensions != null) {
      $result.dimensions.addAll(dimensions);
    }
    if (metrics != null) {
      $result.metrics.addAll(metrics);
    }
    if (targetTimeZone != null) {
      $result.targetTimeZone = targetTimeZone;
    }
    if (kpiGroupName != null) {
      $result.kpiGroupName = kpiGroupName;
    }
    if (targetDomain != null) {
      $result.targetDomain = targetDomain;
    }
    if (targetType != null) {
      $result.targetType = targetType;
    }
    if (fields != null) {
      $result.fields.addAll(fields);
    }
    if (listSeparator != null) {
      $result.listSeparator = listSeparator;
    }
    if (decimalSeparator != null) {
      $result.decimalSeparator = decimalSeparator;
    }
    if (columnNames != null) {
      $result.columnNames.addAll(columnNames);
    }
    if (columnTranslationMaps != null) {
      $result.columnTranslationMaps.addEntries(columnTranslationMaps);
    }
    if (fieldIdxLVDetailedQuantity != null) {
      $result.fieldIdxLVDetailedQuantity.addAll(fieldIdxLVDetailedQuantity);
    }
    if (columnFormats != null) {
      $result.columnFormats.addEntries(columnFormats);
    }
    if (dateFormat != null) {
      $result.dateFormat = dateFormat;
    }
    if (numberFormat != null) {
      $result.numberFormat = numberFormat;
    }
    if (timeFormat != null) {
      $result.timeFormat = timeFormat;
    }
    return $result;
  }
  ExtractKPIQuery._() : super();
  factory ExtractKPIQuery.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory ExtractKPIQuery.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ExtractKPIQuery', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOM<$3.QueryProjectHeader>(1, _omitFieldNames ? '' : 'Header', protoName: 'Header', subBuilder: $3.QueryProjectHeader.create)
    ..aOS(2, _omitFieldNames ? '' : 'UserId', protoName: 'UserId')
    ..e<CHQueryType>(3, _omitFieldNames ? '' : 'QueryType', $pb.PbFieldType.OE, protoName: 'QueryType', defaultOrMaker: CHQueryType.CH_QUERY_TYPE_UNKNOWN, valueOf: CHQueryType.valueOf, enumValues: CHQueryType.values)
    ..aOS(4, _omitFieldNames ? '' : 'QueryBlock', protoName: 'QueryBlock')
    ..pc<EntityBlockFilter>(5, _omitFieldNames ? '' : 'EntityBlockFilters', $pb.PbFieldType.PM, protoName: 'EntityBlockFilters', subBuilder: EntityBlockFilter.create)
    ..aOM<CHFilter>(6, _omitFieldNames ? '' : 'Filter', protoName: 'Filter', subBuilder: CHFilter.create)
    ..pc<CHDimension>(7, _omitFieldNames ? '' : 'Dimensions', $pb.PbFieldType.PM, protoName: 'Dimensions', subBuilder: CHDimension.create)
    ..pc<CHMetric>(8, _omitFieldNames ? '' : 'Metrics', $pb.PbFieldType.PM, protoName: 'Metrics', subBuilder: CHMetric.create)
    ..aOS(9, _omitFieldNames ? '' : 'TargetTimeZone', protoName: 'TargetTimeZone')
    ..aOS(10, _omitFieldNames ? '' : 'KpiGroupName', protoName: 'KpiGroupName')
    ..aOS(11, _omitFieldNames ? '' : 'TargetDomain', protoName: 'TargetDomain')
    ..aOS(12, _omitFieldNames ? '' : 'TargetType', protoName: 'TargetType')
    ..pPS(13, _omitFieldNames ? '' : 'Fields', protoName: 'Fields')
    ..aOS(14, _omitFieldNames ? '' : 'ListSeparator', protoName: 'ListSeparator')
    ..aOS(15, _omitFieldNames ? '' : 'DecimalSeparator', protoName: 'DecimalSeparator')
    ..pPS(16, _omitFieldNames ? '' : 'ColumnNames', protoName: 'ColumnNames')
    ..m<$core.String, $3.TranslationMap>(17, _omitFieldNames ? '' : 'ColumnTranslationMaps', protoName: 'ColumnTranslationMaps', entryClassName: 'ExtractKPIQuery.ColumnTranslationMapsEntry', keyFieldType: $pb.PbFieldType.OS, valueFieldType: $pb.PbFieldType.OM, valueCreator: $3.TranslationMap.create, valueDefaultOrMaker: $3.TranslationMap.getDefault, packageName: const $pb.PackageName('api'))
    ..p<$core.int>(18, _omitFieldNames ? '' : 'FieldIdxLVDetailedQuantity', $pb.PbFieldType.K3, protoName: 'FieldIdxLVDetailedQuantity')
    ..m<$core.int, $3.ExtractColumnFormat>(19, _omitFieldNames ? '' : 'ColumnFormats', protoName: 'ColumnFormats', entryClassName: 'ExtractKPIQuery.ColumnFormatsEntry', keyFieldType: $pb.PbFieldType.O3, valueFieldType: $pb.PbFieldType.OM, valueCreator: $3.ExtractColumnFormat.create, valueDefaultOrMaker: $3.ExtractColumnFormat.getDefault, packageName: const $pb.PackageName('api'))
    ..aOS(20, _omitFieldNames ? '' : 'DateFormat', protoName: 'DateFormat')
    ..aOS(21, _omitFieldNames ? '' : 'NumberFormat', protoName: 'NumberFormat')
    ..e<$3.TimeFormat>(22, _omitFieldNames ? '' : 'TimeFormat', $pb.PbFieldType.OE, protoName: 'TimeFormat', defaultOrMaker: $3.TimeFormat.H12, valueOf: $3.TimeFormat.valueOf, enumValues: $3.TimeFormat.values)
    ..hasRequiredFields = false
  ;

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

  $pb.BuilderInfo get info_ => _i;

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

  @$pb.TagNumber(1)
  $3.QueryProjectHeader get header => $_getN(0);
  @$pb.TagNumber(1)
  set header($3.QueryProjectHeader v) { $_setField(1, v); }
  @$pb.TagNumber(1)
  $core.bool hasHeader() => $_has(0);
  @$pb.TagNumber(1)
  void clearHeader() => $_clearField(1);
  @$pb.TagNumber(1)
  $3.QueryProjectHeader ensureHeader() => $_ensure(0);

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

  @$pb.TagNumber(3)
  CHQueryType get queryType => $_getN(2);
  @$pb.TagNumber(3)
  set queryType(CHQueryType v) { $_setField(3, v); }
  @$pb.TagNumber(3)
  $core.bool hasQueryType() => $_has(2);
  @$pb.TagNumber(3)
  void clearQueryType() => $_clearField(3);

  @$pb.TagNumber(4)
  $core.String get queryBlock => $_getSZ(3);
  @$pb.TagNumber(4)
  set queryBlock($core.String v) { $_setString(3, v); }
  @$pb.TagNumber(4)
  $core.bool hasQueryBlock() => $_has(3);
  @$pb.TagNumber(4)
  void clearQueryBlock() => $_clearField(4);

  @$pb.TagNumber(5)
  $pb.PbList<EntityBlockFilter> get entityBlockFilters => $_getList(4);

  @$pb.TagNumber(6)
  CHFilter get filter => $_getN(5);
  @$pb.TagNumber(6)
  set filter(CHFilter v) { $_setField(6, v); }
  @$pb.TagNumber(6)
  $core.bool hasFilter() => $_has(5);
  @$pb.TagNumber(6)
  void clearFilter() => $_clearField(6);
  @$pb.TagNumber(6)
  CHFilter ensureFilter() => $_ensure(5);

  @$pb.TagNumber(7)
  $pb.PbList<CHDimension> get dimensions => $_getList(6);

  @$pb.TagNumber(8)
  $pb.PbList<CHMetric> get metrics => $_getList(7);

  @$pb.TagNumber(9)
  $core.String get targetTimeZone => $_getSZ(8);
  @$pb.TagNumber(9)
  set targetTimeZone($core.String v) { $_setString(8, v); }
  @$pb.TagNumber(9)
  $core.bool hasTargetTimeZone() => $_has(8);
  @$pb.TagNumber(9)
  void clearTargetTimeZone() => $_clearField(9);

  @$pb.TagNumber(10)
  $core.String get kpiGroupName => $_getSZ(9);
  @$pb.TagNumber(10)
  set kpiGroupName($core.String v) { $_setString(9, v); }
  @$pb.TagNumber(10)
  $core.bool hasKpiGroupName() => $_has(9);
  @$pb.TagNumber(10)
  void clearKpiGroupName() => $_clearField(10);

  @$pb.TagNumber(11)
  $core.String get targetDomain => $_getSZ(10);
  @$pb.TagNumber(11)
  set targetDomain($core.String v) { $_setString(10, v); }
  @$pb.TagNumber(11)
  $core.bool hasTargetDomain() => $_has(10);
  @$pb.TagNumber(11)
  void clearTargetDomain() => $_clearField(11);

  @$pb.TagNumber(12)
  $core.String get targetType => $_getSZ(11);
  @$pb.TagNumber(12)
  set targetType($core.String v) { $_setString(11, v); }
  @$pb.TagNumber(12)
  $core.bool hasTargetType() => $_has(11);
  @$pb.TagNumber(12)
  void clearTargetType() => $_clearField(12);

  @$pb.TagNumber(13)
  $pb.PbList<$core.String> get fields => $_getList(12);

  @$pb.TagNumber(14)
  $core.String get listSeparator => $_getSZ(13);
  @$pb.TagNumber(14)
  set listSeparator($core.String v) { $_setString(13, v); }
  @$pb.TagNumber(14)
  $core.bool hasListSeparator() => $_has(13);
  @$pb.TagNumber(14)
  void clearListSeparator() => $_clearField(14);

  @$pb.TagNumber(15)
  $core.String get decimalSeparator => $_getSZ(14);
  @$pb.TagNumber(15)
  set decimalSeparator($core.String v) { $_setString(14, v); }
  @$pb.TagNumber(15)
  $core.bool hasDecimalSeparator() => $_has(14);
  @$pb.TagNumber(15)
  void clearDecimalSeparator() => $_clearField(15);

  @$pb.TagNumber(16)
  $pb.PbList<$core.String> get columnNames => $_getList(15);

  @$pb.TagNumber(17)
  $pb.PbMap<$core.String, $3.TranslationMap> get columnTranslationMaps => $_getMap(16);

  @$pb.TagNumber(18)
  $pb.PbList<$core.int> get fieldIdxLVDetailedQuantity => $_getList(17);

  @$pb.TagNumber(19)
  $pb.PbMap<$core.int, $3.ExtractColumnFormat> get columnFormats => $_getMap(18);

  @$pb.TagNumber(20)
  $core.String get dateFormat => $_getSZ(19);
  @$pb.TagNumber(20)
  set dateFormat($core.String v) { $_setString(19, v); }
  @$pb.TagNumber(20)
  $core.bool hasDateFormat() => $_has(19);
  @$pb.TagNumber(20)
  void clearDateFormat() => $_clearField(20);

  @$pb.TagNumber(21)
  $core.String get numberFormat => $_getSZ(20);
  @$pb.TagNumber(21)
  set numberFormat($core.String v) { $_setString(20, v); }
  @$pb.TagNumber(21)
  $core.bool hasNumberFormat() => $_has(20);
  @$pb.TagNumber(21)
  void clearNumberFormat() => $_clearField(21);

  @$pb.TagNumber(22)
  $3.TimeFormat get timeFormat => $_getN(21);
  @$pb.TagNumber(22)
  set timeFormat($3.TimeFormat v) { $_setField(22, v); }
  @$pb.TagNumber(22)
  $core.bool hasTimeFormat() => $_has(21);
  @$pb.TagNumber(22)
  void clearTimeFormat() => $_clearField(22);
}

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

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

  $pb.BuilderInfo get info_ => _i;

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

  @$pb.TagNumber(1)
  $3.WorkflowExecutionResult get workflowExecution => $_getN(0);
  @$pb.TagNumber(1)
  set workflowExecution($3.WorkflowExecutionResult v) { $_setField(1, v); }
  @$pb.TagNumber(1)
  $core.bool hasWorkflowExecution() => $_has(0);
  @$pb.TagNumber(1)
  void clearWorkflowExecution() => $_clearField(1);
  @$pb.TagNumber(1)
  $3.WorkflowExecutionResult ensureWorkflowExecution() => $_ensure(0);
}


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