// dart format width=80
// GENERATED CODE - DO NOT MODIFY BY HAND

// **************************************************************************
// InjectableConfigGenerator
// **************************************************************************

// ignore_for_file: type=lint
// coverage:ignore-file

// ignore_for_file: no_leading_underscores_for_library_prefixes
import 'package:connectivity_plus/connectivity_plus.dart' as _i895;
import 'package:dio/dio.dart' as _i361;
import 'package:enaklo/application/auth/auth_bloc.dart' as _i771;
import 'package:enaklo/application/auth/check_phone_form/check_phone_form_bloc.dart'
    as _i869;
import 'package:enaklo/application/auth/login_form/login_form_bloc.dart'
    as _i510;
import 'package:enaklo/application/auth/logout_form/logout_form_bloc.dart'
    as _i216;
import 'package:enaklo/application/auth/register_form/register_form_bloc.dart'
    as _i260;
import 'package:enaklo/application/auth/resend_form/resend_form_bloc.dart'
    as _i627;
import 'package:enaklo/application/auth/set_password/set_password_form_bloc.dart'
    as _i174;
import 'package:enaklo/application/auth/verify_form/verify_form_bloc.dart'
    as _i521;
import 'package:enaklo/application/customer/customer_point_loader/customer_point_loader_bloc.dart'
    as _i497;
import 'package:enaklo/application/game/game_price_loader/game_prize_loader_bloc.dart'
    as _i925;
import 'package:enaklo/common/api/api_client.dart' as _i842;
import 'package:enaklo/common/di/di_auto_route.dart' as _i619;
import 'package:enaklo/common/di/di_connectivity.dart' as _i644;
import 'package:enaklo/common/di/di_dio.dart' as _i842;
import 'package:enaklo/common/di/di_shared_preferences.dart' as _i672;
import 'package:enaklo/common/network/network_client.dart' as _i109;
import 'package:enaklo/domain/auth/auth.dart' as _i995;
import 'package:enaklo/domain/customer/customer.dart' as _i898;
import 'package:enaklo/domain/game/game.dart' as _i96;
import 'package:enaklo/env.dart' as _i372;
import 'package:enaklo/infrastructure/auth/datasources/local_data_provider.dart'
    as _i1003;
import 'package:enaklo/infrastructure/auth/datasources/remote_data_provider.dart'
    as _i818;
import 'package:enaklo/infrastructure/auth/repositories/auth_repository.dart'
    as _i879;
import 'package:enaklo/infrastructure/customer/datasources/remote_data_provider.dart'
    as _i89;
import 'package:enaklo/infrastructure/customer/repositories/customer_repository.dart'
    as _i118;
import 'package:enaklo/infrastructure/game/datasources/remote_data_provider.dart'
    as _i143;
import 'package:enaklo/infrastructure/game/repositories/game_repository.dart'
    as _i547;
import 'package:enaklo/presentation/router/app_router.dart' as _i698;
import 'package:get_it/get_it.dart' as _i174;
import 'package:injectable/injectable.dart' as _i526;
import 'package:shared_preferences/shared_preferences.dart' as _i460;

const String _dev = 'dev';
const String _prod = 'prod';

extension GetItInjectableX on _i174.GetIt {
  // initializes the registration of main-scope dependencies inside of GetIt
  Future<_i174.GetIt> init({
    String? environment,
    _i526.EnvironmentFilter? environmentFilter,
  }) async {
    final gh = _i526.GetItHelper(this, environment, environmentFilter);
    final sharedPreferencesDi = _$SharedPreferencesDi();
    final dioDi = _$DioDi();
    final autoRouteDi = _$AutoRouteDi();
    final connectivityDi = _$ConnectivityDi();
    await gh.factoryAsync<_i460.SharedPreferences>(
      () => sharedPreferencesDi.prefs,
      preResolve: true,
    );
    gh.lazySingleton<_i361.Dio>(() => dioDi.dio);
    gh.lazySingleton<_i698.AppRouter>(() => autoRouteDi.appRouter);
    gh.lazySingleton<_i895.Connectivity>(() => connectivityDi.connectivity);
    gh.lazySingleton<_i109.NetworkClient>(
      () => _i109.NetworkClient(gh<_i895.Connectivity>()),
    );
    gh.factory<_i372.Env>(() => _i372.DevEnv(), registerFor: {_dev});
    gh.factory<_i1003.AuthLocalDataProvider>(
      () => _i1003.AuthLocalDataProvider(gh<_i460.SharedPreferences>()),
    );
    gh.factory<_i372.Env>(() => _i372.ProdEnv(), registerFor: {_prod});
    gh.lazySingleton<_i842.ApiClient>(
      () => _i842.ApiClient(gh<_i361.Dio>(), gh<_i372.Env>()),
    );
    gh.factory<_i818.AuthRemoteDataProvider>(
      () => _i818.AuthRemoteDataProvider(gh<_i842.ApiClient>()),
    );
    gh.factory<_i143.GameRemoteDataProvider>(
      () => _i143.GameRemoteDataProvider(gh<_i842.ApiClient>()),
    );
    gh.factory<_i89.CustomerRemoteDataProvider>(
      () => _i89.CustomerRemoteDataProvider(gh<_i842.ApiClient>()),
    );
    gh.factory<_i96.IGameRepository>(
      () => _i547.GameRepository(gh<_i143.GameRemoteDataProvider>()),
    );
    gh.factory<_i925.GamePrizeLoaderBloc>(
      () => _i925.GamePrizeLoaderBloc(gh<_i96.IGameRepository>()),
    );
    gh.factory<_i995.IAuthRepository>(
      () => _i879.AuthRepository(
        gh<_i818.AuthRemoteDataProvider>(),
        gh<_i1003.AuthLocalDataProvider>(),
      ),
    );
    gh.factory<_i627.ResendFormBloc>(
      () => _i627.ResendFormBloc(gh<_i995.IAuthRepository>()),
    );
    gh.factory<_i174.SetPasswordFormBloc>(
      () => _i174.SetPasswordFormBloc(gh<_i995.IAuthRepository>()),
    );
    gh.factory<_i260.RegisterFormBloc>(
      () => _i260.RegisterFormBloc(gh<_i995.IAuthRepository>()),
    );
    gh.factory<_i869.CheckPhoneFormBloc>(
      () => _i869.CheckPhoneFormBloc(gh<_i995.IAuthRepository>()),
    );
    gh.factory<_i521.VerifyFormBloc>(
      () => _i521.VerifyFormBloc(gh<_i995.IAuthRepository>()),
    );
    gh.factory<_i771.AuthBloc>(
      () => _i771.AuthBloc(gh<_i995.IAuthRepository>()),
    );
    gh.factory<_i216.LogoutFormBloc>(
      () => _i216.LogoutFormBloc(gh<_i995.IAuthRepository>()),
    );
    gh.factory<_i898.ICustomerRepository>(
      () => _i118.CustomerRepository(gh<_i89.CustomerRemoteDataProvider>()),
    );
    gh.factory<_i510.LoginFormBloc>(
      () => _i510.LoginFormBloc(gh<_i995.IAuthRepository>()),
    );
    gh.factory<_i497.CustomerPointLoaderBloc>(
      () => _i497.CustomerPointLoaderBloc(gh<_i898.ICustomerRepository>()),
    );
    return this;
  }
}

class _$SharedPreferencesDi extends _i672.SharedPreferencesDi {}

class _$DioDi extends _i842.DioDi {}

class _$AutoRouteDi extends _i619.AutoRouteDi {}

class _$ConnectivityDi extends _i644.ConnectivityDi {}
