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

LicenseDto _$LicenseDtoFromJson(Map<String, dynamic> json) {
  return _LicenseDto.fromJson(json);
}

/// @nodoc
mixin _$LicenseDto {
  int get id => throw _privateConstructorUsedError;
  @JsonKey(name: 'license_key')
  String get licenseKey => throw _privateConstructorUsedError;
  @JsonKey(name: 'product_name')
  String? get productName => throw _privateConstructorUsedError;
  String? get vendor => throw _privateConstructorUsedError;
  @JsonKey(name: 'license_type')
  String? get licenseType => throw _privateConstructorUsedError;
  @JsonKey(name: 'user_count')
  int? get userCount => throw _privateConstructorUsedError;
  @JsonKey(name: 'purchase_date', toJson: _dateToJson, fromJson: _dateFromJson)
  DateTime? get purchaseDate => throw _privateConstructorUsedError;
  @JsonKey(name: 'expiry_date', toJson: _dateToJson, fromJson: _dateFromJson)
  DateTime? get expiryDate => throw _privateConstructorUsedError;
  @JsonKey(name: 'purchase_price')
  double? get purchasePrice => throw _privateConstructorUsedError;
  @JsonKey(name: 'company_id')
  int? get companyId => throw _privateConstructorUsedError;
  @JsonKey(name: 'branch_id')
  int? get branchId => throw _privateConstructorUsedError;
  @JsonKey(name: 'assigned_user_id')
  int? get assignedUserId => throw _privateConstructorUsedError;
  String? get remark => throw _privateConstructorUsedError;
  @JsonKey(name: 'is_active')
  bool get isActive => throw _privateConstructorUsedError;
  @JsonKey(name: 'created_at')
  DateTime get createdAt => throw _privateConstructorUsedError;
  @JsonKey(name: 'updated_at')
  DateTime get updatedAt =>
      throw _privateConstructorUsedError; // 추가 필드 (조인된 데이터)
  @JsonKey(name: 'company_name')
  String? get companyName => throw _privateConstructorUsedError;
  @JsonKey(name: 'branch_name')
  String? get branchName => throw _privateConstructorUsedError;
  @JsonKey(name: 'assigned_user_name')
  String? get assignedUserName => throw _privateConstructorUsedError;

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

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

/// @nodoc
abstract class $LicenseDtoCopyWith<$Res> {
  factory $LicenseDtoCopyWith(
          LicenseDto value, $Res Function(LicenseDto) then) =
      _$LicenseDtoCopyWithImpl<$Res, LicenseDto>;
  @useResult
  $Res call(
      {int id,
      @JsonKey(name: 'license_key') String licenseKey,
      @JsonKey(name: 'product_name') String? productName,
      String? vendor,
      @JsonKey(name: 'license_type') String? licenseType,
      @JsonKey(name: 'user_count') int? userCount,
      @JsonKey(
          name: 'purchase_date', toJson: _dateToJson, fromJson: _dateFromJson)
      DateTime? purchaseDate,
      @JsonKey(
          name: 'expiry_date', toJson: _dateToJson, fromJson: _dateFromJson)
      DateTime? expiryDate,
      @JsonKey(name: 'purchase_price') double? purchasePrice,
      @JsonKey(name: 'company_id') int? companyId,
      @JsonKey(name: 'branch_id') int? branchId,
      @JsonKey(name: 'assigned_user_id') int? assignedUserId,
      String? remark,
      @JsonKey(name: 'is_active') bool isActive,
      @JsonKey(name: 'created_at') DateTime createdAt,
      @JsonKey(name: 'updated_at') DateTime updatedAt,
      @JsonKey(name: 'company_name') String? companyName,
      @JsonKey(name: 'branch_name') String? branchName,
      @JsonKey(name: 'assigned_user_name') String? assignedUserName});
}

/// @nodoc
class _$LicenseDtoCopyWithImpl<$Res, $Val extends LicenseDto>
    implements $LicenseDtoCopyWith<$Res> {
  _$LicenseDtoCopyWithImpl(this._value, this._then);

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

  /// Create a copy of LicenseDto
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? id = null,
    Object? licenseKey = null,
    Object? productName = freezed,
    Object? vendor = freezed,
    Object? licenseType = freezed,
    Object? userCount = freezed,
    Object? purchaseDate = freezed,
    Object? expiryDate = freezed,
    Object? purchasePrice = freezed,
    Object? companyId = freezed,
    Object? branchId = freezed,
    Object? assignedUserId = freezed,
    Object? remark = freezed,
    Object? isActive = null,
    Object? createdAt = null,
    Object? updatedAt = null,
    Object? companyName = freezed,
    Object? branchName = freezed,
    Object? assignedUserName = freezed,
  }) {
    return _then(_value.copyWith(
      id: null == id
          ? _value.id
          : id // ignore: cast_nullable_to_non_nullable
              as int,
      licenseKey: null == licenseKey
          ? _value.licenseKey
          : licenseKey // ignore: cast_nullable_to_non_nullable
              as String,
      productName: freezed == productName
          ? _value.productName
          : productName // ignore: cast_nullable_to_non_nullable
              as String?,
      vendor: freezed == vendor
          ? _value.vendor
          : vendor // ignore: cast_nullable_to_non_nullable
              as String?,
      licenseType: freezed == licenseType
          ? _value.licenseType
          : licenseType // ignore: cast_nullable_to_non_nullable
              as String?,
      userCount: freezed == userCount
          ? _value.userCount
          : userCount // ignore: cast_nullable_to_non_nullable
              as int?,
      purchaseDate: freezed == purchaseDate
          ? _value.purchaseDate
          : purchaseDate // ignore: cast_nullable_to_non_nullable
              as DateTime?,
      expiryDate: freezed == expiryDate
          ? _value.expiryDate
          : expiryDate // ignore: cast_nullable_to_non_nullable
              as DateTime?,
      purchasePrice: freezed == purchasePrice
          ? _value.purchasePrice
          : purchasePrice // ignore: cast_nullable_to_non_nullable
              as double?,
      companyId: freezed == companyId
          ? _value.companyId
          : companyId // ignore: cast_nullable_to_non_nullable
              as int?,
      branchId: freezed == branchId
          ? _value.branchId
          : branchId // ignore: cast_nullable_to_non_nullable
              as int?,
      assignedUserId: freezed == assignedUserId
          ? _value.assignedUserId
          : assignedUserId // ignore: cast_nullable_to_non_nullable
              as int?,
      remark: freezed == remark
          ? _value.remark
          : remark // ignore: cast_nullable_to_non_nullable
              as String?,
      isActive: null == isActive
          ? _value.isActive
          : isActive // ignore: cast_nullable_to_non_nullable
              as bool,
      createdAt: null == createdAt
          ? _value.createdAt
          : createdAt // ignore: cast_nullable_to_non_nullable
              as DateTime,
      updatedAt: null == updatedAt
          ? _value.updatedAt
          : updatedAt // ignore: cast_nullable_to_non_nullable
              as DateTime,
      companyName: freezed == companyName
          ? _value.companyName
          : companyName // ignore: cast_nullable_to_non_nullable
              as String?,
      branchName: freezed == branchName
          ? _value.branchName
          : branchName // ignore: cast_nullable_to_non_nullable
              as String?,
      assignedUserName: freezed == assignedUserName
          ? _value.assignedUserName
          : assignedUserName // ignore: cast_nullable_to_non_nullable
              as String?,
    ) as $Val);
  }
}

