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

UserDto _$UserDtoFromJson(Map<String, dynamic> json) {
  return _UserDto.fromJson(json);
}

/// @nodoc
mixin _$UserDto {
  int? get id => throw _privateConstructorUsedError;
  String get name => throw _privateConstructorUsedError;
  String? get phone => throw _privateConstructorUsedError;
  String? get email => throw _privateConstructorUsedError;
  @JsonKey(name: 'companies_id')
  int get companiesId =>
      throw _privateConstructorUsedError; // Nested data (optional, populated in GET requests)
  @JsonKey(name: 'company')
  CompanyNameDto? get company => throw _privateConstructorUsedError;

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

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

/// @nodoc
abstract class $UserDtoCopyWith<$Res> {
  factory $UserDtoCopyWith(UserDto value, $Res Function(UserDto) then) =
      _$UserDtoCopyWithImpl<$Res, UserDto>;
  @useResult
  $Res call(
      {int? id,
      String name,
      String? phone,
      String? email,
      @JsonKey(name: 'companies_id') int companiesId,
      @JsonKey(name: 'company') CompanyNameDto? company});

  $CompanyNameDtoCopyWith<$Res>? get company;
}

/// @nodoc
class _$UserDtoCopyWithImpl<$Res, $Val extends UserDto>
    implements $UserDtoCopyWith<$Res> {
  _$UserDtoCopyWithImpl(this._value, this._then);

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

  /// Create a copy of UserDto
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? id = freezed,
    Object? name = null,
    Object? phone = freezed,
    Object? email = freezed,
    Object? companiesId = null,
    Object? company = freezed,
  }) {
    return _then(_value.copyWith(
      id: freezed == id
          ? _value.id
          : id // ignore: cast_nullable_to_non_nullable
              as int?,
      name: null == name
          ? _value.name
          : name // ignore: cast_nullable_to_non_nullable
              as String,
      phone: freezed == phone
          ? _value.phone
          : phone // ignore: cast_nullable_to_non_nullable
              as String?,
      email: freezed == email
          ? _value.email
          : email // ignore: cast_nullable_to_non_nullable
              as String?,
      companiesId: null == companiesId
          ? _value.companiesId
          : companiesId // ignore: cast_nullable_to_non_nullable
              as int,
      company: freezed == company
          ? _value.company
          : company // ignore: cast_nullable_to_non_nullable
              as CompanyNameDto?,
    ) as $Val);
  }

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

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

/// @nodoc
abstract class _$$UserDtoImplCopyWith<$Res> implements $UserDtoCopyWith<$Res> {
  factory _$$UserDtoImplCopyWith(
          _$UserDtoImpl value, $Res Function(_$UserDtoImpl) then) =
      __$$UserDtoImplCopyWithImpl<$Res>;
  @override
  @useResult
  $Res call(
      {int? id,
      String name,
      String? phone,
      String? email,
      @JsonKey(name: 'companies_id') int companiesId,
      @JsonKey(name: 'company') CompanyNameDto? company});

  @override
  $CompanyNameDtoCopyWith<$Res>? get company;
}

/// @nodoc
class __$$UserDtoImplCopyWithImpl<$Res>
    extends _$UserDtoCopyWithImpl<$Res, _$UserDtoImpl>
    implements _$$UserDtoImplCopyWith<$Res> {
  __$$UserDtoImplCopyWithImpl(
      _$UserDtoImpl _value, $Res Function(_$UserDtoImpl) _then)
      : super(_value, _then);

  /// Create a copy of UserDto
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? id = freezed,
    Object? name = null,
    Object? phone = freezed,
    Object? email = freezed,
    Object? companiesId = null,
    Object? company = freezed,
  }) {
    return _then(_$UserDtoImpl(
      id: freezed == id
          ? _value.id
          : id // ignore: cast_nullable_to_non_nullable
              as int?,
      name: null == name
          ? _value.name
          : name // ignore: cast_nullable_to_non_nullable
              as String,
      phone: freezed == phone
          ? _value.phone
          : phone // ignore: cast_nullable_to_non_nullable
              as String?,
      email: freezed == email
          ? _value.email
          : email // ignore: cast_nullable_to_non_nullable
              as String?,
      companiesId: null == companiesId
          ? _value.companiesId
          : companiesId // ignore: cast_nullable_to_non_nullable
              as int,
      company: freezed == company
          ? _value.company
          : company // ignore: cast_nullable_to_non_nullable
              as CompanyNameDto?,
    ));
  }
}

