// GENERATED CODE - DO NOT MODIFY BY HAND

part of 'user_info_provider.dart';

// **************************************************************************
// RiverpodGenerator
// **************************************************************************

// GENERATED CODE - DO NOT MODIFY BY HAND
// ignore_for_file: type=lint, type=warning
/// User Info Remote Data Source Provider

@ProviderFor(userInfoRemoteDataSource)
const userInfoRemoteDataSourceProvider = UserInfoRemoteDataSourceProvider._();

/// User Info Remote Data Source Provider

final class UserInfoRemoteDataSourceProvider
    extends
        $FunctionalProvider<
          AsyncValue<UserInfoRemoteDataSource>,
          UserInfoRemoteDataSource,
          FutureOr<UserInfoRemoteDataSource>
        >
    with
        $FutureModifier<UserInfoRemoteDataSource>,
        $FutureProvider<UserInfoRemoteDataSource> {
  /// User Info Remote Data Source Provider
  const UserInfoRemoteDataSourceProvider._()
    : super(
        from: null,
        argument: null,
        retry: null,
        name: r'userInfoRemoteDataSourceProvider',
        isAutoDispose: true,
        dependencies: null,
        $allTransitiveDependencies: null,
      );

  @override
  String debugGetCreateSourceHash() => _$userInfoRemoteDataSourceHash();

  @$internal
  @override
  $FutureProviderElement<UserInfoRemoteDataSource> $createElement(
    $ProviderPointer pointer,
  ) => $FutureProviderElement(pointer);

  @override
  FutureOr<UserInfoRemoteDataSource> create(Ref ref) {
    return userInfoRemoteDataSource(ref);
  }
}

String _$userInfoRemoteDataSourceHash() =>
    r'0005ce1362403c422b0f0c264a532d6e65f8d21f';

/// User Info Repository Provider

@ProviderFor(userInfoRepository)
const userInfoRepositoryProvider = UserInfoRepositoryProvider._();

/// User Info Repository Provider

final class UserInfoRepositoryProvider
    extends
        $FunctionalProvider<
          AsyncValue<UserInfoRepository>,
          UserInfoRepository,
          FutureOr<UserInfoRepository>
        >
    with
        $FutureModifier<UserInfoRepository>,
        $FutureProvider<UserInfoRepository> {
  /// User Info Repository Provider
  const UserInfoRepositoryProvider._()
    : super(
        from: null,
        argument: null,
        retry: null,
        name: r'userInfoRepositoryProvider',
        isAutoDispose: true,
        dependencies: null,
        $allTransitiveDependencies: null,
      );

  @override
  String debugGetCreateSourceHash() => _$userInfoRepositoryHash();

  @$internal
  @override
  $FutureProviderElement<UserInfoRepository> $createElement(
    $ProviderPointer pointer,
  ) => $FutureProviderElement(pointer);

  @override
  FutureOr<UserInfoRepository> create(Ref ref) {
    return userInfoRepository(ref);
  }
}

String _$userInfoRepositoryHash() =>
    r'9dbce126973e282b60cf2437fca1c2c3c3073c0b';

/// Get User Info Use Case Provider

@ProviderFor(getUserInfoUseCase)
const getUserInfoUseCaseProvider = GetUserInfoUseCaseProvider._();

/// Get User Info Use Case Provider

final class GetUserInfoUseCaseProvider
    extends
        $FunctionalProvider<
          AsyncValue<GetUserInfo>,
          GetUserInfo,
          FutureOr<GetUserInfo>
        >
    with $FutureModifier<GetUserInfo>, $FutureProvider<GetUserInfo> {
  /// Get User Info Use Case Provider
  const GetUserInfoUseCaseProvider._()
    : super(
        from: null,
        argument: null,
        retry: null,
        name: r'getUserInfoUseCaseProvider',
        isAutoDispose: true,
        dependencies: null,
        $allTransitiveDependencies: null,
      );

  @override
  String debugGetCreateSourceHash() => _$getUserInfoUseCaseHash();

  @$internal
  @override
  $FutureProviderElement<GetUserInfo> $createElement(
    $ProviderPointer pointer,
  ) => $FutureProviderElement(pointer);

  @override
  FutureOr<GetUserInfo> create(Ref ref) {
    return getUserInfoUseCase(ref);
  }
}

String _$getUserInfoUseCaseHash() =>
    r'4da4fa45015bf29b2e8d3fcaf8019eccc470a3c9';