/// @nodoc
abstract class _$$LicenseDtoImplCopyWith<$Res>
    implements $LicenseDtoCopyWith<$Res> {
  factory _$$LicenseDtoImplCopyWith(
          _$LicenseDtoImpl value, $Res Function(_$LicenseDtoImpl) then) =
      __$$LicenseDtoImplCopyWithImpl<$Res>;
  @override
  @useResult
  $Res call(
      {int id,
      @JsonKey(name: 'license_key') String licenseKey,
      @JsonKey(name: 'product_name') String? productName,
      String? vendor,
      @JsonKey(name: 'license_type') String? licenseType,
      @JsonKey(name: 'user_count') int? userCount,
      @JsonKey(
          name: 'purchase_date', toJson: _dateToJson, fromJson: _dateFromJson)
      DateTime? purchaseDate,
      @JsonKey(
          name: 'expiry_date', toJson: _dateToJson, fromJson: _dateFromJson)
      DateTime? expiryDate,
      @JsonKey(name: 'purchase_price') double? purchasePrice,
      @JsonKey(name: 'company_id') int? companyId,
      @JsonKey(name: 'branch_id') int? branchId,
      @JsonKey(name: 'assigned_user_id') int? assignedUserId,
      String? remark,
      @JsonKey(name: 'is_active') bool isActive,
      @JsonKey(name: 'created_at') DateTime createdAt,
      @JsonKey(name: 'updated_at') DateTime updatedAt,
      @JsonKey(name: 'company_name') String? companyName,
      @JsonKey(name: 'branch_name') String? branchName,
      @JsonKey(name: 'assigned_user_name') String? assignedUserName});
}

/// @nodoc
class __$$LicenseDtoImplCopyWithImpl<$Res>
    extends _$LicenseDtoCopyWithImpl<$Res, _$LicenseDtoImpl>
    implements _$$LicenseDtoImplCopyWith<$Res> {
  __$$LicenseDtoImplCopyWithImpl(
      _$LicenseDtoImpl _value, $Res Function(_$LicenseDtoImpl) _then)
      : super(_value, _then);

  /// Create a copy of LicenseDto
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? id = null,
    Object? licenseKey = null,
    Object? productName = freezed,
    Object? vendor = freezed,
    Object? licenseType = freezed,
    Object? userCount = freezed,
    Object? purchaseDate = freezed,
    Object? expiryDate = freezed,
    Object? purchasePrice = freezed,
    Object? companyId = freezed,
    Object? branchId = freezed,
    Object? assignedUserId = freezed,
    Object? remark = freezed,
    Object? isActive = null,
    Object? createdAt = null,
    Object? updatedAt = null,
    Object? companyName = freezed,
    Object? branchName = freezed,
    Object? assignedUserName = freezed,
  }) {
    return _then(_$LicenseDtoImpl(
      id: null == id
          ? _value.id
          : id // ignore: cast_nullable_to_non_nullable
              as int,
      licenseKey: null == licenseKey
          ? _value.licenseKey
          : licenseKey // ignore: cast_nullable_to_non_nullable
              as String,
      productName: freezed == productName
          ? _value.productName
          : productName // ignore: cast_nullable_to_non_nullable
              as String?,
      vendor: freezed == vendor
          ? _value.vendor
          : vendor // ignore: cast_nullable_to_non_nullable
              as String?,
      licenseType: freezed == licenseType
          ? _value.licenseType
          : licenseType // ignore: cast_nullable_to_non_nullable
              as String?,
      userCount: freezed == userCount
          ? _value.userCount
          : userCount // ignore: cast_nullable_to_non_nullable
              as int?,
      purchaseDate: freezed == purchaseDate
          ? _value.purchaseDate
          : purchaseDate // ignore: cast_nullable_to_non_nullable
              as DateTime?,
      expiryDate: freezed == expiryDate
          ? _value.expiryDate
          : expiryDate // ignore: cast_nullable_to_non_nullable
              as DateTime?,
      purchasePrice: freezed == purchasePrice
          ? _value.purchasePrice
          : purchasePrice // ignore: cast_nullable_to_non_nullable
              as double?,
      companyId: freezed == companyId
          ? _value.companyId
          : companyId // ignore: cast_nullable_to_non_nullable
              as int?,
      branchId: freezed == branchId
          ? _value.branchId
          : branchId // ignore: cast_nullable_to_non_nullable
              as int?,
      assignedUserId: freezed == assignedUserId
          ? _value.assignedUserId
          : assignedUserId // ignore: cast_nullable_to_non_nullable
              as int?,
      remark: freezed == remark
          ? _value.remark
          : remark // ignore: cast_nullable_to_non_nullable
              as String?,
      isActive: null == isActive
          ? _value.isActive
          : isActive // ignore: cast_nullable_to_non_nullable
              as bool,
      createdAt: null == createdAt
          ? _value.createdAt
          : createdAt // ignore: cast_nullable_to_non_nullable
              as DateTime,
      updatedAt: null == updatedAt
          ? _value.updatedAt
          : updatedAt // ignore: cast_nullable_to_non_nullable
              as DateTime,
      companyName: freezed == companyName
          ? _value.companyName
          : companyName // ignore: cast_nullable_to_non_nullable
              as String?,
      branchName: freezed == branchName
          ? _value.branchName
          : branchName // ignore: cast_nullable_to_non_nullable
              as String?,
      assignedUserName: freezed == assignedUserName
          ? _value.assignedUserName
          : assignedUserName // ignore: cast_nullable_to_non_nullable
              as String?,
    ));
  }
}

