// coverage:ignore-file
// GENERATED CODE - DO NOT MODIFY BY HAND
// ignore_for_file: type=lint
// ignore_for_file: unused_element, deprecated_member_use, deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named, prefer_expression_function_bodies, annotate_overrides, invalid_annotation_target, unnecessary_question_mark

part of 'maintenance_stats_dto.dart';

// **************************************************************************
// FreezedGenerator
// **************************************************************************

T _$identity<T>(T value) => value;

final _privateConstructorUsedError = UnsupportedError(
    'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models');

MaintenanceStatsDto _$MaintenanceStatsDtoFromJson(Map<String, dynamic> json) {
  return _MaintenanceStatsDto.fromJson(json);
}

/// @nodoc
mixin _$MaintenanceStatsDto {
// 기본 계약 통계
  @JsonKey(name: 'active_contracts')
  int get activeContracts => throw _privateConstructorUsedError;
  @JsonKey(name: 'total_contracts')
  int get totalContracts =>
      throw _privateConstructorUsedError; // 만료 기간별 통계 (사용자 요구사항)
  @JsonKey(name: 'expiring_60_days')
  int get expiring60Days => throw _privateConstructorUsedError;
  @JsonKey(name: 'expiring_30_days')
  int get expiring30Days => throw _privateConstructorUsedError;
  @JsonKey(name: 'expiring_7_days')
  int get expiring7Days => throw _privateConstructorUsedError;
  @JsonKey(name: 'expired_contracts')
  int get expiredContracts =>
      throw _privateConstructorUsedError; // 유지보수 타입별 통계 (V/R 시스템)
  @JsonKey(name: 'visit_contracts')
  int get visitContracts => throw _privateConstructorUsedError;
  @JsonKey(name: 'remote_contracts')
  int get remoteContracts => throw _privateConstructorUsedError; // 예정된 작업 통계
  @JsonKey(name: 'upcoming_visits')
  int get upcomingVisits => throw _privateConstructorUsedError;
  @JsonKey(name: 'overdue_maintenances')
  int get overdueMaintenances => throw _privateConstructorUsedError; // 추가 메트릭
  @JsonKey(name: 'total_revenue_at_risk')
  double get totalRevenueAtRisk => throw _privateConstructorUsedError;
  @JsonKey(name: 'completion_rate')
  double get completionRate =>
      throw _privateConstructorUsedError; // 마지막 업데이트 시간
  @JsonKey(name: 'updated_at')
  DateTime? get updatedAt => throw _privateConstructorUsedError;

  /// Serializes this MaintenanceStatsDto to a JSON map.
  Map<String, dynamic> toJson() => throw _privateConstructorUsedError;

  /// Create a copy of MaintenanceStatsDto
  /// with the given fields replaced by the non-null parameter values.
  @JsonKey(includeFromJson: false, includeToJson: false)
  $MaintenanceStatsDtoCopyWith<MaintenanceStatsDto> get copyWith =>
      throw _privateConstructorUsedError;
}

/// @nodoc
abstract class $MaintenanceStatsDtoCopyWith<$Res> {
  factory $MaintenanceStatsDtoCopyWith(
          MaintenanceStatsDto value, $Res Function(MaintenanceStatsDto) then) =
      _$MaintenanceStatsDtoCopyWithImpl<$Res, MaintenanceStatsDto>;
  @useResult
  $Res call(
      {@JsonKey(name: 'active_contracts') int activeContracts,
      @JsonKey(name: 'total_contracts') int totalContracts,
      @JsonKey(name: 'expiring_60_days') int expiring60Days,
      @JsonKey(name: 'expiring_30_days') int expiring30Days,
      @JsonKey(name: 'expiring_7_days') int expiring7Days,
      @JsonKey(name: 'expired_contracts') int expiredContracts,
      @JsonKey(name: 'visit_contracts') int visitContracts,
      @JsonKey(name: 'remote_contracts') int remoteContracts,
      @JsonKey(name: 'upcoming_visits') int upcomingVisits,
      @JsonKey(name: 'overdue_maintenances') int overdueMaintenances,
      @JsonKey(name: 'total_revenue_at_risk') double totalRevenueAtRisk,
      @JsonKey(name: 'completion_rate') double completionRate,
      @JsonKey(name: 'updated_at') DateTime? updatedAt});
}