/// @nodoc
@JsonSerializable()
class _$UserDtoImpl extends _UserDto {
  const _$UserDtoImpl(
      {this.id,
      required this.name,
      this.phone,
      this.email,
      @JsonKey(name: 'companies_id') required this.companiesId,
      @JsonKey(name: 'company') this.company})
      : super._();

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

  @override
  final int? id;
  @override
  final String name;
  @override
  final String? phone;
  @override
  final String? email;
  @override
  @JsonKey(name: 'companies_id')
  final int companiesId;
// Nested data (optional, populated in GET requests)
  @override
  @JsonKey(name: 'company')
  final CompanyNameDto? company;

  @override
  String toString() {
    return 'UserDto(id: $id, name: $name, phone: $phone, email: $email, companiesId: $companiesId, company: $company)';
  }

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$UserDtoImpl &&
            (identical(other.id, id) || other.id == id) &&
            (identical(other.name, name) || other.name == name) &&
            (identical(other.phone, phone) || other.phone == phone) &&
            (identical(other.email, email) || other.email == email) &&
            (identical(other.companiesId, companiesId) ||
                other.companiesId == companiesId) &&
            (identical(other.company, company) || other.company == company));
  }

  @JsonKey(includeFromJson: false, includeToJson: false)
  @override
  int get hashCode =>
      Object.hash(runtimeType, id, name, phone, email, companiesId, company);

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

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

abstract class _UserDto extends UserDto {
  const factory _UserDto(
      {final int? id,
      required final String name,
      final String? phone,
      final String? email,
      @JsonKey(name: 'companies_id') required final int companiesId,
      @JsonKey(name: 'company') final CompanyNameDto? company}) = _$UserDtoImpl;
  const _UserDto._() : super._();

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