/// @nodoc
@JsonSerializable()
class _$LicenseDtoImpl implements _LicenseDto {
  const _$LicenseDtoImpl(
      {required this.id,
      @JsonKey(name: 'license_key') required this.licenseKey,
      @JsonKey(name: 'product_name') this.productName,
      this.vendor,
      @JsonKey(name: 'license_type') this.licenseType,
      @JsonKey(name: 'user_count') this.userCount,
      @JsonKey(
          name: 'purchase_date', toJson: _dateToJson, fromJson: _dateFromJson)
      this.purchaseDate,
      @JsonKey(
          name: 'expiry_date', toJson: _dateToJson, fromJson: _dateFromJson)
      this.expiryDate,
      @JsonKey(name: 'purchase_price') this.purchasePrice,
      @JsonKey(name: 'company_id') this.companyId,
      @JsonKey(name: 'branch_id') this.branchId,
      @JsonKey(name: 'assigned_user_id') this.assignedUserId,
      this.remark,
      @JsonKey(name: 'is_active') required this.isActive,
      @JsonKey(name: 'created_at') required this.createdAt,
      @JsonKey(name: 'updated_at') required this.updatedAt,
      @JsonKey(name: 'company_name') this.companyName,
      @JsonKey(name: 'branch_name') this.branchName,
      @JsonKey(name: 'assigned_user_name') this.assignedUserName});

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

  @override
  final int id;
  @override
  @JsonKey(name: 'license_key')
  final String licenseKey;
  @override
  @JsonKey(name: 'product_name')
  final String? productName;
  @override
  final String? vendor;
  @override
  @JsonKey(name: 'license_type')
  final String? licenseType;
  @override
  @JsonKey(name: 'user_count')
  final int? userCount;
  @override
  @JsonKey(name: 'purchase_date', toJson: _dateToJson, fromJson: _dateFromJson)
  final DateTime? purchaseDate;
  @override
  @JsonKey(name: 'expiry_date', toJson: _dateToJson, fromJson: _dateFromJson)
  final DateTime? expiryDate;
  @override
  @JsonKey(name: 'purchase_price')
  final double? purchasePrice;
  @override
  @JsonKey(name: 'company_id')
  final int? companyId;
  @override
  @JsonKey(name: 'branch_id')
  final int? branchId;
  @override
  @JsonKey(name: 'assigned_user_id')
  final int? assignedUserId;
  @override
  final String? remark;
  @override
  @JsonKey(name: 'is_active')
  final bool isActive;
  @override
  @JsonKey(name: 'created_at')
  final DateTime createdAt;
  @override
  @JsonKey(name: 'updated_at')
  final DateTime updatedAt;
// 추가 필드 (조인된 데이터)
  @override
  @JsonKey(name: 'company_name')
  final String? companyName;
  @override
  @JsonKey(name: 'branch_name')
  final String? branchName;
  @override
  @JsonKey(name: 'assigned_user_name')
  final String? assignedUserName;

  @override
  String toString() {
    return 'LicenseDto(id: $id, licenseKey: $licenseKey, productName: $productName, vendor: $vendor, licenseType: $licenseType, userCount: $userCount, purchaseDate: $purchaseDate, expiryDate: $expiryDate, purchasePrice: $purchasePrice, companyId: $companyId, branchId: $branchId, assignedUserId: $assignedUserId, remark: $remark, isActive: $isActive, createdAt: $createdAt, updatedAt: $updatedAt, companyName: $companyName, branchName: $branchName, assignedUserName: $assignedUserName)';
  }

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$LicenseDtoImpl &&
            (identical(other.id, id) || other.id == id) &&
            (identical(other.licenseKey, licenseKey) ||
                other.licenseKey == licenseKey) &&
            (identical(other.productName, productName) ||
                other.productName == productName) &&
            (identical(other.vendor, vendor) || other.vendor == vendor) &&
            (identical(other.licenseType, licenseType) ||
                other.licenseType == licenseType) &&
            (identical(other.userCount, userCount) ||
                other.userCount == userCount) &&
            (identical(other.purchaseDate, purchaseDate) ||
                other.purchaseDate == purchaseDate) &&
            (identical(other.expiryDate, expiryDate) ||
                other.expiryDate == expiryDate) &&
            (identical(other.purchasePrice, purchasePrice) ||
                other.purchasePrice == purchasePrice) &&
            (identical(other.companyId, companyId) ||
                other.companyId == companyId) &&
            (identical(other.branchId, branchId) ||
                other.branchId == branchId) &&
            (identical(other.assignedUserId, assignedUserId) ||
                other.assignedUserId == assignedUserId) &&
            (identical(other.remark, remark) || other.remark == remark) &&
            (identical(other.isActive, isActive) ||
                other.isActive == isActive) &&
            (identical(other.createdAt, createdAt) ||
                other.createdAt == createdAt) &&
            (identical(other.updatedAt, updatedAt) ||
                other.updatedAt == updatedAt) &&
            (identical(other.companyName, companyName) ||
                other.companyName == companyName) &&
            (identical(other.branchName, branchName) ||
                other.branchName == branchName) &&
            (identical(other.assignedUserName, assignedUserName) ||
                other.assignedUserName == assignedUserName));
  }

  @JsonKey(includeFromJson: false, includeToJson: false)
  @override
  int get hashCode => Object.hashAll([
        runtimeType,
        id,
        licenseKey,
        productName,
        vendor,
        licenseType,
        userCount,
        purchaseDate,
        expiryDate,
        purchasePrice,
        companyId,
        branchId,
        assignedUserId,
        remark,
        isActive,
        createdAt,
        updatedAt,
        companyName,
        branchName,
        assignedUserName
      ]);

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

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