/// @nodoc
class _$MaintenanceStatsDtoCopyWithImpl<$Res, $Val extends MaintenanceStatsDto>
    implements $MaintenanceStatsDtoCopyWith<$Res> {
  _$MaintenanceStatsDtoCopyWithImpl(this._value, this._then);

  // ignore: unused_field
  final $Val _value;
  // ignore: unused_field
  final $Res Function($Val) _then;

  /// Create a copy of MaintenanceStatsDto
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? activeContracts = null,
    Object? totalContracts = null,
    Object? expiring60Days = null,
    Object? expiring30Days = null,
    Object? expiring7Days = null,
    Object? expiredContracts = null,
    Object? visitContracts = null,
    Object? remoteContracts = null,
    Object? upcomingVisits = null,
    Object? overdueMaintenances = null,
    Object? totalRevenueAtRisk = null,
    Object? completionRate = null,
    Object? updatedAt = freezed,
  }) {
    return _then(_value.copyWith(
      activeContracts: null == activeContracts
          ? _value.activeContracts
          : activeContracts // ignore: cast_nullable_to_non_nullable
              as int,
      totalContracts: null == totalContracts
          ? _value.totalContracts
          : totalContracts // ignore: cast_nullable_to_non_nullable
              as int,
      expiring60Days: null == expiring60Days
          ? _value.expiring60Days
          : expiring60Days // ignore: cast_nullable_to_non_nullable
              as int,
      expiring30Days: null == expiring30Days
          ? _value.expiring30Days
          : expiring30Days // ignore: cast_nullable_to_non_nullable
              as int,
      expiring7Days: null == expiring7Days
          ? _value.expiring7Days
          : expiring7Days // ignore: cast_nullable_to_non_nullable
              as int,
      expiredContracts: null == expiredContracts
          ? _value.expiredContracts
          : expiredContracts // ignore: cast_nullable_to_non_nullable
              as int,
      visitContracts: null == visitContracts
          ? _value.visitContracts
          : visitContracts // ignore: cast_nullable_to_non_nullable
              as int,
      remoteContracts: null == remoteContracts
          ? _value.remoteContracts
          : remoteContracts // ignore: cast_nullable_to_non_nullable
              as int,
      upcomingVisits: null == upcomingVisits
          ? _value.upcomingVisits
          : upcomingVisits // ignore: cast_nullable_to_non_nullable
              as int,
      overdueMaintenances: null == overdueMaintenances
          ? _value.overdueMaintenances
          : overdueMaintenances // ignore: cast_nullable_to_non_nullable
              as int,
      totalRevenueAtRisk: null == totalRevenueAtRisk
          ? _value.totalRevenueAtRisk
          : totalRevenueAtRisk // ignore: cast_nullable_to_non_nullable
              as double,
      completionRate: null == completionRate
          ? _value.completionRate
          : completionRate // ignore: cast_nullable_to_non_nullable
              as double,
      updatedAt: freezed == updatedAt
          ? _value.updatedAt
          : updatedAt // ignore: cast_nullable_to_non_nullable
              as DateTime?,
    ) as $Val);
  }
}

/// @nodoc
abstract class _$$MaintenanceStatsDtoImplCopyWith<$Res>
    implements $MaintenanceStatsDtoCopyWith<$Res> {
  factory _$$MaintenanceStatsDtoImplCopyWith(_$MaintenanceStatsDtoImpl value,
          $Res Function(_$MaintenanceStatsDtoImpl) then) =
      __$$MaintenanceStatsDtoImplCopyWithImpl<$Res>;
  @override
  @useResult
  $Res call(
      {@JsonKey(name: 'active_contracts') int activeContracts,
      @JsonKey(name: 'total_contracts') int totalContracts,
      @JsonKey(name: 'expiring_60_days') int expiring60Days,
      @JsonKey(name: 'expiring_30_days') int expiring30Days,
      @JsonKey(name: 'expiring_7_days') int expiring7Days,
      @JsonKey(name: 'expired_contracts') int expiredContracts,
      @JsonKey(name: 'visit_contracts') int visitContracts,
      @JsonKey(name: 'remote_contracts') int remoteContracts,
      @JsonKey(name: 'upcoming_visits') int upcomingVisits,
      @JsonKey(name: 'overdue_maintenances') int overdueMaintenances,
      @JsonKey(name: 'total_revenue_at_risk') double totalRevenueAtRisk,
      @JsonKey(name: 'completion_rate') double completionRate,
      @JsonKey(name: 'updated_at') DateTime? updatedAt});
}

