// GENERATED CODE - DO NOT MODIFY BY HAND

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

import 'package:get_it/get_it.dart' as _i1;
import 'package:injectable/injectable.dart' as _i2;

import '../../data/data_source/remote/api_interceptor.dart' as _i6;
import '../../data/data_source/remote/api_provider.dart' as _i8;
import '../../data/repositories/auth_repository.dart' as _i9;
import '../../data/repositories/categories_repository.dart' as _i10;
import '../../data/repositories/master_repository.dart' as _i14;
import '../../data/repositories/notification_repository.dart' as _i15;
import '../../data/repositories/product_repository.dart' as _i16;
import '../../domain/entities/flavor/flavor_data.dart' as _i7;
import '../../domain/usecases/authentication/login_use_case.dart' as _i13;
import '../../domain/usecases/banner/get_banner_use_case.dart' as _i24;
import '../../domain/usecases/categories/get_categories_use_case.dart' as _i11;
import '../../domain/usecases/categories/get_intellectuall_type_use_case.dart'
    as _i12;
import '../../domain/usecases/notification/get_notifications_use_case.dart'
    as _i25;
import '../../domain/usecases/notification/save_fcm_token_use_case.dart'
    as _i19;
import '../../domain/usecases/product/add_product_cart_use_case.dart' as _i20;
import '../../domain/usecases/product/add_product_favorite_use_case.dart'
    as _i21;
import '../../domain/usecases/product/check_product_cart_use_case.dart' as _i22;
import '../../domain/usecases/product/check_product_favorite_use_case.dart'
    as _i23;
import '../../domain/usecases/product/get_product_detail_use_case.dart' as _i26;
import '../../domain/usecases/product/get_product_favorites_use_case.dart'
    as _i27;
import '../../domain/usecases/product/get_product_list_use_case.dart' as _i28;
import '../../domain/usecases/product/get_new_product_use_case.dart' as _i99;
import '../../domain/usecases/product/remove_product_cart_use_case.dart'
    as _i17;
import '../../domain/usecases/product/remove_product_favorite_use_case.dart'
    as _i18;
import '../../presentation/bloc/favorite/favorites_bloc.dart' as _i33;
import '../../presentation/bloc/home/home_bloc.dart' as _i29;
import '../../presentation/bloc/notification/notification_count/notification_count_cubit.dart'
    as _i4;
import '../../presentation/bloc/notification/notifications/notification_bloc.dart'
    as _i30;
import '../../presentation/bloc/product_detail/product_detail_bloc.dart'
    as _i31;
import '../../presentation/bloc/products_list/products_bloc.dart' as _i32;
import '../utils/network_util.dart' as _i3;
import '../utils/shared_preferences_util.dart'
    as _i5; // ignore_for_file: unnecessary_lambdas