abstract class _LicenseDto implements LicenseDto {
  const factory _LicenseDto(
      {required final int id,
      @JsonKey(name: 'license_key') required final String licenseKey,
      @JsonKey(name: 'product_name') final String? productName,
      final String? vendor,
      @JsonKey(name: 'license_type') final String? licenseType,
      @JsonKey(name: 'user_count') final int? userCount,
      @JsonKey(
          name: 'purchase_date', toJson: _dateToJson, fromJson: _dateFromJson)
      final DateTime? purchaseDate,
      @JsonKey(
          name: 'expiry_date', toJson: _dateToJson, fromJson: _dateFromJson)
      final DateTime? expiryDate,
      @JsonKey(name: 'purchase_price') final double? purchasePrice,
      @JsonKey(name: 'company_id') final int? companyId,
      @JsonKey(name: 'branch_id') final int? branchId,
      @JsonKey(name: 'assigned_user_id') final int? assignedUserId,
      final String? remark,
      @JsonKey(name: 'is_active') required final bool isActive,
      @JsonKey(name: 'created_at') required final DateTime createdAt,
      @JsonKey(name: 'updated_at') required final DateTime updatedAt,
      @JsonKey(name: 'company_name') final String? companyName,
      @JsonKey(name: 'branch_name') final String? branchName,
      @JsonKey(name: 'assigned_user_name')
      final String? assignedUserName}) = _$LicenseDtoImpl;

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

  @override
  int get id;
  @override
  @JsonKey(name: 'license_key')
  String get licenseKey;
  @override
  @JsonKey(name: 'product_name')
  String? get productName;
  @override
  String? get vendor;
  @override
  @JsonKey(name: 'license_type')
  String? get licenseType;
  @override
  @JsonKey(name: 'user_count')
  int? get userCount;
  @override
  @JsonKey(name: 'purchase_date', toJson: _dateToJson, fromJson: _dateFromJson)
  DateTime? get purchaseDate;
  @override
  @JsonKey(name: 'expiry_date', toJson: _dateToJson, fromJson: _dateFromJson)
  DateTime? get expiryDate;
  @override
  @JsonKey(name: 'purchase_price')
  double? get purchasePrice;
  @override
  @JsonKey(name: 'company_id')
  int? get companyId;
  @override
  @JsonKey(name: 'branch_id')
  int? get branchId;
  @override
  @JsonKey(name: 'assigned_user_id')
  int? get assignedUserId;
  @override
  String? get remark;
  @override
  @JsonKey(name: 'is_active')
  bool get isActive;
  @override
  @JsonKey(name: 'created_at')
  DateTime get createdAt;
  @override
  @JsonKey(name: 'updated_at')
  DateTime get updatedAt; // 추가 필드 (조인된 데이터)
  @override
  @JsonKey(name: 'company_name')
  String? get companyName;
  @override
  @JsonKey(name: 'branch_name')
  String? get branchName;
  @override
  @JsonKey(name: 'assigned_user_name')
  String? get assignedUserName;

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

LicenseListResponseDto _$LicenseListResponseDtoFromJson(
    Map<String, dynamic> json) {
  return _LicenseListResponseDto.fromJson(json);
}

/// @nodoc
mixin _$LicenseListResponseDto {
  List<LicenseDto> get items => throw _privateConstructorUsedError;
  int get total => throw _privateConstructorUsedError;
  int get page => throw _privateConstructorUsedError;
  @JsonKey(name: 'per_page')
  int get perPage => throw _privateConstructorUsedError;
  @JsonKey(name: 'total_pages')
  int get totalPages => throw _privateConstructorUsedError;

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

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

/// @nodoc
abstract class $LicenseListResponseDtoCopyWith<$Res> {
  factory $LicenseListResponseDtoCopyWith(LicenseListResponseDto value,
          $Res Function(LicenseListResponseDto) then) =
      _$LicenseListResponseDtoCopyWithImpl<$Res, LicenseListResponseDto>;
  @useResult
  $Res call(
      {List<LicenseDto> items,
      int total,
      int page,
      @JsonKey(name: 'per_page') int perPage,
      @JsonKey(name: 'total_pages') int totalPages});
}

/// @nodoc
class _$LicenseListResponseDtoCopyWithImpl<$Res,
        $Val extends LicenseListResponseDto>
    implements $LicenseListResponseDtoCopyWith<$Res> {
  _$LicenseListResponseDtoCopyWithImpl(this._value, this._then);

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

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

/// @nodoc
abstract class _$$LicenseListResponseDtoImplCopyWith<$Res>
    implements $LicenseListResponseDtoCopyWith<$Res> {
  factory _$$LicenseListResponseDtoImplCopyWith(
          _$LicenseListResponseDtoImpl value,
          $Res Function(_$LicenseListResponseDtoImpl) then) =
      __$$LicenseListResponseDtoImplCopyWithImpl<$Res>;
  @override
  @useResult
  $Res call(
      {List<LicenseDto> items,
      int total,
      int page,
      @JsonKey(name: 'per_page') int perPage,
      @JsonKey(name: 'total_pages') int totalPages});
}

/// @nodoc
class __$$LicenseListResponseDtoImplCopyWithImpl<$Res>
    extends _$LicenseListResponseDtoCopyWithImpl<$Res,
        _$LicenseListResponseDtoImpl>
    implements _$$LicenseListResponseDtoImplCopyWith<$Res> {
  __$$LicenseListResponseDtoImplCopyWithImpl(
      _$LicenseListResponseDtoImpl _value,
      $Res Function(_$LicenseListResponseDtoImpl) _then)
      : super(_value, _then);

  /// Create a copy of LicenseListResponseDto
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? items = null,
    Object? total = null,
    Object? page = null,
    Object? perPage = null,
    Object? totalPages = null,
  }) {
    return _then(_$LicenseListResponseDtoImpl(
      items: null == items
          ? _value._items
          : items // ignore: cast_nullable_to_non_nullable
              as List<LicenseDto>,
      total: null == total
          ? _value.total
          : total // ignore: cast_nullable_to_non_nullable
              as int,
      page: null == page
          ? _value.page
          : page // ignore: cast_nullable_to_non_nullable
              as int,
      perPage: null == perPage
          ? _value.perPage
          : perPage // ignore: cast_nullable_to_non_nullable
              as int,
      totalPages: null == totalPages
          ? _value.totalPages
          : totalPages // ignore: cast_nullable_to_non_nullable
              as int,
    ));
  }
}

/// @nodoc
@JsonSerializable()
class _$LicenseListResponseDtoImpl implements _LicenseListResponseDto {
  const _$LicenseListResponseDtoImpl(
      {required final List<LicenseDto> items,
      required this.total,
      required this.page,
      @JsonKey(name: 'per_page') required this.perPage,
      @JsonKey(name: 'total_pages') required this.totalPages})
      : _items = items;

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