/// @nodoc
class __$$MaintenanceStatsDtoImplCopyWithImpl<$Res>
    extends _$MaintenanceStatsDtoCopyWithImpl<$Res, _$MaintenanceStatsDtoImpl>
    implements _$$MaintenanceStatsDtoImplCopyWith<$Res> {
  __$$MaintenanceStatsDtoImplCopyWithImpl(_$MaintenanceStatsDtoImpl _value,
      $Res Function(_$MaintenanceStatsDtoImpl) _then)
      : super(_value, _then);

  /// Create a copy of MaintenanceStatsDto
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? activeContracts = null,
    Object? totalContracts = null,
    Object? expiring60Days = null,
    Object? expiring30Days = null,
    Object? expiring7Days = null,
    Object? expiredContracts = null,
    Object? visitContracts = null,
    Object? remoteContracts = null,
    Object? upcomingVisits = null,
    Object? overdueMaintenances = null,
    Object? totalRevenueAtRisk = null,
    Object? completionRate = null,
    Object? updatedAt = freezed,
  }) {
    return _then(_$MaintenanceStatsDtoImpl(
      activeContracts: null == activeContracts
          ? _value.activeContracts
          : activeContracts // ignore: cast_nullable_to_non_nullable
              as int,
      totalContracts: null == totalContracts
          ? _value.totalContracts
          : totalContracts // ignore: cast_nullable_to_non_nullable
              as int,
      expiring60Days: null == expiring60Days
          ? _value.expiring60Days
          : expiring60Days // ignore: cast_nullable_to_non_nullable
              as int,
      expiring30Days: null == expiring30Days
          ? _value.expiring30Days
          : expiring30Days // ignore: cast_nullable_to_non_nullable
              as int,
      expiring7Days: null == expiring7Days
          ? _value.expiring7Days
          : expiring7Days // ignore: cast_nullable_to_non_nullable
              as int,
      expiredContracts: null == expiredContracts
          ? _value.expiredContracts
          : expiredContracts // ignore: cast_nullable_to_non_nullable
              as int,
      visitContracts: null == visitContracts
          ? _value.visitContracts
          : visitContracts // ignore: cast_nullable_to_non_nullable
              as int,
      remoteContracts: null == remoteContracts
          ? _value.remoteContracts
          : remoteContracts // ignore: cast_nullable_to_non_nullable
              as int,
      upcomingVisits: null == upcomingVisits
          ? _value.upcomingVisits
          : upcomingVisits // ignore: cast_nullable_to_non_nullable
              as int,
      overdueMaintenances: null == overdueMaintenances
          ? _value.overdueMaintenances
          : overdueMaintenances // ignore: cast_nullable_to_non_nullable
              as int,
      totalRevenueAtRisk: null == totalRevenueAtRisk
          ? _value.totalRevenueAtRisk
          : totalRevenueAtRisk // ignore: cast_nullable_to_non_nullable
              as double,
      completionRate: null == completionRate
          ? _value.completionRate
          : completionRate // ignore: cast_nullable_to_non_nullable
              as double,
      updatedAt: freezed == updatedAt
          ? _value.updatedAt
          : updatedAt // ignore: cast_nullable_to_non_nullable
              as DateTime?,
    ));
  }
}

