// 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 'rent_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');

RentDto _$RentDtoFromJson(Map<String, dynamic> json) {
  return _RentDto.fromJson(json);
}

/// @nodoc
mixin _$RentDto {
  int? get id => throw _privateConstructorUsedError;
  @JsonKey(name: 'started_at')
  DateTime get startedAt => throw _privateConstructorUsedError;
  @JsonKey(name: 'ended_at')
  DateTime get endedAt => throw _privateConstructorUsedError;
  @JsonKey(name: 'equipment_history_id')
  int? get equipmentHistoryId =>
      throw _privateConstructorUsedError; // JOIN fields from backend (계산된 필드들)
  @JsonKey(name: 'equipment_serial')
  String? get equipmentSerial => throw _privateConstructorUsedError;
  @JsonKey(name: 'equipment_model')
  String? get equipmentModel => throw _privateConstructorUsedError;
  @JsonKey(name: 'company_name')
  String? get companyName => throw _privateConstructorUsedError;
  @JsonKey(name: 'days_remaining')
  int? get daysRemaining => throw _privateConstructorUsedError;
  @JsonKey(name: 'is_active')
  bool? get isActive => throw _privateConstructorUsedError;
  @JsonKey(name: 'total_days')
  int? get totalDays =>
      throw _privateConstructorUsedError; // Related entities (optional, populated in GET requests)
  EquipmentHistoryDto? get equipmentHistory =>
      throw _privateConstructorUsedError;

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

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

/// @nodoc
abstract class $RentDtoCopyWith<$Res> {
  factory $RentDtoCopyWith(RentDto value, $Res Function(RentDto) then) =
      _$RentDtoCopyWithImpl<$Res, RentDto>;
  @useResult
  $Res call(
      {int? id,
      @JsonKey(name: 'started_at') DateTime startedAt,
      @JsonKey(name: 'ended_at') DateTime endedAt,
      @JsonKey(name: 'equipment_history_id') int? equipmentHistoryId,
      @JsonKey(name: 'equipment_serial') String? equipmentSerial,
      @JsonKey(name: 'equipment_model') String? equipmentModel,
      @JsonKey(name: 'company_name') String? companyName,
      @JsonKey(name: 'days_remaining') int? daysRemaining,
      @JsonKey(name: 'is_active') bool? isActive,
      @JsonKey(name: 'total_days') int? totalDays,
      EquipmentHistoryDto? equipmentHistory});

  $EquipmentHistoryDtoCopyWith<$Res>? get equipmentHistory;
}

/// @nodoc
class _$RentDtoCopyWithImpl<$Res, $Val extends RentDto>
    implements $RentDtoCopyWith<$Res> {
  _$RentDtoCopyWithImpl(this._value, this._then);

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

  /// Create a copy of RentDto
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? id = freezed,
    Object? startedAt = null,
    Object? endedAt = null,
    Object? equipmentHistoryId = freezed,
    Object? equipmentSerial = freezed,
    Object? equipmentModel = freezed,
    Object? companyName = freezed,
    Object? daysRemaining = freezed,
    Object? isActive = freezed,
    Object? totalDays = freezed,
    Object? equipmentHistory = freezed,
  }) {
    return _then(_value.copyWith(
      id: freezed == id
          ? _value.id
          : id // ignore: cast_nullable_to_non_nullable
              as int?,
      startedAt: null == startedAt
          ? _value.startedAt
          : startedAt // ignore: cast_nullable_to_non_nullable
              as DateTime,
      endedAt: null == endedAt
          ? _value.endedAt
          : endedAt // ignore: cast_nullable_to_non_nullable
              as DateTime,
      equipmentHistoryId: freezed == equipmentHistoryId
          ? _value.equipmentHistoryId
          : equipmentHistoryId // ignore: cast_nullable_to_non_nullable
              as int?,
      equipmentSerial: freezed == equipmentSerial
          ? _value.equipmentSerial
          : equipmentSerial // ignore: cast_nullable_to_non_nullable
              as String?,
      equipmentModel: freezed == equipmentModel
          ? _value.equipmentModel
          : equipmentModel // ignore: cast_nullable_to_non_nullable
              as String?,
      companyName: freezed == companyName
          ? _value.companyName
          : companyName // ignore: cast_nullable_to_non_nullable
              as String?,
      daysRemaining: freezed == daysRemaining
          ? _value.daysRemaining
          : daysRemaining // ignore: cast_nullable_to_non_nullable
              as int?,
      isActive: freezed == isActive
          ? _value.isActive
          : isActive // ignore: cast_nullable_to_non_nullable
              as bool?,
      totalDays: freezed == totalDays
          ? _value.totalDays
          : totalDays // ignore: cast_nullable_to_non_nullable
              as int?,
      equipmentHistory: freezed == equipmentHistory
          ? _value.equipmentHistory
          : equipmentHistory // ignore: cast_nullable_to_non_nullable
              as EquipmentHistoryDto?,
    ) as $Val);
  }

  /// Create a copy of RentDto
  /// with the given fields replaced by the non-null parameter values.
  @override
  @pragma('vm:prefer-inline')
  $EquipmentHistoryDtoCopyWith<$Res>? get equipmentHistory {
    if (_value.equipmentHistory == null) {
      return null;
    }

    return $EquipmentHistoryDtoCopyWith<$Res>(_value.equipmentHistory!,
        (value) {
      return _then(_value.copyWith(equipmentHistory: value) as $Val);
    });
  }
}

