//
//  Generated code. Do not modify.
//  source: billing.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 'billing.pbenum.dart';

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

export 'billing.pbenum.dart';

class GenerateRequest extends $pb.GeneratedMessage {
  factory GenerateRequest({
    $core.String? organisationID,
    $core.String? comment,
    $core.String? fromDate,
    $core.String? toDate,
    GenerateBillingFormat? outputFormat,
  }) {
    final $result = create();
    if (organisationID != null) {
      $result.organisationID = organisationID;
    }
    if (comment != null) {
      $result.comment = comment;
    }
    if (fromDate != null) {
      $result.fromDate = fromDate;
    }
    if (toDate != null) {
      $result.toDate = toDate;
    }
    if (outputFormat != null) {
      $result.outputFormat = outputFormat;
    }
    return $result;
  }
  GenerateRequest._() : super();
  factory GenerateRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory GenerateRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GenerateRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'OrganisationID', protoName: 'OrganisationID')
    ..aOS(2, _omitFieldNames ? '' : 'Comment', protoName: 'Comment')
    ..aOS(3, _omitFieldNames ? '' : 'FromDate', protoName: 'FromDate')
    ..aOS(4, _omitFieldNames ? '' : 'ToDate', protoName: 'ToDate')
    ..e<GenerateBillingFormat>(5, _omitFieldNames ? '' : 'OutputFormat', $pb.PbFieldType.OE, protoName: 'OutputFormat', defaultOrMaker: GenerateBillingFormat.BILLING_FORMAT_PDF, valueOf: GenerateBillingFormat.valueOf, enumValues: GenerateBillingFormat.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')
  GenerateRequest clone() => GenerateRequest()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  GenerateRequest copyWith(void Function(GenerateRequest) updates) => super.copyWith((message) => updates(message as GenerateRequest)) as GenerateRequest;

  $pb.BuilderInfo get info_ => _i;

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

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

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

  /// UTC date/time in <a href='https://en.wikipedia.org/wiki/ISO_8601'>ISO 8601</a> format
  @$pb.TagNumber(3)
  $core.String get fromDate => $_getSZ(2);
  @$pb.TagNumber(3)
  set fromDate($core.String v) { $_setString(2, v); }
  @$pb.TagNumber(3)
  $core.bool hasFromDate() => $_has(2);
  @$pb.TagNumber(3)
  void clearFromDate() => $_clearField(3);

  /// UTC date/time in <a href='https://en.wikipedia.org/wiki/ISO_8601'>ISO 8601</a> format
  @$pb.TagNumber(4)
  $core.String get toDate => $_getSZ(3);
  @$pb.TagNumber(4)
  set toDate($core.String v) { $_setString(3, v); }
  @$pb.TagNumber(4)
  $core.bool hasToDate() => $_has(3);
  @$pb.TagNumber(4)
  void clearToDate() => $_clearField(4);

  @$pb.TagNumber(5)
  GenerateBillingFormat get outputFormat => $_getN(4);
  @$pb.TagNumber(5)
  set outputFormat(GenerateBillingFormat v) { $_setField(5, v); }
  @$pb.TagNumber(5)
  $core.bool hasOutputFormat() => $_has(4);
  @$pb.TagNumber(5)
  void clearOutputFormat() => $_clearField(5);
}

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

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

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

  $pb.BuilderInfo get info_ => _i;

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

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


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