/// @nodoc
@JsonSerializable()
class _$MaintenanceStatsDtoImpl implements _MaintenanceStatsDto {
  const _$MaintenanceStatsDtoImpl(
      {@JsonKey(name: 'active_contracts') this.activeContracts = 0,
      @JsonKey(name: 'total_contracts') this.totalContracts = 0,
      @JsonKey(name: 'expiring_60_days') this.expiring60Days = 0,
      @JsonKey(name: 'expiring_30_days') this.expiring30Days = 0,
      @JsonKey(name: 'expiring_7_days') this.expiring7Days = 0,
      @JsonKey(name: 'expired_contracts') this.expiredContracts = 0,
      @JsonKey(name: 'visit_contracts') this.visitContracts = 0,
      @JsonKey(name: 'remote_contracts') this.remoteContracts = 0,
      @JsonKey(name: 'upcoming_visits') this.upcomingVisits = 0,
      @JsonKey(name: 'overdue_maintenances') this.overdueMaintenances = 0,
      @JsonKey(name: 'total_revenue_at_risk') this.totalRevenueAtRisk = 0.0,
      @JsonKey(name: 'completion_rate') this.completionRate = 0.0,
      @JsonKey(name: 'updated_at') this.updatedAt});

  factory _$MaintenanceStatsDtoImpl.fromJson(Map<String, dynamic> json) =>
      _$$MaintenanceStatsDtoImplFromJson(json);

// 기본 계약 통계
  @override
  @JsonKey(name: 'active_contracts')
  final int activeContracts;
  @override
  @JsonKey(name: 'total_contracts')
  final int totalContracts;
// 만료 기간별 통계 (사용자 요구사항)
  @override
  @JsonKey(name: 'expiring_60_days')
  final int expiring60Days;
  @override
  @JsonKey(name: 'expiring_30_days')
  final int expiring30Days;
  @override
  @JsonKey(name: 'expiring_7_days')
  final int expiring7Days;
  @override
  @JsonKey(name: 'expired_contracts')
  final int expiredContracts;
// 유지보수 타입별 통계 (V/R 시스템)
  @override
  @JsonKey(name: 'visit_contracts')
  final int visitContracts;
  @override
  @JsonKey(name: 'remote_contracts')
  final int remoteContracts;
// 예정된 작업 통계
  @override
  @JsonKey(name: 'upcoming_visits')
  final int upcomingVisits;
  @override
  @JsonKey(name: 'overdue_maintenances')
  final int overdueMaintenances;
// 추가 메트릭
  @override
  @JsonKey(name: 'total_revenue_at_risk')
  final double totalRevenueAtRisk;
  @override
  @JsonKey(name: 'completion_rate')
  final double completionRate;
// 마지막 업데이트 시간
  @override
  @JsonKey(name: 'updated_at')
  final DateTime? updatedAt;

  @override
  String toString() {
    return 'MaintenanceStatsDto(activeContracts: $activeContracts, totalContracts: $totalContracts, expiring60Days: $expiring60Days, expiring30Days: $expiring30Days, expiring7Days: $expiring7Days, expiredContracts: $expiredContracts, visitContracts: $visitContracts, remoteContracts: $remoteContracts, upcomingVisits: $upcomingVisits, overdueMaintenances: $overdueMaintenances, totalRevenueAtRisk: $totalRevenueAtRisk, completionRate: $completionRate, updatedAt: $updatedAt)';
  }

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$MaintenanceStatsDtoImpl &&
            (identical(other.activeContracts, activeContracts) ||
                other.activeContracts == activeContracts) &&
            (identical(other.totalContracts, totalContracts) ||
                other.totalContracts == totalContracts) &&
            (identical(other.expiring60Days, expiring60Days) ||
                other.expiring60Days == expiring60Days) &&
            (identical(other.expiring30Days, expiring30Days) ||
                other.expiring30Days == expiring30Days) &&
            (identical(other.expiring7Days, expiring7Days) ||
                other.expiring7Days == expiring7Days) &&
            (identical(other.expiredContracts, expiredContracts) ||
                other.expiredContracts == expiredContracts) &&
            (identical(other.visitContracts, visitContracts) ||
                other.visitContracts == visitContracts) &&
            (identical(other.remoteContracts, remoteContracts) ||
                other.remoteContracts == remoteContracts) &&
            (identical(other.upcomingVisits, upcomingVisits) ||
                other.upcomingVisits == upcomingVisits) &&
            (identical(other.overdueMaintenances, overdueMaintenances) ||
                other.overdueMaintenances == overdueMaintenances) &&
            (identical(other.totalRevenueAtRisk, totalRevenueAtRisk) ||
                other.totalRevenueAtRisk == totalRevenueAtRisk) &&
            (identical(other.completionRate, completionRate) ||
                other.completionRate == completionRate) &&
            (identical(other.updatedAt, updatedAt) ||
                other.updatedAt == updatedAt));
  }

  @JsonKey(includeFromJson: false, includeToJson: false)
  @override
  int get hashCode => Object.hash(
      runtimeType,
      activeContracts,
      totalContracts,
      expiring60Days,
      expiring30Days,
      expiring7Days,
      expiredContracts,
      visitContracts,
      remoteContracts,
      upcomingVisits,
      overdueMaintenances,
      totalRevenueAtRisk,
      completionRate,
      updatedAt);

  /// Create a copy of MaintenanceStatsDto
  /// with the given fields replaced by the non-null parameter values.
  @JsonKey(includeFromJson: false, includeToJson: false)
  @override
  @pragma('vm:prefer-inline')
  _$$MaintenanceStatsDtoImplCopyWith<_$MaintenanceStatsDtoImpl> get copyWith =>
      __$$MaintenanceStatsDtoImplCopyWithImpl<_$MaintenanceStatsDtoImpl>(
          this, _$identity);

  @override
  Map<String, dynamic> toJson() {
    return _$$MaintenanceStatsDtoImplToJson(
      this,
    );
  }
}