  final List<LicenseDto> _items;
  @override
  List<LicenseDto> get items {
    if (_items is EqualUnmodifiableListView) return _items;
    // ignore: implicit_dynamic_type
    return EqualUnmodifiableListView(_items);
  }

  @override
  final int total;
  @override
  final int page;
  @override
  @JsonKey(name: 'per_page')
  final int perPage;
  @override
  @JsonKey(name: 'total_pages')
  final int totalPages;

  @override
  String toString() {
    return 'LicenseListResponseDto(items: $items, total: $total, page: $page, perPage: $perPage, totalPages: $totalPages)';
  }

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$LicenseListResponseDtoImpl &&
            const DeepCollectionEquality().equals(other._items, _items) &&
            (identical(other.total, total) || other.total == total) &&
            (identical(other.page, page) || other.page == page) &&
            (identical(other.perPage, perPage) || other.perPage == perPage) &&
            (identical(other.totalPages, totalPages) ||
                other.totalPages == totalPages));
  }

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

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

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

abstract class _LicenseListResponseDto implements LicenseListResponseDto {
  const factory _LicenseListResponseDto(
          {required final List<LicenseDto> items,
          required final int total,
          required final int page,
          @JsonKey(name: 'per_page') required final int perPage,
          @JsonKey(name: 'total_pages') required final int totalPages}) =
      _$LicenseListResponseDtoImpl;

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