/// @nodoc
abstract class _$$RentDtoImplCopyWith<$Res> implements $RentDtoCopyWith<$Res> {
  factory _$$RentDtoImplCopyWith(
          _$RentDtoImpl value, $Res Function(_$RentDtoImpl) then) =
      __$$RentDtoImplCopyWithImpl<$Res>;
  @override
  @useResult
  $Res call(
      {int? id,
      @JsonKey(name: 'started_at') DateTime startedAt,
      @JsonKey(name: 'ended_at') DateTime endedAt,
      @JsonKey(name: 'equipment_history_id') int? equipmentHistoryId,
      @JsonKey(name: 'equipment_serial') String? equipmentSerial,
      @JsonKey(name: 'equipment_model') String? equipmentModel,
      @JsonKey(name: 'company_name') String? companyName,
      @JsonKey(name: 'days_remaining') int? daysRemaining,
      @JsonKey(name: 'is_active') bool? isActive,
      @JsonKey(name: 'total_days') int? totalDays,
      EquipmentHistoryDto? equipmentHistory});

  @override
  $EquipmentHistoryDtoCopyWith<$Res>? get equipmentHistory;
}

/// @nodoc
class __$$RentDtoImplCopyWithImpl<$Res>
    extends _$RentDtoCopyWithImpl<$Res, _$RentDtoImpl>
    implements _$$RentDtoImplCopyWith<$Res> {
  __$$RentDtoImplCopyWithImpl(
      _$RentDtoImpl _value, $Res Function(_$RentDtoImpl) _then)
      : super(_value, _then);

  /// Create a copy of RentDto
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? id = freezed,
    Object? startedAt = null,
    Object? endedAt = null,
    Object? equipmentHistoryId = freezed,
    Object? equipmentSerial = freezed,
    Object? equipmentModel = freezed,
    Object? companyName = freezed,
    Object? daysRemaining = freezed,
    Object? isActive = freezed,
    Object? totalDays = freezed,
    Object? equipmentHistory = freezed,
  }) {
    return _then(_$RentDtoImpl(
      id: freezed == id
          ? _value.id
          : id // ignore: cast_nullable_to_non_nullable
              as int?,
      startedAt: null == startedAt
          ? _value.startedAt
          : startedAt // ignore: cast_nullable_to_non_nullable
              as DateTime,
      endedAt: null == endedAt
          ? _value.endedAt
          : endedAt // ignore: cast_nullable_to_non_nullable
              as DateTime,
      equipmentHistoryId: freezed == equipmentHistoryId
          ? _value.equipmentHistoryId
          : equipmentHistoryId // ignore: cast_nullable_to_non_nullable
              as int?,
      equipmentSerial: freezed == equipmentSerial
          ? _value.equipmentSerial
          : equipmentSerial // ignore: cast_nullable_to_non_nullable
              as String?,
      equipmentModel: freezed == equipmentModel
          ? _value.equipmentModel
          : equipmentModel // ignore: cast_nullable_to_non_nullable
              as String?,
      companyName: freezed == companyName
          ? _value.companyName
          : companyName // ignore: cast_nullable_to_non_nullable
              as String?,
      daysRemaining: freezed == daysRemaining
          ? _value.daysRemaining
          : daysRemaining // ignore: cast_nullable_to_non_nullable
              as int?,
      isActive: freezed == isActive
          ? _value.isActive
          : isActive // ignore: cast_nullable_to_non_nullable
              as bool?,
      totalDays: freezed == totalDays
          ? _value.totalDays
          : totalDays // ignore: cast_nullable_to_non_nullable
              as int?,
      equipmentHistory: freezed == equipmentHistory
          ? _value.equipmentHistory
          : equipmentHistory // ignore: cast_nullable_to_non_nullable
              as EquipmentHistoryDto?,
    ));
  }
}