  @override
  int? get id;
  @override
  String get name;
  @override
  String? get phone;
  @override
  String? get email;
  @override
  @JsonKey(name: 'companies_id')
  int get companiesId; // Nested data (optional, populated in GET requests)
  @override
  @JsonKey(name: 'company')
  CompanyNameDto? get company;

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

UserRequestDto _$UserRequestDtoFromJson(Map<String, dynamic> json) {
  return _UserRequestDto.fromJson(json);
}

/// @nodoc
mixin _$UserRequestDto {
  String get name => throw _privateConstructorUsedError;
  String? get phone => throw _privateConstructorUsedError;
  String? get email => throw _privateConstructorUsedError;
  @JsonKey(name: 'companies_id')
  int get companiesId => throw _privateConstructorUsedError;

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

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

/// @nodoc
abstract class $UserRequestDtoCopyWith<$Res> {
  factory $UserRequestDtoCopyWith(
          UserRequestDto value, $Res Function(UserRequestDto) then) =
      _$UserRequestDtoCopyWithImpl<$Res, UserRequestDto>;
  @useResult
  $Res call(
      {String name,
      String? phone,
      String? email,
      @JsonKey(name: 'companies_id') int companiesId});
}

/// @nodoc
class _$UserRequestDtoCopyWithImpl<$Res, $Val extends UserRequestDto>
    implements $UserRequestDtoCopyWith<$Res> {
  _$UserRequestDtoCopyWithImpl(this._value, this._then);

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

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

/// @nodoc
abstract class _$$UserRequestDtoImplCopyWith<$Res>
    implements $UserRequestDtoCopyWith<$Res> {
  factory _$$UserRequestDtoImplCopyWith(_$UserRequestDtoImpl value,
          $Res Function(_$UserRequestDtoImpl) then) =
      __$$UserRequestDtoImplCopyWithImpl<$Res>;
  @override
  @useResult
  $Res call(
      {String name,
      String? phone,
      String? email,
      @JsonKey(name: 'companies_id') int companiesId});
}

/// @nodoc
class __$$UserRequestDtoImplCopyWithImpl<$Res>
    extends _$UserRequestDtoCopyWithImpl<$Res, _$UserRequestDtoImpl>
    implements _$$UserRequestDtoImplCopyWith<$Res> {
  __$$UserRequestDtoImplCopyWithImpl(
      _$UserRequestDtoImpl _value, $Res Function(_$UserRequestDtoImpl) _then)
      : super(_value, _then);

  /// Create a copy of UserRequestDto
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? name = null,
    Object? phone = freezed,
    Object? email = freezed,
    Object? companiesId = null,
  }) {
    return _then(_$UserRequestDtoImpl(
      name: null == name
          ? _value.name
          : name // ignore: cast_nullable_to_non_nullable
              as String,
      phone: freezed == phone
          ? _value.phone
          : phone // ignore: cast_nullable_to_non_nullable
              as String?,
      email: freezed == email
          ? _value.email
          : email // ignore: cast_nullable_to_non_nullable
              as String?,
      companiesId: null == companiesId
          ? _value.companiesId
          : companiesId // ignore: cast_nullable_to_non_nullable
              as int,
    ));
  }
}

/// @nodoc
@JsonSerializable()
class _$UserRequestDtoImpl implements _UserRequestDto {
  const _$UserRequestDtoImpl(
      {required this.name,
      this.phone,
      this.email,
      @JsonKey(name: 'companies_id') required this.companiesId});

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

  @override
  final String name;
  @override
  final String? phone;
  @override
  final String? email;
  @override
  @JsonKey(name: 'companies_id')
  final int companiesId;

  @override
  String toString() {
    return 'UserRequestDto(name: $name, phone: $phone, email: $email, companiesId: $companiesId)';
  }

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$UserRequestDtoImpl &&
            (identical(other.name, name) || other.name == name) &&
            (identical(other.phone, phone) || other.phone == phone) &&
            (identical(other.email, email) || other.email == email) &&
            (identical(other.companiesId, companiesId) ||
                other.companiesId == companiesId));
  }

  @JsonKey(includeFromJson: false, includeToJson: false)
  @override
  int get hashCode => Object.hash(runtimeType, name, phone, email, companiesId);

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

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

abstract class _UserRequestDto implements UserRequestDto {
  const factory _UserRequestDto(
          {required final String name,
          final String? phone,
          final String? email,
          @JsonKey(name: 'companies_id') required final int companiesId}) =
      _$UserRequestDtoImpl;

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