  @override
  List<LicenseDto> get items;
  @override
  int get total;
  @override
  int get page;
  @override
  @JsonKey(name: 'per_page')
  int get perPage;
  @override
  @JsonKey(name: 'total_pages')
  int get totalPages;

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

ExpiringLicenseDto _$ExpiringLicenseDtoFromJson(Map<String, dynamic> json) {
  return _ExpiringLicenseDto.fromJson(json);
}

/// @nodoc
mixin _$ExpiringLicenseDto {
  int get id => throw _privateConstructorUsedError;
  @JsonKey(name: 'license_key')
  String get licenseKey => throw _privateConstructorUsedError;
  @JsonKey(name: 'product_name')
  String? get productName => throw _privateConstructorUsedError;
  String? get vendor => throw _privateConstructorUsedError;
  @JsonKey(name: 'expiry_date', fromJson: _requiredDateFromJson)
  DateTime get expiryDate => throw _privateConstructorUsedError;
  @JsonKey(name: 'days_until_expiry')
  int get daysUntilExpiry => throw _privateConstructorUsedError;
  @JsonKey(name: 'assigned_user_id')
  int? get assignedUserId => throw _privateConstructorUsedError;
  @JsonKey(name: 'company_id')
  int? get companyId => throw _privateConstructorUsedError;
  @JsonKey(name: 'company_name')
  String? get companyName => throw _privateConstructorUsedError;
  @JsonKey(name: 'assigned_user_name')
  String? get assignedUserName => throw _privateConstructorUsedError;
  @JsonKey(name: 'is_active', defaultValue: true)
  bool? get isActive => throw _privateConstructorUsedError;

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

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

/// @nodoc
abstract class $ExpiringLicenseDtoCopyWith<$Res> {
  factory $ExpiringLicenseDtoCopyWith(
          ExpiringLicenseDto value, $Res Function(ExpiringLicenseDto) then) =
      _$ExpiringLicenseDtoCopyWithImpl<$Res, ExpiringLicenseDto>;
  @useResult
  $Res call(
      {int id,
      @JsonKey(name: 'license_key') String licenseKey,
      @JsonKey(name: 'product_name') String? productName,
      String? vendor,
      @JsonKey(name: 'expiry_date', fromJson: _requiredDateFromJson)
      DateTime expiryDate,
      @JsonKey(name: 'days_until_expiry') int daysUntilExpiry,
      @JsonKey(name: 'assigned_user_id') int? assignedUserId,
      @JsonKey(name: 'company_id') int? companyId,
      @JsonKey(name: 'company_name') String? companyName,
      @JsonKey(name: 'assigned_user_name') String? assignedUserName,
      @JsonKey(name: 'is_active', defaultValue: true) bool? isActive});
}

/// @nodoc
class _$ExpiringLicenseDtoCopyWithImpl<$Res, $Val extends ExpiringLicenseDto>
    implements $ExpiringLicenseDtoCopyWith<$Res> {
  _$ExpiringLicenseDtoCopyWithImpl(this._value, this._then);

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

  /// Create a copy of ExpiringLicenseDto
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? id = null,
    Object? licenseKey = null,
    Object? productName = freezed,
    Object? vendor = freezed,
    Object? expiryDate = null,
    Object? daysUntilExpiry = null,
    Object? assignedUserId = freezed,
    Object? companyId = freezed,
    Object? companyName = freezed,
    Object? assignedUserName = freezed,
    Object? isActive = freezed,
  }) {
    return _then(_value.copyWith(
      id: null == id
          ? _value.id
          : id // ignore: cast_nullable_to_non_nullable
              as int,
      licenseKey: null == licenseKey
          ? _value.licenseKey
          : licenseKey // ignore: cast_nullable_to_non_nullable
              as String,
      productName: freezed == productName
          ? _value.productName
          : productName // ignore: cast_nullable_to_non_nullable
              as String?,
      vendor: freezed == vendor
          ? _value.vendor
          : vendor // ignore: cast_nullable_to_non_nullable
              as String?,
      expiryDate: null == expiryDate
          ? _value.expiryDate
          : expiryDate // ignore: cast_nullable_to_non_nullable
              as DateTime,
      daysUntilExpiry: null == daysUntilExpiry
          ? _value.daysUntilExpiry
          : daysUntilExpiry // ignore: cast_nullable_to_non_nullable
              as int,
      assignedUserId: freezed == assignedUserId
          ? _value.assignedUserId
          : assignedUserId // ignore: cast_nullable_to_non_nullable
              as int?,
      companyId: freezed == companyId
          ? _value.companyId
          : companyId // ignore: cast_nullable_to_non_nullable
              as int?,
      companyName: freezed == companyName
          ? _value.companyName
          : companyName // ignore: cast_nullable_to_non_nullable
              as String?,
      assignedUserName: freezed == assignedUserName
          ? _value.assignedUserName
          : assignedUserName // ignore: cast_nullable_to_non_nullable
              as String?,
      isActive: freezed == isActive
          ? _value.isActive
          : isActive // ignore: cast_nullable_to_non_nullable
              as bool?,
    ) as $Val);
  }
}

/// @nodoc
abstract class _$$ExpiringLicenseDtoImplCopyWith<$Res>
    implements $ExpiringLicenseDtoCopyWith<$Res> {
  factory _$$ExpiringLicenseDtoImplCopyWith(_$ExpiringLicenseDtoImpl value,
          $Res Function(_$ExpiringLicenseDtoImpl) then) =
      __$$ExpiringLicenseDtoImplCopyWithImpl<$Res>;
  @override
  @useResult
  $Res call(
      {int id,
      @JsonKey(name: 'license_key') String licenseKey,
      @JsonKey(name: 'product_name') String? productName,
      String? vendor,
      @JsonKey(name: 'expiry_date', fromJson: _requiredDateFromJson)
      DateTime expiryDate,
      @JsonKey(name: 'days_until_expiry') int daysUntilExpiry,
      @JsonKey(name: 'assigned_user_id') int? assignedUserId,
      @JsonKey(name: 'company_id') int? companyId,
      @JsonKey(name: 'company_name') String? companyName,
      @JsonKey(name: 'assigned_user_name') String? assignedUserName,
      @JsonKey(name: 'is_active', defaultValue: true) bool? isActive});
}

/// @nodoc
class __$$ExpiringLicenseDtoImplCopyWithImpl<$Res>
    extends _$ExpiringLicenseDtoCopyWithImpl<$Res, _$ExpiringLicenseDtoImpl>
    implements _$$ExpiringLicenseDtoImplCopyWith<$Res> {
  __$$ExpiringLicenseDtoImplCopyWithImpl(_$ExpiringLicenseDtoImpl _value,
      $Res Function(_$ExpiringLicenseDtoImpl) _then)
      : super(_value, _then);

  /// Create a copy of ExpiringLicenseDto
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? id = null,
    Object? licenseKey = null,
    Object? productName = freezed,
    Object? vendor = freezed,
    Object? expiryDate = null,
    Object? daysUntilExpiry = null,
    Object? assignedUserId = freezed,
    Object? companyId = freezed,
    Object? companyName = freezed,
    Object? assignedUserName = freezed,
    Object? isActive = freezed,
  }) {
    return _then(_$ExpiringLicenseDtoImpl(
      id: null == id
          ? _value.id
          : id // ignore: cast_nullable_to_non_nullable
              as int,
      licenseKey: null == licenseKey
          ? _value.licenseKey
          : licenseKey // ignore: cast_nullable_to_non_nullable
              as String,
      productName: freezed == productName
          ? _value.productName
          : productName // ignore: cast_nullable_to_non_nullable
              as String?,
      vendor: freezed == vendor
          ? _value.vendor
          : vendor // ignore: cast_nullable_to_non_nullable
              as String?,
      expiryDate: null == expiryDate
          ? _value.expiryDate
          : expiryDate // ignore: cast_nullable_to_non_nullable
              as DateTime,
      daysUntilExpiry: null == daysUntilExpiry
          ? _value.daysUntilExpiry
          : daysUntilExpiry // ignore: cast_nullable_to_non_nullable
              as int,
      assignedUserId: freezed == assignedUserId
          ? _value.assignedUserId
          : assignedUserId // ignore: cast_nullable_to_non_nullable
              as int?,
      companyId: freezed == companyId
          ? _value.companyId
          : companyId // ignore: cast_nullable_to_non_nullable
              as int?,
      companyName: freezed == companyName
          ? _value.companyName
          : companyName // ignore: cast_nullable_to_non_nullable
              as String?,
      assignedUserName: freezed == assignedUserName
          ? _value.assignedUserName
          : assignedUserName // ignore: cast_nullable_to_non_nullable
              as String?,
      isActive: freezed == isActive
          ? _value.isActive
          : isActive // ignore: cast_nullable_to_non_nullable
              as bool?,
    ));
  }
}