/// @nodoc
@JsonSerializable()
class _$RentDtoImpl extends _RentDto {
  const _$RentDtoImpl(
      {this.id,
      @JsonKey(name: 'started_at') required this.startedAt,
      @JsonKey(name: 'ended_at') required this.endedAt,
      @JsonKey(name: 'equipment_history_id') this.equipmentHistoryId,
      @JsonKey(name: 'equipment_serial') this.equipmentSerial,
      @JsonKey(name: 'equipment_model') this.equipmentModel,
      @JsonKey(name: 'company_name') this.companyName,
      @JsonKey(name: 'days_remaining') this.daysRemaining,
      @JsonKey(name: 'is_active') this.isActive,
      @JsonKey(name: 'total_days') this.totalDays,
      this.equipmentHistory})
      : super._();

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

  @override
  final int? id;
  @override
  @JsonKey(name: 'started_at')
  final DateTime startedAt;
  @override
  @JsonKey(name: 'ended_at')
  final DateTime endedAt;
  @override
  @JsonKey(name: 'equipment_history_id')
  final int? equipmentHistoryId;
// JOIN fields from backend (계산된 필드들)
  @override
  @JsonKey(name: 'equipment_serial')
  final String? equipmentSerial;
  @override
  @JsonKey(name: 'equipment_model')
  final String? equipmentModel;
  @override
  @JsonKey(name: 'company_name')
  final String? companyName;
  @override
  @JsonKey(name: 'days_remaining')
  final int? daysRemaining;
  @override
  @JsonKey(name: 'is_active')
  final bool? isActive;
  @override
  @JsonKey(name: 'total_days')
  final int? totalDays;
// Related entities (optional, populated in GET requests)
  @override
  final EquipmentHistoryDto? equipmentHistory;

  @override
  String toString() {
    return 'RentDto(id: $id, startedAt: $startedAt, endedAt: $endedAt, equipmentHistoryId: $equipmentHistoryId, equipmentSerial: $equipmentSerial, equipmentModel: $equipmentModel, companyName: $companyName, daysRemaining: $daysRemaining, isActive: $isActive, totalDays: $totalDays, equipmentHistory: $equipmentHistory)';
  }

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$RentDtoImpl &&
            (identical(other.id, id) || other.id == id) &&
            (identical(other.startedAt, startedAt) ||
                other.startedAt == startedAt) &&
            (identical(other.endedAt, endedAt) || other.endedAt == endedAt) &&
            (identical(other.equipmentHistoryId, equipmentHistoryId) ||
                other.equipmentHistoryId == equipmentHistoryId) &&
            (identical(other.equipmentSerial, equipmentSerial) ||
                other.equipmentSerial == equipmentSerial) &&
            (identical(other.equipmentModel, equipmentModel) ||
                other.equipmentModel == equipmentModel) &&
            (identical(other.companyName, companyName) ||
                other.companyName == companyName) &&
            (identical(other.daysRemaining, daysRemaining) ||
                other.daysRemaining == daysRemaining) &&
            (identical(other.isActive, isActive) ||
                other.isActive == isActive) &&
            (identical(other.totalDays, totalDays) ||
                other.totalDays == totalDays) &&
            (identical(other.equipmentHistory, equipmentHistory) ||
                other.equipmentHistory == equipmentHistory));
  }

  @JsonKey(includeFromJson: false, includeToJson: false)
  @override
  int get hashCode => Object.hash(
      runtimeType,
      id,
      startedAt,
      endedAt,
      equipmentHistoryId,
      equipmentSerial,
      equipmentModel,
      companyName,
      daysRemaining,
      isActive,
      totalDays,
      equipmentHistory);

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

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