abstract class _MaintenanceStatsDto implements MaintenanceStatsDto {
  const factory _MaintenanceStatsDto(
      {@JsonKey(name: 'active_contracts') final int activeContracts,
      @JsonKey(name: 'total_contracts') final int totalContracts,
      @JsonKey(name: 'expiring_60_days') final int expiring60Days,
      @JsonKey(name: 'expiring_30_days') final int expiring30Days,
      @JsonKey(name: 'expiring_7_days') final int expiring7Days,
      @JsonKey(name: 'expired_contracts') final int expiredContracts,
      @JsonKey(name: 'visit_contracts') final int visitContracts,
      @JsonKey(name: 'remote_contracts') final int remoteContracts,
      @JsonKey(name: 'upcoming_visits') final int upcomingVisits,
      @JsonKey(name: 'overdue_maintenances') final int overdueMaintenances,
      @JsonKey(name: 'total_revenue_at_risk') final double totalRevenueAtRisk,
      @JsonKey(name: 'completion_rate') final double completionRate,
      @JsonKey(name: 'updated_at')
      final DateTime? updatedAt}) = _$MaintenanceStatsDtoImpl;

  factory _MaintenanceStatsDto.fromJson(Map<String, dynamic> json) =
      _$MaintenanceStatsDtoImpl.fromJson;

// 기본 계약 통계
  @override
  @JsonKey(name: 'active_contracts')
  int get activeContracts;
  @override
  @JsonKey(name: 'total_contracts')
  int get totalContracts; // 만료 기간별 통계 (사용자 요구사항)
  @override
  @JsonKey(name: 'expiring_60_days')
  int get expiring60Days;
  @override
  @JsonKey(name: 'expiring_30_days')
  int get expiring30Days;
  @override
  @JsonKey(name: 'expiring_7_days')
  int get expiring7Days;
  @override
  @JsonKey(name: 'expired_contracts')
  int get expiredContracts; // 유지보수 타입별 통계 (V/R 시스템)
  @override
  @JsonKey(name: 'visit_contracts')
  int get visitContracts;
  @override
  @JsonKey(name: 'remote_contracts')
  int get remoteContracts; // 예정된 작업 통계
  @override
  @JsonKey(name: 'upcoming_visits')
  int get upcomingVisits;
  @override
  @JsonKey(name: 'overdue_maintenances')
  int get overdueMaintenances; // 추가 메트릭
  @override
  @JsonKey(name: 'total_revenue_at_risk')
  double get totalRevenueAtRisk;
  @override
  @JsonKey(name: 'completion_rate')
  double get completionRate; // 마지막 업데이트 시간
  @override
  @JsonKey(name: 'updated_at')
  DateTime? get updatedAt;