/// User Info Provider
///
/// Fetches and manages user information state.
/// Automatically loads user info on initialization.
/// Provides refresh functionality for manual updates.
///
/// Usage:
/// ```dart
/// // In a widget
/// final userInfoAsync = ref.watch(userInfoProvider);
///
/// userInfoAsync.when(
///   data: (userInfo) => Text(userInfo.fullName),
///   loading: () => const CustomLoadingIndicator(),
///   error: (error, stack) => ErrorWidget(error),
/// );
///
/// // To refresh
/// ref.read(userInfoProvider.notifier).refresh();
/// ```

@ProviderFor(UserInfo)
const userInfoProvider = UserInfoProvider._();

/// User Info Provider
///
/// Fetches and manages user information state.
/// Automatically loads user info on initialization.
/// Provides refresh functionality for manual updates.
///
/// Usage:
/// ```dart
/// // In a widget
/// final userInfoAsync = ref.watch(userInfoProvider);
///
/// userInfoAsync.when(
///   data: (userInfo) => Text(userInfo.fullName),
///   loading: () => const CustomLoadingIndicator(),
///   error: (error, stack) => ErrorWidget(error),
/// );
///
/// // To refresh
/// ref.read(userInfoProvider.notifier).refresh();
/// ```
final class UserInfoProvider
    extends $AsyncNotifierProvider<UserInfo, domain.UserInfo> {
  /// User Info Provider
  ///
  /// Fetches and manages user information state.
  /// Automatically loads user info on initialization.
  /// Provides refresh functionality for manual updates.
  ///
  /// Usage:
  /// ```dart
  /// // In a widget
  /// final userInfoAsync = ref.watch(userInfoProvider);
  ///
  /// userInfoAsync.when(
  ///   data: (userInfo) => Text(userInfo.fullName),
  ///   loading: () => const CustomLoadingIndicator(),
  ///   error: (error, stack) => ErrorWidget(error),
  /// );
  ///
  /// // To refresh
  /// ref.read(userInfoProvider.notifier).refresh();
  /// ```
  const UserInfoProvider._()
    : super(
        from: null,
        argument: null,
        retry: null,
        name: r'userInfoProvider',
        isAutoDispose: true,
        dependencies: null,
        $allTransitiveDependencies: null,
      );

  @override
  String debugGetCreateSourceHash() => _$userInfoHash();

  @$internal
  @override
  UserInfo create() => UserInfo();
}

String _$userInfoHash() => r'ed28fdf0213dfd616592b9735cd291f147867047';

/// User Info Provider
///
/// Fetches and manages user information state.
/// Automatically loads user info on initialization.
/// Provides refresh functionality for manual updates.
///
/// Usage:
/// ```dart
/// // In a widget
/// final userInfoAsync = ref.watch(userInfoProvider);
///
/// userInfoAsync.when(
///   data: (userInfo) => Text(userInfo.fullName),
///   loading: () => const CustomLoadingIndicator(),
///   error: (error, stack) => ErrorWidget(error),
/// );
///
/// // To refresh
/// ref.read(userInfoProvider.notifier).refresh();
/// ```

abstract class _$UserInfo extends $AsyncNotifier<domain.UserInfo> {
  FutureOr<domain.UserInfo> build();
  @$mustCallSuper
  @override
  void runBuild() {
    final created = build();
    final ref = this.ref as $Ref<AsyncValue<domain.UserInfo>, domain.UserInfo>;
    final element =
        ref.element
            as $ClassProviderElement<
              AnyNotifier<AsyncValue<domain.UserInfo>, domain.UserInfo>,
              AsyncValue<domain.UserInfo>,
              Object?,
              Object?
            >;
    element.handleValue(ref, created);
  }
}

/// User Display Name Provider
///
/// Provides the user's display name (full name).
/// Returns null if user info is not loaded.

@ProviderFor(userDisplayName)
const userDisplayNameProvider = UserDisplayNameProvider._();

/// User Display Name Provider
///
/// Provides the user's display name (full name).
/// Returns null if user info is not loaded.

final class UserDisplayNameProvider
    extends $FunctionalProvider<String?, String?, String?>
    with $Provider<String?> {
  /// User Display Name Provider
  ///
  /// Provides the user's display name (full name).
  /// Returns null if user info is not loaded.
  const UserDisplayNameProvider._()
    : super(
        from: null,
        argument: null,
        retry: null,
        name: r'userDisplayNameProvider',
        isAutoDispose: true,
        dependencies: null,
        $allTransitiveDependencies: null,
      );

  @override
  String debugGetCreateSourceHash() => _$userDisplayNameHash();

  @$internal
  @override
  $ProviderElement<String?> $createElement($ProviderPointer pointer) =>
      $ProviderElement(pointer);

  @override
  String? create(Ref ref) {
    return userDisplayName(ref);
  }

  /// {@macro riverpod.override_with_value}
  Override overrideWithValue(String? value) {
    return $ProviderOverride(
      origin: this,
      providerOverride: $SyncValueProvider<String?>(value),
    );
  }
}