abstract class _RentDto extends RentDto {
  const factory _RentDto(
      {final int? id,
      @JsonKey(name: 'started_at') required final DateTime startedAt,
      @JsonKey(name: 'ended_at') required final DateTime endedAt,
      @JsonKey(name: 'equipment_history_id') final int? equipmentHistoryId,
      @JsonKey(name: 'equipment_serial') final String? equipmentSerial,
      @JsonKey(name: 'equipment_model') final String? equipmentModel,
      @JsonKey(name: 'company_name') final String? companyName,
      @JsonKey(name: 'days_remaining') final int? daysRemaining,
      @JsonKey(name: 'is_active') final bool? isActive,
      @JsonKey(name: 'total_days') final int? totalDays,
      final EquipmentHistoryDto? equipmentHistory}) = _$RentDtoImpl;
  const _RentDto._() : super._();

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

  @override
  int? get id;
  @override
  @JsonKey(name: 'started_at')
  DateTime get startedAt;
  @override
  @JsonKey(name: 'ended_at')
  DateTime get endedAt;
  @override
  @JsonKey(name: 'equipment_history_id')
  int? get equipmentHistoryId; // JOIN fields from backend (계산된 필드들)
  @override
  @JsonKey(name: 'equipment_serial')
  String? get equipmentSerial;
  @override
  @JsonKey(name: 'equipment_model')
  String? get equipmentModel;
  @override
  @JsonKey(name: 'company_name')
  String? get companyName;
  @override
  @JsonKey(name: 'days_remaining')
  int? get daysRemaining;
  @override
  @JsonKey(name: 'is_active')
  bool? get isActive;
  @override
  @JsonKey(name: 'total_days')
  int? get totalDays; // Related entities (optional, populated in GET requests)
  @override
  EquipmentHistoryDto? get equipmentHistory;

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

RentRequestDto _$RentRequestDtoFromJson(Map<String, dynamic> json) {
  return _RentRequestDto.fromJson(json);
}

/// @nodoc
mixin _$RentRequestDto {
  @JsonKey(name: 'started_at')
  DateTime get startedAt => throw _privateConstructorUsedError;
  @JsonKey(name: 'ended_at')
  DateTime get endedAt => throw _privateConstructorUsedError;
  @JsonKey(name: 'equipment_history_id')
  int get equipmentHistoryId => throw _privateConstructorUsedError;

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

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

/// @nodoc
abstract class $RentRequestDtoCopyWith<$Res> {
  factory $RentRequestDtoCopyWith(
          RentRequestDto value, $Res Function(RentRequestDto) then) =
      _$RentRequestDtoCopyWithImpl<$Res, RentRequestDto>;
  @useResult
  $Res call(
      {@JsonKey(name: 'started_at') DateTime startedAt,
      @JsonKey(name: 'ended_at') DateTime endedAt,
      @JsonKey(name: 'equipment_history_id') int equipmentHistoryId});
}

/// @nodoc
class _$RentRequestDtoCopyWithImpl<$Res, $Val extends RentRequestDto>
    implements $RentRequestDtoCopyWith<$Res> {
  _$RentRequestDtoCopyWithImpl(this._value, this._then);

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

  /// Create a copy of RentRequestDto
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? startedAt = null,
    Object? endedAt = null,
    Object? equipmentHistoryId = null,
  }) {
    return _then(_value.copyWith(
      startedAt: null == startedAt
          ? _value.startedAt
          : startedAt // ignore: cast_nullable_to_non_nullable
              as DateTime,
      endedAt: null == endedAt
          ? _value.endedAt
          : endedAt // ignore: cast_nullable_to_non_nullable
              as DateTime,
      equipmentHistoryId: null == equipmentHistoryId
          ? _value.equipmentHistoryId
          : equipmentHistoryId // ignore: cast_nullable_to_non_nullable
              as int,
    ) as $Val);
  }
}

/// @nodoc
abstract class _$$RentRequestDtoImplCopyWith<$Res>
    implements $RentRequestDtoCopyWith<$Res> {
  factory _$$RentRequestDtoImplCopyWith(_$RentRequestDtoImpl value,
          $Res Function(_$RentRequestDtoImpl) then) =
      __$$RentRequestDtoImplCopyWithImpl<$Res>;
  @override
  @useResult
  $Res call(
      {@JsonKey(name: 'started_at') DateTime startedAt,
      @JsonKey(name: 'ended_at') DateTime endedAt,
      @JsonKey(name: 'equipment_history_id') int equipmentHistoryId});
}