/// @nodoc
@JsonSerializable()
class _$ExpiringLicenseDtoImpl implements _ExpiringLicenseDto {
  const _$ExpiringLicenseDtoImpl(
      {required this.id,
      @JsonKey(name: 'license_key') required this.licenseKey,
      @JsonKey(name: 'product_name') this.productName,
      this.vendor,
      @JsonKey(name: 'expiry_date', fromJson: _requiredDateFromJson)
      required this.expiryDate,
      @JsonKey(name: 'days_until_expiry') required this.daysUntilExpiry,
      @JsonKey(name: 'assigned_user_id') this.assignedUserId,
      @JsonKey(name: 'company_id') this.companyId,
      @JsonKey(name: 'company_name') this.companyName,
      @JsonKey(name: 'assigned_user_name') this.assignedUserName,
      @JsonKey(name: 'is_active', defaultValue: true) this.isActive});

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

  @override
  final int id;
  @override
  @JsonKey(name: 'license_key')
  final String licenseKey;
  @override
  @JsonKey(name: 'product_name')
  final String? productName;
  @override
  final String? vendor;
  @override
  @JsonKey(name: 'expiry_date', fromJson: _requiredDateFromJson)
  final DateTime expiryDate;
  @override
  @JsonKey(name: 'days_until_expiry')
  final int daysUntilExpiry;
  @override
  @JsonKey(name: 'assigned_user_id')
  final int? assignedUserId;
  @override
  @JsonKey(name: 'company_id')
  final int? companyId;
  @override
  @JsonKey(name: 'company_name')
  final String? companyName;
  @override
  @JsonKey(name: 'assigned_user_name')
  final String? assignedUserName;
  @override
  @JsonKey(name: 'is_active', defaultValue: true)
  final bool? isActive;

  @override
  String toString() {
    return 'ExpiringLicenseDto(id: $id, licenseKey: $licenseKey, productName: $productName, vendor: $vendor, expiryDate: $expiryDate, daysUntilExpiry: $daysUntilExpiry, assignedUserId: $assignedUserId, companyId: $companyId, companyName: $companyName, assignedUserName: $assignedUserName, isActive: $isActive)';
  }

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$ExpiringLicenseDtoImpl &&
            (identical(other.id, id) || other.id == id) &&
            (identical(other.licenseKey, licenseKey) ||
                other.licenseKey == licenseKey) &&
            (identical(other.productName, productName) ||
                other.productName == productName) &&
            (identical(other.vendor, vendor) || other.vendor == vendor) &&
            (identical(other.expiryDate, expiryDate) ||
                other.expiryDate == expiryDate) &&
            (identical(other.daysUntilExpiry, daysUntilExpiry) ||
                other.daysUntilExpiry == daysUntilExpiry) &&
            (identical(other.assignedUserId, assignedUserId) ||
                other.assignedUserId == assignedUserId) &&
            (identical(other.companyId, companyId) ||
                other.companyId == companyId) &&
            (identical(other.companyName, companyName) ||
                other.companyName == companyName) &&
            (identical(other.assignedUserName, assignedUserName) ||
                other.assignedUserName == assignedUserName) &&
            (identical(other.isActive, isActive) ||
                other.isActive == isActive));
  }

  @JsonKey(includeFromJson: false, includeToJson: false)
  @override
  int get hashCode => Object.hash(
      runtimeType,
      id,
      licenseKey,
      productName,
      vendor,
      expiryDate,
      daysUntilExpiry,
      assignedUserId,
      companyId,
      companyName,
      assignedUserName,
      isActive);

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

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

abstract class _ExpiringLicenseDto implements ExpiringLicenseDto {
  const factory _ExpiringLicenseDto(
      {required final int id,
      @JsonKey(name: 'license_key') required final String licenseKey,
      @JsonKey(name: 'product_name') final String? productName,
      final String? vendor,
      @JsonKey(name: 'expiry_date', fromJson: _requiredDateFromJson)
      required final DateTime expiryDate,
      @JsonKey(name: 'days_until_expiry') required final int daysUntilExpiry,
      @JsonKey(name: 'assigned_user_id') final int? assignedUserId,
      @JsonKey(name: 'company_id') final int? companyId,
      @JsonKey(name: 'company_name') final String? companyName,
      @JsonKey(name: 'assigned_user_name') final String? assignedUserName,
      @JsonKey(name: 'is_active', defaultValue: true)
      final bool? isActive}) = _$ExpiringLicenseDtoImpl;

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