String _$userDisplayNameHash() => r'610fca82de075602e72988dfbe9a847733dfb9ee';

/// User Loyalty Tier Provider
///
/// Provides the user's current loyalty tier.
/// Returns null if user info is not loaded.

@ProviderFor(userLoyaltyTier)
const userLoyaltyTierProvider = UserLoyaltyTierProvider._();

/// User Loyalty Tier Provider
///
/// Provides the user's current loyalty tier.
/// Returns null if user info is not loaded.

final class UserLoyaltyTierProvider
    extends $FunctionalProvider<String?, String?, String?>
    with $Provider<String?> {
  /// User Loyalty Tier Provider
  ///
  /// Provides the user's current loyalty tier.
  /// Returns null if user info is not loaded.
  const UserLoyaltyTierProvider._()
    : super(
        from: null,
        argument: null,
        retry: null,
        name: r'userLoyaltyTierProvider',
        isAutoDispose: true,
        dependencies: null,
        $allTransitiveDependencies: null,
      );

  @override
  String debugGetCreateSourceHash() => _$userLoyaltyTierHash();

  @$internal
  @override
  $ProviderElement<String?> $createElement($ProviderPointer pointer) =>
      $ProviderElement(pointer);

  @override
  String? create(Ref ref) {
    return userLoyaltyTier(ref);
  }

  /// {@macro riverpod.override_with_value}
  Override overrideWithValue(String? value) {
    return $ProviderOverride(
      origin: this,
      providerOverride: $SyncValueProvider<String?>(value),
    );
  }
}

String _$userLoyaltyTierHash() => r'92d69295f4d8e53611bb42e447f71fc3fe3a8514';

/// User Total Points Provider
///
/// Provides the user's total loyalty points.
/// Returns 0 if user info is not loaded.

@ProviderFor(userTotalPoints)
const userTotalPointsProvider = UserTotalPointsProvider._();

/// User Total Points Provider
///
/// Provides the user's total loyalty points.
/// Returns 0 if user info is not loaded.

final class UserTotalPointsProvider extends $FunctionalProvider<int, int, int>
    with $Provider<int> {
  /// User Total Points Provider
  ///
  /// Provides the user's total loyalty points.
  /// Returns 0 if user info is not loaded.
  const UserTotalPointsProvider._()
    : super(
        from: null,
        argument: null,
        retry: null,
        name: r'userTotalPointsProvider',
        isAutoDispose: true,
        dependencies: null,
        $allTransitiveDependencies: null,
      );

  @override
  String debugGetCreateSourceHash() => _$userTotalPointsHash();

  @$internal
  @override
  $ProviderElement<int> $createElement($ProviderPointer pointer) =>
      $ProviderElement(pointer);

  @override
  int create(Ref ref) {
    return userTotalPoints(ref);
  }

  /// {@macro riverpod.override_with_value}
  Override overrideWithValue(int value) {
    return $ProviderOverride(
      origin: this,
      providerOverride: $SyncValueProvider<int>(value),
    );
  }
}

String _$userTotalPointsHash() => r'9d35a12e7294dc85a5cc754dbd0fb253327195ce';

/// User Available Points Provider
///
/// Provides the user's available points for redemption.
/// Returns 0 if user info is not loaded.

@ProviderFor(userAvailablePoints)
const userAvailablePointsProvider = UserAvailablePointsProvider._();

/// User Available Points Provider
///
/// Provides the user's available points for redemption.
/// Returns 0 if user info is not loaded.

final class UserAvailablePointsProvider
    extends $FunctionalProvider<int, int, int>
    with $Provider<int> {
  /// User Available Points Provider
  ///
  /// Provides the user's available points for redemption.
  /// Returns 0 if user info is not loaded.
  const UserAvailablePointsProvider._()
    : super(
        from: null,
        argument: null,
        retry: null,
        name: r'userAvailablePointsProvider',
        isAutoDispose: true,
        dependencies: null,
        $allTransitiveDependencies: null,
      );

  @override
  String debugGetCreateSourceHash() => _$userAvailablePointsHash();

  @$internal
  @override
  $ProviderElement<int> $createElement($ProviderPointer pointer) =>
      $ProviderElement(pointer);

  @override
  int create(Ref ref) {
    return userAvailablePoints(ref);
  }

  /// {@macro riverpod.override_with_value}
  Override overrideWithValue(int value) {
    return $ProviderOverride(
      origin: this,
      providerOverride: $SyncValueProvider<int>(value),
    );
  }
}