// ignore_for_file: lines_longer_than_80_chars
/// initializes the registration of provided dependencies inside of [GetIt]
_i1.GetIt $initGetIt(_i1.GetIt get,
    {String? environment, _i2.EnvironmentFilter? environmentFilter}) {
  final gh = _i2.GetItHelper(get, environment, environmentFilter);
  gh.factory<_i3.NetworkUtil>(() => _i3.NetworkUtil());
  gh.factory<_i4.NotificationCountCubit>(
      () => _i4.NotificationCountCubit(get<_i5.SharedPreferencesUtil>()));
  gh.factory<_i6.ApiInterceptors>(() => _i6.ApiInterceptors(
      get<_i5.SharedPreferencesUtil>(),
      get<_i7.AppFlavorData>(),
      get<_i3.NetworkUtil>()));
  gh.factory<_i8.ApiProvider>(
      () => _i8.ApiProvider(get<_i6.ApiInterceptors>()));
  gh.factory<_i9.AuthRepository>(
      () => _i9.AuthRepository(get<_i8.ApiProvider>()));
  gh.factory<_i10.CategoriesRepository>(
      () => _i10.CategoriesRepository(get<_i8.ApiProvider>()));
  gh.factory<_i11.GetCategoriesUseCase>(
      () => _i11.GetCategoriesUseCase(get<_i10.CategoriesRepository>()));
  gh.factory<_i12.GetIntellectualTypesUseCase>(
      () => _i12.GetIntellectualTypesUseCase(get<_i10.CategoriesRepository>()));
  gh.factory<_i13.LoginUseCase>(() => _i13.LoginUseCase(
      get<_i9.AuthRepository>(), get<_i5.SharedPreferencesUtil>()));
  gh.factory<_i14.MasterRepository>(
      () => _i14.MasterRepository(get<_i8.ApiProvider>()));
  gh.factory<_i15.NotificationRepository>(
      () => _i15.NotificationRepository(get<_i8.ApiProvider>()));
  gh.factory<_i16.ProductRepository>(
      () => _i16.ProductRepository(get<_i8.ApiProvider>()));
  gh.factory<_i17.RemoveProductCartUseCase>(() => _i17.RemoveProductCartUseCase(
      get<_i16.ProductRepository>(), get<_i5.SharedPreferencesUtil>()));
  gh.factory<_i18.RemoveProductFavoriteUseCase>(() =>
      _i18.RemoveProductFavoriteUseCase(
          get<_i16.ProductRepository>(), get<_i5.SharedPreferencesUtil>()));
  gh.factory<_i19.SaveFCMTokenUseCase>(
      () => _i19.SaveFCMTokenUseCase(get<_i15.NotificationRepository>()));
  gh.factory<_i20.AddProductCartUseCase>(() => _i20.AddProductCartUseCase(
      get<_i16.ProductRepository>(), get<_i5.SharedPreferencesUtil>()));
  gh.factory<_i21.AddProductFavoriteUseCase>(() =>
      _i21.AddProductFavoriteUseCase(
          get<_i16.ProductRepository>(), get<_i5.SharedPreferencesUtil>()));
  gh.factory<_i22.CheckProductCartUseCase>(() => _i22.CheckProductCartUseCase(
      get<_i16.ProductRepository>(), get<_i5.SharedPreferencesUtil>()));
  gh.factory<_i23.CheckProductFavoriteUseCase>(() =>
      _i23.CheckProductFavoriteUseCase(
          get<_i16.ProductRepository>(), get<_i5.SharedPreferencesUtil>()));
  gh.factory<_i24.GetBannerUseCase>(
      () => _i24.GetBannerUseCase(get<_i14.MasterRepository>()));
  gh.factory<_i25.GetNotificationsUseCase>(() => _i25.GetNotificationsUseCase(
      get<_i15.NotificationRepository>(), get<_i5.SharedPreferencesUtil>()));
  gh.factory<_i26.GetProductDetailUseCase>(
      () => _i26.GetProductDetailUseCase(get<_i16.ProductRepository>()));
  gh.factory<_i27.GetProductFavoritesUseCase>(() =>
      _i27.GetProductFavoritesUseCase(
          get<_i16.ProductRepository>(), get<_i5.SharedPreferencesUtil>()));
  gh.factory<_i28.GetProductListUseCase>(
      () => _i28.GetProductListUseCase(get<_i16.ProductRepository>()));
  gh.factory<_i99.GetNewProductListUseCase>(
      () => _i99.GetNewProductListUseCase(get<_i16.ProductRepository>()));
  gh.factory<_i29.HomeBloc>(() => _i29.HomeBloc(
      get<_i12.GetIntellectualTypesUseCase>(),
      get<_i11.GetCategoriesUseCase>(),
      get<_i99.GetNewProductListUseCase>(),
      get<_i24.GetBannerUseCase>()));
  gh.factory<_i30.NotificationsBloc>(
      () => _i30.NotificationsBloc(get<_i25.GetNotificationsUseCase>()));
  gh.factory<_i31.ProductDetailBloc>(() => _i31.ProductDetailBloc(
      get<_i26.GetProductDetailUseCase>(),
      get<_i28.GetProductListUseCase>(),
      get<_i21.AddProductFavoriteUseCase>(),
      get<_i18.RemoveProductFavoriteUseCase>(),
      get<_i5.SharedPreferencesUtil>(),
      get<_i23.CheckProductFavoriteUseCase>(),
      get<_i20.AddProductCartUseCase>(),
      get<_i17.RemoveProductCartUseCase>(),
      get<_i22.CheckProductCartUseCase>()));
  gh.factory<_i32.ProductListBloc>(() => _i32.ProductListBloc(
      get<_i28.GetProductListUseCase>(),
      get<_i12.GetIntellectualTypesUseCase>(),
      get<_i11.GetCategoriesUseCase>()));
  gh.factory<_i33.FavoritesBloc>(
      () => _i33.FavoritesBloc(get<_i27.GetProductFavoritesUseCase>()));
  return get;
}