  @override
  String get name;
  @override
  String? get phone;
  @override
  String? get email;
  @override
  @JsonKey(name: 'companies_id')
  int get companiesId;

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

UserUpdateRequestDto _$UserUpdateRequestDtoFromJson(Map<String, dynamic> json) {
  return _UserUpdateRequestDto.fromJson(json);
}

/// @nodoc
mixin _$UserUpdateRequestDto {
  String? get name => throw _privateConstructorUsedError;
  String? get phone => throw _privateConstructorUsedError;
  String? get email => throw _privateConstructorUsedError;
  @JsonKey(name: 'companies_id')
  int? get companiesId => throw _privateConstructorUsedError;

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

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

/// @nodoc
abstract class $UserUpdateRequestDtoCopyWith<$Res> {
  factory $UserUpdateRequestDtoCopyWith(UserUpdateRequestDto value,
          $Res Function(UserUpdateRequestDto) then) =
      _$UserUpdateRequestDtoCopyWithImpl<$Res, UserUpdateRequestDto>;
  @useResult
  $Res call(
      {String? name,
      String? phone,
      String? email,
      @JsonKey(name: 'companies_id') int? companiesId});
}

/// @nodoc
class _$UserUpdateRequestDtoCopyWithImpl<$Res,
        $Val extends UserUpdateRequestDto>
    implements $UserUpdateRequestDtoCopyWith<$Res> {
  _$UserUpdateRequestDtoCopyWithImpl(this._value, this._then);

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

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

/// @nodoc
abstract class _$$UserUpdateRequestDtoImplCopyWith<$Res>
    implements $UserUpdateRequestDtoCopyWith<$Res> {
  factory _$$UserUpdateRequestDtoImplCopyWith(_$UserUpdateRequestDtoImpl value,
          $Res Function(_$UserUpdateRequestDtoImpl) then) =
      __$$UserUpdateRequestDtoImplCopyWithImpl<$Res>;
  @override
  @useResult
  $Res call(
      {String? name,
      String? phone,
      String? email,
      @JsonKey(name: 'companies_id') int? companiesId});
}

/// @nodoc
class __$$UserUpdateRequestDtoImplCopyWithImpl<$Res>
    extends _$UserUpdateRequestDtoCopyWithImpl<$Res, _$UserUpdateRequestDtoImpl>
    implements _$$UserUpdateRequestDtoImplCopyWith<$Res> {
  __$$UserUpdateRequestDtoImplCopyWithImpl(_$UserUpdateRequestDtoImpl _value,
      $Res Function(_$UserUpdateRequestDtoImpl) _then)
      : super(_value, _then);

  /// Create a copy of UserUpdateRequestDto
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? name = freezed,
    Object? phone = freezed,
    Object? email = freezed,
    Object? companiesId = freezed,
  }) {
    return _then(_$UserUpdateRequestDtoImpl(
      name: freezed == name
          ? _value.name
          : name // ignore: cast_nullable_to_non_nullable
              as String?,
      phone: freezed == phone
          ? _value.phone
          : phone // ignore: cast_nullable_to_non_nullable
              as String?,
      email: freezed == email
          ? _value.email
          : email // ignore: cast_nullable_to_non_nullable
              as String?,
      companiesId: freezed == companiesId
          ? _value.companiesId
          : companiesId // ignore: cast_nullable_to_non_nullable
              as int?,
    ));
  }
}

/// @nodoc
@JsonSerializable()
class _$UserUpdateRequestDtoImpl implements _UserUpdateRequestDto {
  const _$UserUpdateRequestDtoImpl(
      {this.name,
      this.phone,
      this.email,
      @JsonKey(name: 'companies_id') this.companiesId});

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

  @override
  final String? name;
  @override
  final String? phone;
  @override
  final String? email;
  @override
  @JsonKey(name: 'companies_id')
  final int? companiesId;

  @override
  String toString() {
    return 'UserUpdateRequestDto(name: $name, phone: $phone, email: $email, companiesId: $companiesId)';
  }

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$UserUpdateRequestDtoImpl &&
            (identical(other.name, name) || other.name == name) &&
            (identical(other.phone, phone) || other.phone == phone) &&
            (identical(other.email, email) || other.email == email) &&
            (identical(other.companiesId, companiesId) ||
                other.companiesId == companiesId));
  }

  @JsonKey(includeFromJson: false, includeToJson: false)
  @override
  int get hashCode => Object.hash(runtimeType, name, phone, email, companiesId);

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

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

abstract class _UserUpdateRequestDto implements UserUpdateRequestDto {
  const factory _UserUpdateRequestDto(
          {final String? name,
          final String? phone,
          final String? email,
          @JsonKey(name: 'companies_id') final int? companiesId}) =
      _$UserUpdateRequestDtoImpl;

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