/// @nodoc
class __$$RentRequestDtoImplCopyWithImpl<$Res>
    extends _$RentRequestDtoCopyWithImpl<$Res, _$RentRequestDtoImpl>
    implements _$$RentRequestDtoImplCopyWith<$Res> {
  __$$RentRequestDtoImplCopyWithImpl(
      _$RentRequestDtoImpl _value, $Res Function(_$RentRequestDtoImpl) _then)
      : super(_value, _then);

  /// Create a copy of RentRequestDto
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? startedAt = null,
    Object? endedAt = null,
    Object? equipmentHistoryId = null,
  }) {
    return _then(_$RentRequestDtoImpl(
      startedAt: null == startedAt
          ? _value.startedAt
          : startedAt // ignore: cast_nullable_to_non_nullable
              as DateTime,
      endedAt: null == endedAt
          ? _value.endedAt
          : endedAt // ignore: cast_nullable_to_non_nullable
              as DateTime,
      equipmentHistoryId: null == equipmentHistoryId
          ? _value.equipmentHistoryId
          : equipmentHistoryId // ignore: cast_nullable_to_non_nullable
              as int,
    ));
  }
}

/// @nodoc
@JsonSerializable()
class _$RentRequestDtoImpl implements _RentRequestDto {
  const _$RentRequestDtoImpl(
      {@JsonKey(name: 'started_at') required this.startedAt,
      @JsonKey(name: 'ended_at') required this.endedAt,
      @JsonKey(name: 'equipment_history_id') required this.equipmentHistoryId});

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

  @override
  @JsonKey(name: 'started_at')
  final DateTime startedAt;
  @override
  @JsonKey(name: 'ended_at')
  final DateTime endedAt;
  @override
  @JsonKey(name: 'equipment_history_id')
  final int equipmentHistoryId;

  @override
  String toString() {
    return 'RentRequestDto(startedAt: $startedAt, endedAt: $endedAt, equipmentHistoryId: $equipmentHistoryId)';
  }

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$RentRequestDtoImpl &&
            (identical(other.startedAt, startedAt) ||
                other.startedAt == startedAt) &&
            (identical(other.endedAt, endedAt) || other.endedAt == endedAt) &&
            (identical(other.equipmentHistoryId, equipmentHistoryId) ||
                other.equipmentHistoryId == equipmentHistoryId));
  }

  @JsonKey(includeFromJson: false, includeToJson: false)
  @override
  int get hashCode =>
      Object.hash(runtimeType, startedAt, endedAt, equipmentHistoryId);

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

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

abstract class _RentRequestDto implements RentRequestDto {
  const factory _RentRequestDto(
      {@JsonKey(name: 'started_at') required final DateTime startedAt,
      @JsonKey(name: 'ended_at') required final DateTime endedAt,
      @JsonKey(name: 'equipment_history_id')
      required final int equipmentHistoryId}) = _$RentRequestDtoImpl;

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