  /// Create a copy of MaintenanceStatsDto
  /// with the given fields replaced by the non-null parameter values.
  @override
  @JsonKey(includeFromJson: false, includeToJson: false)
  _$$MaintenanceStatsDtoImplCopyWith<_$MaintenanceStatsDtoImpl> get copyWith =>
      throw _privateConstructorUsedError;
}

MaintenanceStatusCardData _$MaintenanceStatusCardDataFromJson(
    Map<String, dynamic> json) {
  return _MaintenanceStatusCardData.fromJson(json);
}

/// @nodoc
mixin _$MaintenanceStatusCardData {
  String get title => throw _privateConstructorUsedError;
  int get count => throw _privateConstructorUsedError;
  String get subtitle => throw _privateConstructorUsedError;
  MaintenanceCardStatus get status => throw _privateConstructorUsedError;
  String? get actionLabel => throw _privateConstructorUsedError;

  /// Serializes this MaintenanceStatusCardData to a JSON map.
  Map<String, dynamic> toJson() => throw _privateConstructorUsedError;

  /// Create a copy of MaintenanceStatusCardData
  /// with the given fields replaced by the non-null parameter values.
  @JsonKey(includeFromJson: false, includeToJson: false)
  $MaintenanceStatusCardDataCopyWith<MaintenanceStatusCardData> get copyWith =>
      throw _privateConstructorUsedError;
}

/// @nodoc
abstract class $MaintenanceStatusCardDataCopyWith<$Res> {
  factory $MaintenanceStatusCardDataCopyWith(MaintenanceStatusCardData value,
          $Res Function(MaintenanceStatusCardData) then) =
      _$MaintenanceStatusCardDataCopyWithImpl<$Res, MaintenanceStatusCardData>;
  @useResult
  $Res call(
      {String title,
      int count,
      String subtitle,
      MaintenanceCardStatus status,
      String? actionLabel});
}

/// @nodoc
class _$MaintenanceStatusCardDataCopyWithImpl<$Res,
        $Val extends MaintenanceStatusCardData>
    implements $MaintenanceStatusCardDataCopyWith<$Res> {
  _$MaintenanceStatusCardDataCopyWithImpl(this._value, this._then);

  // ignore: unused_field
  final $Val _value;
  // ignore: unused_field
  final $Res Function($Val) _then;

  /// Create a copy of MaintenanceStatusCardData
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? title = null,
    Object? count = null,
    Object? subtitle = null,
    Object? status = null,
    Object? actionLabel = freezed,
  }) {
    return _then(_value.copyWith(
      title: null == title
          ? _value.title
          : title // ignore: cast_nullable_to_non_nullable
              as String,
      count: null == count
          ? _value.count
          : count // ignore: cast_nullable_to_non_nullable
              as int,
      subtitle: null == subtitle
          ? _value.subtitle
          : subtitle // ignore: cast_nullable_to_non_nullable
              as String,
      status: null == status
          ? _value.status
          : status // ignore: cast_nullable_to_non_nullable
              as MaintenanceCardStatus,
      actionLabel: freezed == actionLabel
          ? _value.actionLabel
          : actionLabel // ignore: cast_nullable_to_non_nullable
              as String?,
    ) as $Val);
  }
}

/// @nodoc
abstract class _$$MaintenanceStatusCardDataImplCopyWith<$Res>
    implements $MaintenanceStatusCardDataCopyWith<$Res> {
  factory _$$MaintenanceStatusCardDataImplCopyWith(
          _$MaintenanceStatusCardDataImpl value,
          $Res Function(_$MaintenanceStatusCardDataImpl) then) =
      __$$MaintenanceStatusCardDataImplCopyWithImpl<$Res>;
  @override
  @useResult
  $Res call(
      {String title,
      int count,
      String subtitle,
      MaintenanceCardStatus status,
      String? actionLabel});
}

