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

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

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

// ignore_for_file: no_leading_underscores_for_library_prefixes
import 'package:flutter_secure_storage/flutter_secure_storage.dart' as _i558;
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;

import 'features/launcher/application/client_sync_use_case.dart' as _i757;
import 'features/launcher/data/game_installation_service.dart' as _i315;
import 'features/launcher/data/launcher_api_client.dart' as _i703;
import 'features/launcher/data/launcher_log_service.dart' as _i43;
import 'features/launcher/data/launcher_update_service.dart' as _i605;
import 'features/preferences/data/repositories/local_preferences_repository.dart'
    as _i658;
import 'features/preferences/domain/repositories/preferences_repository.dart'
    as _i44;
import 'third_party/flutter_secure_storage.dart' as _i782;
import 'third_party/shared_preferences.dart' as _i1006;

const String _flutter = 'flutter';

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 sharedPreferencesModule = _$SharedPreferencesModule();
    final flutterSecureStorageModule = _$FlutterSecureStorageModule();
    await gh.factoryAsync<_i460.SharedPreferences>(
      () => sharedPreferencesModule.prefs,
      preResolve: true,
    );
    gh.lazySingleton<_i315.GameInstallationService>(
      () => _i315.GameInstallationService(),
    );
    gh.lazySingleton<_i43.LauncherLogService>(() => _i43.LauncherLogService());
    gh.lazySingleton<_i558.FlutterSecureStorage>(
      () => flutterSecureStorageModule.storage,
    );
    gh.lazySingleton<_i605.LauncherUpdateService>(
      () => _i605.LauncherUpdateService(gh<_i43.LauncherLogService>()),
    );
    gh.lazySingleton<_i703.LauncherApiClient>(
      () => _i703.LauncherApiClient(
        launcherLogService: gh<_i43.LauncherLogService>(),
      ),
    );
    gh.lazySingleton<_i44.PreferencesRepository>(
      () => _i658.LocalPreferencesRepository(
        preferences: gh<_i460.SharedPreferences>(),
        secureStorage: gh<_i558.FlutterSecureStorage>(),
      ),
      registerFor: {_flutter},
    );
    gh.lazySingleton<_i757.ClientSyncUseCase>(
      () => _i757.ClientSyncUseCase(
        launcherApiClient: gh<_i703.LauncherApiClient>(),
        installationService: gh<_i315.GameInstallationService>(),
        launcherLogService: gh<_i43.LauncherLogService>(),
      ),
    );
    return this;
  }
}

class _$SharedPreferencesModule extends _i1006.SharedPreferencesModule {}

class _$FlutterSecureStorageModule extends _i782.FlutterSecureStorageModule {}