  @override
  @JsonKey(name: 'started_at')
  DateTime get startedAt;
  @override
  @JsonKey(name: 'ended_at')
  DateTime get endedAt;
  @override
  @JsonKey(name: 'equipment_history_id')
  int get equipmentHistoryId;

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

RentUpdateRequestDto _$RentUpdateRequestDtoFromJson(Map<String, dynamic> json) {
  return _RentUpdateRequestDto.fromJson(json);
}

/// @nodoc
mixin _$RentUpdateRequestDto {
  @JsonKey(name: 'started_at')
  DateTime? get startedAt => throw _privateConstructorUsedError;
  @JsonKey(name: 'ended_at')
  DateTime? get endedAt => throw _privateConstructorUsedError;
  @JsonKey(name: 'equipment_history_id')
  int? get equipmentHistoryId => throw _privateConstructorUsedError;

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

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

/// @nodoc
abstract class $RentUpdateRequestDtoCopyWith<$Res> {
  factory $RentUpdateRequestDtoCopyWith(RentUpdateRequestDto value,
          $Res Function(RentUpdateRequestDto) then) =
      _$RentUpdateRequestDtoCopyWithImpl<$Res, RentUpdateRequestDto>;
  @useResult
  $Res call(
      {@JsonKey(name: 'started_at') DateTime? startedAt,
      @JsonKey(name: 'ended_at') DateTime? endedAt,
      @JsonKey(name: 'equipment_history_id') int? equipmentHistoryId});
}

/// @nodoc
class _$RentUpdateRequestDtoCopyWithImpl<$Res,
        $Val extends RentUpdateRequestDto>
    implements $RentUpdateRequestDtoCopyWith<$Res> {
  _$RentUpdateRequestDtoCopyWithImpl(this._value, this._then);

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

  /// Create a copy of RentUpdateRequestDto
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? startedAt = freezed,
    Object? endedAt = freezed,
    Object? equipmentHistoryId = freezed,
  }) {
    return _then(_value.copyWith(
      startedAt: freezed == startedAt
          ? _value.startedAt
          : startedAt // ignore: cast_nullable_to_non_nullable
              as DateTime?,
      endedAt: freezed == endedAt
          ? _value.endedAt
          : endedAt // ignore: cast_nullable_to_non_nullable
              as DateTime?,
      equipmentHistoryId: freezed == equipmentHistoryId
          ? _value.equipmentHistoryId
          : equipmentHistoryId // ignore: cast_nullable_to_non_nullable
              as int?,
    ) as $Val);
  }
}

/// @nodoc
abstract class _$$RentUpdateRequestDtoImplCopyWith<$Res>
    implements $RentUpdateRequestDtoCopyWith<$Res> {
  factory _$$RentUpdateRequestDtoImplCopyWith(_$RentUpdateRequestDtoImpl value,
          $Res Function(_$RentUpdateRequestDtoImpl) then) =
      __$$RentUpdateRequestDtoImplCopyWithImpl<$Res>;
  @override
  @useResult
  $Res call(
      {@JsonKey(name: 'started_at') DateTime? startedAt,
      @JsonKey(name: 'ended_at') DateTime? endedAt,
      @JsonKey(name: 'equipment_history_id') int? equipmentHistoryId});
}

/// @nodoc
class __$$RentUpdateRequestDtoImplCopyWithImpl<$Res>
    extends _$RentUpdateRequestDtoCopyWithImpl<$Res, _$RentUpdateRequestDtoImpl>
    implements _$$RentUpdateRequestDtoImplCopyWith<$Res> {
  __$$RentUpdateRequestDtoImplCopyWithImpl(_$RentUpdateRequestDtoImpl _value,
      $Res Function(_$RentUpdateRequestDtoImpl) _then)
      : super(_value, _then);

  /// Create a copy of RentUpdateRequestDto
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? startedAt = freezed,
    Object? endedAt = freezed,
    Object? equipmentHistoryId = freezed,
  }) {
    return _then(_$RentUpdateRequestDtoImpl(
      startedAt: freezed == startedAt
          ? _value.startedAt
          : startedAt // ignore: cast_nullable_to_non_nullable
              as DateTime?,
      endedAt: freezed == endedAt
          ? _value.endedAt
          : endedAt // ignore: cast_nullable_to_non_nullable
              as DateTime?,
      equipmentHistoryId: freezed == equipmentHistoryId
          ? _value.equipmentHistoryId
          : equipmentHistoryId // ignore: cast_nullable_to_non_nullable
              as int?,
    ));
  }
}

/// @nodoc
@JsonSerializable()
class _$RentUpdateRequestDtoImpl implements _RentUpdateRequestDto {
  const _$RentUpdateRequestDtoImpl(
      {@JsonKey(name: 'started_at') this.startedAt,
      @JsonKey(name: 'ended_at') this.endedAt,
      @JsonKey(name: 'equipment_history_id') this.equipmentHistoryId});

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

  @override
  @JsonKey(name: 'started_at')
  final DateTime? startedAt;
  @override
  @JsonKey(name: 'ended_at')
  final DateTime? endedAt;
  @override
  @JsonKey(name: 'equipment_history_id')
  final int? equipmentHistoryId;