String _$userAvailablePointsHash() =>
    r'dd3f4952b95c11ccfcbac36622b068cdf8be953a';

/// User Avatar URL Provider
///
/// Provides the user's avatar URL.
/// Returns null if user info is not loaded or no avatar set.

@ProviderFor(userAvatarUrl)
const userAvatarUrlProvider = UserAvatarUrlProvider._();

/// User Avatar URL Provider
///
/// Provides the user's avatar URL.
/// Returns null if user info is not loaded or no avatar set.

final class UserAvatarUrlProvider
    extends $FunctionalProvider<String?, String?, String?>
    with $Provider<String?> {
  /// User Avatar URL Provider
  ///
  /// Provides the user's avatar URL.
  /// Returns null if user info is not loaded or no avatar set.
  const UserAvatarUrlProvider._()
    : super(
        from: null,
        argument: null,
        retry: null,
        name: r'userAvatarUrlProvider',
        isAutoDispose: true,
        dependencies: null,
        $allTransitiveDependencies: null,
      );

  @override
  String debugGetCreateSourceHash() => _$userAvatarUrlHash();

  @$internal
  @override
  $ProviderElement<String?> $createElement($ProviderPointer pointer) =>
      $ProviderElement(pointer);

  @override
  String? create(Ref ref) {
    return userAvatarUrl(ref);
  }

  /// {@macro riverpod.override_with_value}
  Override overrideWithValue(String? value) {
    return $ProviderOverride(
      origin: this,
      providerOverride: $SyncValueProvider<String?>(value),
    );
  }
}

String _$userAvatarUrlHash() => r'0059015a6651c8794b96aadf6db6196a769d411c';

/// User Has Company Info Provider
///
/// Checks if the user has company information.
/// Returns false if user info is not loaded.

@ProviderFor(userHasCompanyInfo)
const userHasCompanyInfoProvider = UserHasCompanyInfoProvider._();

/// User Has Company Info Provider
///
/// Checks if the user has company information.
/// Returns false if user info is not loaded.

final class UserHasCompanyInfoProvider
    extends $FunctionalProvider<bool, bool, bool>
    with $Provider<bool> {
  /// User Has Company Info Provider
  ///
  /// Checks if the user has company information.
  /// Returns false if user info is not loaded.
  const UserHasCompanyInfoProvider._()
    : super(
        from: null,
        argument: null,
        retry: null,
        name: r'userHasCompanyInfoProvider',
        isAutoDispose: true,
        dependencies: null,
        $allTransitiveDependencies: null,
      );

  @override
  String debugGetCreateSourceHash() => _$userHasCompanyInfoHash();

  @$internal
  @override
  $ProviderElement<bool> $createElement($ProviderPointer pointer) =>
      $ProviderElement(pointer);

  @override
  bool create(Ref ref) {
    return userHasCompanyInfo(ref);
  }

  /// {@macro riverpod.override_with_value}
  Override overrideWithValue(bool value) {
    return $ProviderOverride(
      origin: this,
      providerOverride: $SyncValueProvider<bool>(value),
    );
  }
}

String _$userHasCompanyInfoHash() =>
    r'fae2791285977a58e8358832b4a3772f99409c8a';

/// User Is Active Provider
///
/// Checks if the user's account is active.
/// Returns false if user info is not loaded.

@ProviderFor(userIsActive)
const userIsActiveProvider = UserIsActiveProvider._();

/// User Is Active Provider
///
/// Checks if the user's account is active.
/// Returns false if user info is not loaded.

final class UserIsActiveProvider extends $FunctionalProvider<bool, bool, bool>
    with $Provider<bool> {
  /// User Is Active Provider
  ///
  /// Checks if the user's account is active.
  /// Returns false if user info is not loaded.
  const UserIsActiveProvider._()
    : super(
        from: null,
        argument: null,
        retry: null,
        name: r'userIsActiveProvider',
        isAutoDispose: true,
        dependencies: null,
        $allTransitiveDependencies: null,
      );

  @override
  String debugGetCreateSourceHash() => _$userIsActiveHash();

  @$internal
  @override
  $ProviderElement<bool> $createElement($ProviderPointer pointer) =>
      $ProviderElement(pointer);

  @override
  bool create(Ref ref) {
    return userIsActive(ref);
  }

  /// {@macro riverpod.override_with_value}
  Override overrideWithValue(bool value) {
    return $ProviderOverride(
      origin: this,
      providerOverride: $SyncValueProvider<bool>(value),
    );
  }
}

String _$userIsActiveHash() => r'2965221f0518bf7831ab679297f749d1674cb65d';