/// @nodoc
class __$$MaintenanceStatusCardDataImplCopyWithImpl<$Res>
    extends _$MaintenanceStatusCardDataCopyWithImpl<$Res,
        _$MaintenanceStatusCardDataImpl>
    implements _$$MaintenanceStatusCardDataImplCopyWith<$Res> {
  __$$MaintenanceStatusCardDataImplCopyWithImpl(
      _$MaintenanceStatusCardDataImpl _value,
      $Res Function(_$MaintenanceStatusCardDataImpl) _then)
      : super(_value, _then);

  /// Create a copy of MaintenanceStatusCardData
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? title = null,
    Object? count = null,
    Object? subtitle = null,
    Object? status = null,
    Object? actionLabel = freezed,
  }) {
    return _then(_$MaintenanceStatusCardDataImpl(
      title: null == title
          ? _value.title
          : title // ignore: cast_nullable_to_non_nullable
              as String,
      count: null == count
          ? _value.count
          : count // ignore: cast_nullable_to_non_nullable
              as int,
      subtitle: null == subtitle
          ? _value.subtitle
          : subtitle // ignore: cast_nullable_to_non_nullable
              as String,
      status: null == status
          ? _value.status
          : status // ignore: cast_nullable_to_non_nullable
              as MaintenanceCardStatus,
      actionLabel: freezed == actionLabel
          ? _value.actionLabel
          : actionLabel // ignore: cast_nullable_to_non_nullable
              as String?,
    ));
  }
}

/// @nodoc
@JsonSerializable()
class _$MaintenanceStatusCardDataImpl implements _MaintenanceStatusCardData {
  const _$MaintenanceStatusCardDataImpl(
      {required this.title,
      required this.count,
      required this.subtitle,
      required this.status,
      this.actionLabel});

  factory _$MaintenanceStatusCardDataImpl.fromJson(Map<String, dynamic> json) =>
      _$$MaintenanceStatusCardDataImplFromJson(json);

  @override
  final String title;
  @override
  final int count;
  @override
  final String subtitle;
  @override
  final MaintenanceCardStatus status;
  @override
  final String? actionLabel;

  @override
  String toString() {
    return 'MaintenanceStatusCardData(title: $title, count: $count, subtitle: $subtitle, status: $status, actionLabel: $actionLabel)';
  }

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$MaintenanceStatusCardDataImpl &&
            (identical(other.title, title) || other.title == title) &&
            (identical(other.count, count) || other.count == count) &&
            (identical(other.subtitle, subtitle) ||
                other.subtitle == subtitle) &&
            (identical(other.status, status) || other.status == status) &&
            (identical(other.actionLabel, actionLabel) ||
                other.actionLabel == actionLabel));
  }

  @JsonKey(includeFromJson: false, includeToJson: false)
  @override
  int get hashCode =>
      Object.hash(runtimeType, title, count, subtitle, status, actionLabel);

  /// Create a copy of MaintenanceStatusCardData
  /// with the given fields replaced by the non-null parameter values.
  @JsonKey(includeFromJson: false, includeToJson: false)
  @override
  @pragma('vm:prefer-inline')
  _$$MaintenanceStatusCardDataImplCopyWith<_$MaintenanceStatusCardDataImpl>
      get copyWith => __$$MaintenanceStatusCardDataImplCopyWithImpl<
          _$MaintenanceStatusCardDataImpl>(this, _$identity);

  @override
  Map<String, dynamic> toJson() {
    return _$$MaintenanceStatusCardDataImplToJson(
      this,
    );
  }
}

abstract class _MaintenanceStatusCardData implements MaintenanceStatusCardData {
  const factory _MaintenanceStatusCardData(
      {required final String title,
      required final int count,
      required final String subtitle,
      required final MaintenanceCardStatus status,
      final String? actionLabel}) = _$MaintenanceStatusCardDataImpl;

  factory _MaintenanceStatusCardData.fromJson(Map<String, dynamic> json) =
      _$MaintenanceStatusCardDataImpl.fromJson;

  @override
  String get title;
  @override
  int get count;
  @override
  String get subtitle;
  @override
  MaintenanceCardStatus get status;
  @override
  String? get actionLabel;

  /// Create a copy of MaintenanceStatusCardData
  /// with the given fields replaced by the non-null parameter values.
  @override
  @JsonKey(includeFromJson: false, includeToJson: false)
  _$$MaintenanceStatusCardDataImplCopyWith<_$MaintenanceStatusCardDataImpl>
      get copyWith => throw _privateConstructorUsedError;
}