  @override
  String toString() {
    return 'RentUpdateRequestDto(startedAt: $startedAt, endedAt: $endedAt, equipmentHistoryId: $equipmentHistoryId)';
  }

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$RentUpdateRequestDtoImpl &&
            (identical(other.startedAt, startedAt) ||
                other.startedAt == startedAt) &&
            (identical(other.endedAt, endedAt) || other.endedAt == endedAt) &&
            (identical(other.equipmentHistoryId, equipmentHistoryId) ||
                other.equipmentHistoryId == equipmentHistoryId));
  }

  @JsonKey(includeFromJson: false, includeToJson: false)
  @override
  int get hashCode =>
      Object.hash(runtimeType, startedAt, endedAt, equipmentHistoryId);

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

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

abstract class _RentUpdateRequestDto implements RentUpdateRequestDto {
  const factory _RentUpdateRequestDto(
      {@JsonKey(name: 'started_at') final DateTime? startedAt,
      @JsonKey(name: 'ended_at') final DateTime? endedAt,
      @JsonKey(name: 'equipment_history_id')
      final int? equipmentHistoryId}) = _$RentUpdateRequestDtoImpl;

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

  @override
  @JsonKey(name: 'started_at')
  DateTime? get startedAt;
  @override
  @JsonKey(name: 'ended_at')
  DateTime? get endedAt;
  @override
  @JsonKey(name: 'equipment_history_id')
  int? get equipmentHistoryId;

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

RentListResponse _$RentListResponseFromJson(Map<String, dynamic> json) {
  return _RentListResponse.fromJson(json);
}

/// @nodoc
mixin _$RentListResponse {
  @JsonKey(name: 'data')
  List<RentDto> get items => throw _privateConstructorUsedError;
  @JsonKey(name: 'total')
  int get totalCount => throw _privateConstructorUsedError;
  @JsonKey(name: 'page')
  int get currentPage => throw _privateConstructorUsedError;
  @JsonKey(name: 'total_pages')
  int get totalPages => throw _privateConstructorUsedError;
  @JsonKey(name: 'page_size')
  int? get pageSize => throw _privateConstructorUsedError;

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

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

/// @nodoc
abstract class $RentListResponseCopyWith<$Res> {
  factory $RentListResponseCopyWith(
          RentListResponse value, $Res Function(RentListResponse) then) =
      _$RentListResponseCopyWithImpl<$Res, RentListResponse>;
  @useResult
  $Res call(
      {@JsonKey(name: 'data') List<RentDto> items,
      @JsonKey(name: 'total') int totalCount,
      @JsonKey(name: 'page') int currentPage,
      @JsonKey(name: 'total_pages') int totalPages,
      @JsonKey(name: 'page_size') int? pageSize});
}

/// @nodoc
class _$RentListResponseCopyWithImpl<$Res, $Val extends RentListResponse>
    implements $RentListResponseCopyWith<$Res> {
  _$RentListResponseCopyWithImpl(this._value, this._then);

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

  /// Create a copy of RentListResponse
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? items = null,
    Object? totalCount = null,
    Object? currentPage = null,
    Object? totalPages = null,
    Object? pageSize = freezed,
  }) {
    return _then(_value.copyWith(
      items: null == items
          ? _value.items
          : items // ignore: cast_nullable_to_non_nullable
              as List<RentDto>,
      totalCount: null == totalCount
          ? _value.totalCount
          : totalCount // ignore: cast_nullable_to_non_nullable
              as int,
      currentPage: null == currentPage
          ? _value.currentPage
          : currentPage // ignore: cast_nullable_to_non_nullable
              as int,
      totalPages: null == totalPages
          ? _value.totalPages
          : totalPages // ignore: cast_nullable_to_non_nullable
              as int,
      pageSize: freezed == pageSize
          ? _value.pageSize
          : pageSize // ignore: cast_nullable_to_non_nullable
              as int?,
    ) as $Val);
  }
}

/// @nodoc
abstract class _$$RentListResponseImplCopyWith<$Res>
    implements $RentListResponseCopyWith<$Res> {
  factory _$$RentListResponseImplCopyWith(_$RentListResponseImpl value,
          $Res Function(_$RentListResponseImpl) then) =
      __$$RentListResponseImplCopyWithImpl<$Res>;
  @override
  @useResult
  $Res call(
      {@JsonKey(name: 'data') List<RentDto> items,
      @JsonKey(name: 'total') int totalCount,
      @JsonKey(name: 'page') int currentPage,
      @JsonKey(name: 'total_pages') int totalPages,
      @JsonKey(name: 'page_size') int? pageSize});
}