  @override
  String? get name;
  @override
  String? get phone;
  @override
  String? get email;
  @override
  @JsonKey(name: 'companies_id')
  int? get companiesId;

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

UserListResponse _$UserListResponseFromJson(Map<String, dynamic> json) {
  return _UserListResponse.fromJson(json);
}

/// @nodoc
mixin _$UserListResponse {
  @JsonKey(name: 'data')
  List<UserDto> 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 UserListResponse to a JSON map.
  Map<String, dynamic> toJson() => throw _privateConstructorUsedError;

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

/// @nodoc
abstract class $UserListResponseCopyWith<$Res> {
  factory $UserListResponseCopyWith(
          UserListResponse value, $Res Function(UserListResponse) then) =
      _$UserListResponseCopyWithImpl<$Res, UserListResponse>;
  @useResult
  $Res call(
      {@JsonKey(name: 'data') List<UserDto> 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 _$UserListResponseCopyWithImpl<$Res, $Val extends UserListResponse>
    implements $UserListResponseCopyWith<$Res> {
  _$UserListResponseCopyWithImpl(this._value, this._then);

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

  /// Create a copy of UserListResponse
  /// 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<UserDto>,
      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 _$$UserListResponseImplCopyWith<$Res>
    implements $UserListResponseCopyWith<$Res> {
  factory _$$UserListResponseImplCopyWith(_$UserListResponseImpl value,
          $Res Function(_$UserListResponseImpl) then) =
      __$$UserListResponseImplCopyWithImpl<$Res>;
  @override
  @useResult
  $Res call(
      {@JsonKey(name: 'data') List<UserDto> 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 __$$UserListResponseImplCopyWithImpl<$Res>
    extends _$UserListResponseCopyWithImpl<$Res, _$UserListResponseImpl>
    implements _$$UserListResponseImplCopyWith<$Res> {
  __$$UserListResponseImplCopyWithImpl(_$UserListResponseImpl _value,
      $Res Function(_$UserListResponseImpl) _then)
      : super(_value, _then);

  /// Create a copy of UserListResponse
  /// 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(_$UserListResponseImpl(
      items: null == items
          ? _value._items
          : items // ignore: cast_nullable_to_non_nullable
              as List<UserDto>,
      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 _$UserListResponseImpl implements _UserListResponse {
  const _$UserListResponseImpl(
      {@JsonKey(name: 'data') required final List<UserDto> 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 _$UserListResponseImpl.fromJson(Map<String, dynamic> json) =>
      _$$UserListResponseImplFromJson(json);

  final List<UserDto> _items;
  @override
  @JsonKey(name: 'data')
  List<UserDto> 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 'UserListResponse(items: $items, totalCount: $totalCount, currentPage: $currentPage, totalPages: $totalPages, pageSize: $pageSize)';
  }

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$UserListResponseImpl &&
            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 UserListResponse
  /// with the given fields replaced by the non-null parameter values.
  @JsonKey(includeFromJson: false, includeToJson: false)
  @override
  @pragma('vm:prefer-inline')
  _$$UserListResponseImplCopyWith<_$UserListResponseImpl> get copyWith =>
      __$$UserListResponseImplCopyWithImpl<_$UserListResponseImpl>(
          this, _$identity);

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

abstract class _UserListResponse implements UserListResponse {
  const factory _UserListResponse(
          {@JsonKey(name: 'data') required final List<UserDto> 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}) =
      _$UserListResponseImpl;

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

  @override
  @JsonKey(name: 'data')
  List<UserDto> 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 UserListResponse
  /// with the given fields replaced by the non-null parameter values.
  @override
  @JsonKey(includeFromJson: false, includeToJson: false)
  _$$UserListResponseImplCopyWith<_$UserListResponseImpl> get copyWith =>
      throw _privateConstructorUsedError;
}

UserListDto _$UserListDtoFromJson(Map<String, dynamic> json) {
  return _UserListDto.fromJson(json);
}

/// @nodoc
mixin _$UserListDto {
  @JsonKey(name: 'users')
  List<UserDto> get users => throw _privateConstructorUsedError;
  @JsonKey(name: 'total')
  int get total => throw _privateConstructorUsedError;
  @JsonKey(name: 'page')
  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 UserListDto to a JSON map.
  Map<String, dynamic> toJson() => throw _privateConstructorUsedError;

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

/// @nodoc
abstract class $UserListDtoCopyWith<$Res> {
  factory $UserListDtoCopyWith(
          UserListDto value, $Res Function(UserListDto) then) =
      _$UserListDtoCopyWithImpl<$Res, UserListDto>;
  @useResult
  $Res call(
      {@JsonKey(name: 'users') List<UserDto> users,
      @JsonKey(name: 'total') int total,
      @JsonKey(name: 'page') int page,
      @JsonKey(name: 'per_page') int perPage,
      @JsonKey(name: 'total_pages') int totalPages});
}

/// @nodoc
class _$UserListDtoCopyWithImpl<$Res, $Val extends UserListDto>
    implements $UserListDtoCopyWith<$Res> {
  _$UserListDtoCopyWithImpl(this._value, this._then);

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

  /// Create a copy of UserListDto
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? users = null,
    Object? total = null,
    Object? page = null,
    Object? perPage = null,
    Object? totalPages = null,
  }) {
    return _then(_value.copyWith(
      users: null == users
          ? _value.users
          : users // ignore: cast_nullable_to_non_nullable
              as List<UserDto>,
      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 _$$UserListDtoImplCopyWith<$Res>
    implements $UserListDtoCopyWith<$Res> {
  factory _$$UserListDtoImplCopyWith(
          _$UserListDtoImpl value, $Res Function(_$UserListDtoImpl) then) =
      __$$UserListDtoImplCopyWithImpl<$Res>;
  @override
  @useResult
  $Res call(
      {@JsonKey(name: 'users') List<UserDto> users,
      @JsonKey(name: 'total') int total,
      @JsonKey(name: 'page') int page,
      @JsonKey(name: 'per_page') int perPage,
      @JsonKey(name: 'total_pages') int totalPages});
}

/// @nodoc
class __$$UserListDtoImplCopyWithImpl<$Res>
    extends _$UserListDtoCopyWithImpl<$Res, _$UserListDtoImpl>
    implements _$$UserListDtoImplCopyWith<$Res> {
  __$$UserListDtoImplCopyWithImpl(
      _$UserListDtoImpl _value, $Res Function(_$UserListDtoImpl) _then)
      : super(_value, _then);

  /// Create a copy of UserListDto
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? users = null,
    Object? total = null,
    Object? page = null,
    Object? perPage = null,
    Object? totalPages = null,
  }) {
    return _then(_$UserListDtoImpl(
      users: null == users
          ? _value._users
          : users // ignore: cast_nullable_to_non_nullable
              as List<UserDto>,
      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 _$UserListDtoImpl extends _UserListDto {
  const _$UserListDtoImpl(
      {@JsonKey(name: 'users') required final List<UserDto> users,
      @JsonKey(name: 'total') required this.total,
      @JsonKey(name: 'page') required this.page,
      @JsonKey(name: 'per_page') required this.perPage,
      @JsonKey(name: 'total_pages') required this.totalPages})
      : _users = users,
        super._();

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

  final List<UserDto> _users;
  @override
  @JsonKey(name: 'users')
  List<UserDto> get users {
    if (_users is EqualUnmodifiableListView) return _users;
    // ignore: implicit_dynamic_type
    return EqualUnmodifiableListView(_users);
  }

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

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

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$UserListDtoImpl &&
            const DeepCollectionEquality().equals(other._users, _users) &&
            (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(_users),
      total,
      page,
      perPage,
      totalPages);

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

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

abstract class _UserListDto extends UserListDto {
  const factory _UserListDto(
          {@JsonKey(name: 'users') required final List<UserDto> users,
          @JsonKey(name: 'total') required final int total,
          @JsonKey(name: 'page') required final int page,
          @JsonKey(name: 'per_page') required final int perPage,
          @JsonKey(name: 'total_pages') required final int totalPages}) =
      _$UserListDtoImpl;
  const _UserListDto._() : super._();

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

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

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

CheckUsernameResponse _$CheckUsernameResponseFromJson(
    Map<String, dynamic> json) {
  return _CheckUsernameResponse.fromJson(json);
}

/// @nodoc
mixin _$CheckUsernameResponse {
  @JsonKey(name: 'available')
  bool get available => throw _privateConstructorUsedError;
  String? get message => throw _privateConstructorUsedError;

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

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

/// @nodoc
abstract class $CheckUsernameResponseCopyWith<$Res> {
  factory $CheckUsernameResponseCopyWith(CheckUsernameResponse value,
          $Res Function(CheckUsernameResponse) then) =
      _$CheckUsernameResponseCopyWithImpl<$Res, CheckUsernameResponse>;
  @useResult
  $Res call({@JsonKey(name: 'available') bool available, String? message});
}

/// @nodoc
class _$CheckUsernameResponseCopyWithImpl<$Res,
        $Val extends CheckUsernameResponse>
    implements $CheckUsernameResponseCopyWith<$Res> {
  _$CheckUsernameResponseCopyWithImpl(this._value, this._then);

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

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

/// @nodoc
abstract class _$$CheckUsernameResponseImplCopyWith<$Res>
    implements $CheckUsernameResponseCopyWith<$Res> {
  factory _$$CheckUsernameResponseImplCopyWith(
          _$CheckUsernameResponseImpl value,
          $Res Function(_$CheckUsernameResponseImpl) then) =
      __$$CheckUsernameResponseImplCopyWithImpl<$Res>;
  @override
  @useResult
  $Res call({@JsonKey(name: 'available') bool available, String? message});
}

/// @nodoc
class __$$CheckUsernameResponseImplCopyWithImpl<$Res>
    extends _$CheckUsernameResponseCopyWithImpl<$Res,
        _$CheckUsernameResponseImpl>
    implements _$$CheckUsernameResponseImplCopyWith<$Res> {
  __$$CheckUsernameResponseImplCopyWithImpl(_$CheckUsernameResponseImpl _value,
      $Res Function(_$CheckUsernameResponseImpl) _then)
      : super(_value, _then);

  /// Create a copy of CheckUsernameResponse
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? available = null,
    Object? message = freezed,
  }) {
    return _then(_$CheckUsernameResponseImpl(
      available: null == available
          ? _value.available
          : available // ignore: cast_nullable_to_non_nullable
              as bool,
      message: freezed == message
          ? _value.message
          : message // ignore: cast_nullable_to_non_nullable
              as String?,
    ));
  }
}

/// @nodoc
@JsonSerializable()
class _$CheckUsernameResponseImpl implements _CheckUsernameResponse {
  const _$CheckUsernameResponseImpl(
      {@JsonKey(name: 'available') required this.available, this.message});

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

  @override
  @JsonKey(name: 'available')
  final bool available;
  @override
  final String? message;

  @override
  String toString() {
    return 'CheckUsernameResponse(available: $available, message: $message)';
  }

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$CheckUsernameResponseImpl &&
            (identical(other.available, available) ||
                other.available == available) &&
            (identical(other.message, message) || other.message == message));
  }

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

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

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

abstract class _CheckUsernameResponse implements CheckUsernameResponse {
  const factory _CheckUsernameResponse(
      {@JsonKey(name: 'available') required final bool available,
      final String? message}) = _$CheckUsernameResponseImpl;

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

  @override
  @JsonKey(name: 'available')
  bool get available;
  @override
  String? get message;

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