  @override
  int get id;
  @override
  @JsonKey(name: 'license_key')
  String get licenseKey;
  @override
  @JsonKey(name: 'product_name')
  String? get productName;
  @override
  String? get vendor;
  @override
  @JsonKey(name: 'expiry_date', fromJson: _requiredDateFromJson)
  DateTime get expiryDate;
  @override
  @JsonKey(name: 'days_until_expiry')
  int get daysUntilExpiry;
  @override
  @JsonKey(name: 'assigned_user_id')
  int? get assignedUserId;
  @override
  @JsonKey(name: 'company_id')
  int? get companyId;
  @override
  @JsonKey(name: 'company_name')
  String? get companyName;
  @override
  @JsonKey(name: 'assigned_user_name')
  String? get assignedUserName;
  @override
  @JsonKey(name: 'is_active', defaultValue: true)
  bool? get isActive;

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

ExpiringLicenseListDto _$ExpiringLicenseListDtoFromJson(
    Map<String, dynamic> json) {
  return _ExpiringLicenseListDto.fromJson(json);
}

/// @nodoc
mixin _$ExpiringLicenseListDto {
  List<ExpiringLicenseDto> get items => throw _privateConstructorUsedError;
  int get total => throw _privateConstructorUsedError;
  int get page => throw _privateConstructorUsedError;
  @JsonKey(name: 'per_page')
  int get perPage => throw _privateConstructorUsedError;
  @JsonKey(name: 'total_pages')
  int get totalPages => throw _privateConstructorUsedError;

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

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

/// @nodoc
abstract class $ExpiringLicenseListDtoCopyWith<$Res> {
  factory $ExpiringLicenseListDtoCopyWith(ExpiringLicenseListDto value,
          $Res Function(ExpiringLicenseListDto) then) =
      _$ExpiringLicenseListDtoCopyWithImpl<$Res, ExpiringLicenseListDto>;
  @useResult
  $Res call(
      {List<ExpiringLicenseDto> items,
      int total,
      int page,
      @JsonKey(name: 'per_page') int perPage,
      @JsonKey(name: 'total_pages') int totalPages});
}

/// @nodoc
class _$ExpiringLicenseListDtoCopyWithImpl<$Res,
        $Val extends ExpiringLicenseListDto>
    implements $ExpiringLicenseListDtoCopyWith<$Res> {
  _$ExpiringLicenseListDtoCopyWithImpl(this._value, this._then);

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

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

/// @nodoc
abstract class _$$ExpiringLicenseListDtoImplCopyWith<$Res>
    implements $ExpiringLicenseListDtoCopyWith<$Res> {
  factory _$$ExpiringLicenseListDtoImplCopyWith(
          _$ExpiringLicenseListDtoImpl value,
          $Res Function(_$ExpiringLicenseListDtoImpl) then) =
      __$$ExpiringLicenseListDtoImplCopyWithImpl<$Res>;
  @override
  @useResult
  $Res call(
      {List<ExpiringLicenseDto> items,
      int total,
      int page,
      @JsonKey(name: 'per_page') int perPage,
      @JsonKey(name: 'total_pages') int totalPages});
}

/// @nodoc
class __$$ExpiringLicenseListDtoImplCopyWithImpl<$Res>
    extends _$ExpiringLicenseListDtoCopyWithImpl<$Res,
        _$ExpiringLicenseListDtoImpl>
    implements _$$ExpiringLicenseListDtoImplCopyWith<$Res> {
  __$$ExpiringLicenseListDtoImplCopyWithImpl(
      _$ExpiringLicenseListDtoImpl _value,
      $Res Function(_$ExpiringLicenseListDtoImpl) _then)
      : super(_value, _then);

  /// Create a copy of ExpiringLicenseListDto
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? items = null,
    Object? total = null,
    Object? page = null,
    Object? perPage = null,
    Object? totalPages = null,
  }) {
    return _then(_$ExpiringLicenseListDtoImpl(
      items: null == items
          ? _value._items
          : items // ignore: cast_nullable_to_non_nullable
              as List<ExpiringLicenseDto>,
      total: null == total
          ? _value.total
          : total // ignore: cast_nullable_to_non_nullable
              as int,
      page: null == page
          ? _value.page
          : page // ignore: cast_nullable_to_non_nullable
              as int,
      perPage: null == perPage
          ? _value.perPage
          : perPage // ignore: cast_nullable_to_non_nullable
              as int,
      totalPages: null == totalPages
          ? _value.totalPages
          : totalPages // ignore: cast_nullable_to_non_nullable
              as int,
    ));
  }
}

/// @nodoc
@JsonSerializable()
class _$ExpiringLicenseListDtoImpl implements _ExpiringLicenseListDto {
  const _$ExpiringLicenseListDtoImpl(
      {required final List<ExpiringLicenseDto> items,
      required this.total,
      required this.page,
      @JsonKey(name: 'per_page') required this.perPage,
      @JsonKey(name: 'total_pages') required this.totalPages})
      : _items = items;

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

  final List<ExpiringLicenseDto> _items;
  @override
  List<ExpiringLicenseDto> get items {
    if (_items is EqualUnmodifiableListView) return _items;
    // ignore: implicit_dynamic_type
    return EqualUnmodifiableListView(_items);
  }

  @override
  final int total;
  @override
  final int page;
  @override
  @JsonKey(name: 'per_page')
  final int perPage;
  @override
  @JsonKey(name: 'total_pages')
  final int totalPages;

  @override
  String toString() {
    return 'ExpiringLicenseListDto(items: $items, total: $total, page: $page, perPage: $perPage, totalPages: $totalPages)';
  }

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$ExpiringLicenseListDtoImpl &&
            const DeepCollectionEquality().equals(other._items, _items) &&
            (identical(other.total, total) || other.total == total) &&
            (identical(other.page, page) || other.page == page) &&
            (identical(other.perPage, perPage) || other.perPage == perPage) &&
            (identical(other.totalPages, totalPages) ||
                other.totalPages == totalPages));
  }

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

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

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

abstract class _ExpiringLicenseListDto implements ExpiringLicenseListDto {
  const factory _ExpiringLicenseListDto(
          {required final List<ExpiringLicenseDto> items,
          required final int total,
          required final int page,
          @JsonKey(name: 'per_page') required final int perPage,
          @JsonKey(name: 'total_pages') required final int totalPages}) =
      _$ExpiringLicenseListDtoImpl;

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

  @override
  List<ExpiringLicenseDto> get items;
  @override
  int get total;
  @override
  int get page;
  @override
  @JsonKey(name: 'per_page')
  int get perPage;
  @override
  @JsonKey(name: 'total_pages')
  int get totalPages;

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