/// @nodoc
class __$$RentListResponseImplCopyWithImpl<$Res>
    extends _$RentListResponseCopyWithImpl<$Res, _$RentListResponseImpl>
    implements _$$RentListResponseImplCopyWith<$Res> {
  __$$RentListResponseImplCopyWithImpl(_$RentListResponseImpl _value,
      $Res Function(_$RentListResponseImpl) _then)
      : super(_value, _then);

  /// Create a copy of RentListResponse
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? items = null,
    Object? totalCount = null,
    Object? currentPage = null,
    Object? totalPages = null,
    Object? pageSize = freezed,
  }) {
    return _then(_$RentListResponseImpl(
      items: null == items
          ? _value._items
          : items // ignore: cast_nullable_to_non_nullable
              as List<RentDto>,
      totalCount: null == totalCount
          ? _value.totalCount
          : totalCount // ignore: cast_nullable_to_non_nullable
              as int,
      currentPage: null == currentPage
          ? _value.currentPage
          : currentPage // ignore: cast_nullable_to_non_nullable
              as int,
      totalPages: null == totalPages
          ? _value.totalPages
          : totalPages // ignore: cast_nullable_to_non_nullable
              as int,
      pageSize: freezed == pageSize
          ? _value.pageSize
          : pageSize // ignore: cast_nullable_to_non_nullable
              as int?,
    ));
  }
}

/// @nodoc
@JsonSerializable()
class _$RentListResponseImpl implements _RentListResponse {
  const _$RentListResponseImpl(
      {@JsonKey(name: 'data') required final List<RentDto> items,
      @JsonKey(name: 'total') required this.totalCount,
      @JsonKey(name: 'page') required this.currentPage,
      @JsonKey(name: 'total_pages') required this.totalPages,
      @JsonKey(name: 'page_size') this.pageSize})
      : _items = items;

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

  final List<RentDto> _items;
  @override
  @JsonKey(name: 'data')
  List<RentDto> get items {
    if (_items is EqualUnmodifiableListView) return _items;
    // ignore: implicit_dynamic_type
    return EqualUnmodifiableListView(_items);
  }

  @override
  @JsonKey(name: 'total')
  final int totalCount;
  @override
  @JsonKey(name: 'page')
  final int currentPage;
  @override
  @JsonKey(name: 'total_pages')
  final int totalPages;
  @override
  @JsonKey(name: 'page_size')
  final int? pageSize;

  @override
  String toString() {
    return 'RentListResponse(items: $items, totalCount: $totalCount, currentPage: $currentPage, totalPages: $totalPages, pageSize: $pageSize)';
  }

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$RentListResponseImpl &&
            const DeepCollectionEquality().equals(other._items, _items) &&
            (identical(other.totalCount, totalCount) ||
                other.totalCount == totalCount) &&
            (identical(other.currentPage, currentPage) ||
                other.currentPage == currentPage) &&
            (identical(other.totalPages, totalPages) ||
                other.totalPages == totalPages) &&
            (identical(other.pageSize, pageSize) ||
                other.pageSize == pageSize));
  }

  @JsonKey(includeFromJson: false, includeToJson: false)
  @override
  int get hashCode => Object.hash(
      runtimeType,
      const DeepCollectionEquality().hash(_items),
      totalCount,
      currentPage,
      totalPages,
      pageSize);

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

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

abstract class _RentListResponse implements RentListResponse {
  const factory _RentListResponse(
          {@JsonKey(name: 'data') required final List<RentDto> items,
          @JsonKey(name: 'total') required final int totalCount,
          @JsonKey(name: 'page') required final int currentPage,
          @JsonKey(name: 'total_pages') required final int totalPages,
          @JsonKey(name: 'page_size') final int? pageSize}) =
      _$RentListResponseImpl;

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

  @override
  @JsonKey(name: 'data')
  List<RentDto> get items;
  @override
  @JsonKey(name: 'total')
  int get totalCount;
  @override
  @JsonKey(name: 'page')
  int get currentPage;
  @override
  @JsonKey(name: 'total_pages')
  int get totalPages;
  @override
  @JsonKey(name: 'page_size')
  int? get pageSize;

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