// GENERATED CODE - DO NOT MODIFY BY HAND

part of 'orders_provider.dart';

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

// GENERATED CODE - DO NOT MODIFY BY HAND
// ignore_for_file: type=lint, type=warning
/// Orders Provider
///
/// Provides list of all orders from repository (Clean Architecture).

@ProviderFor(Orders)
const ordersProvider = OrdersProvider._();

/// Orders Provider
///
/// Provides list of all orders from repository (Clean Architecture).
final class OrdersProvider extends $AsyncNotifierProvider<Orders, List<Order>> {
  /// Orders Provider
  ///
  /// Provides list of all orders from repository (Clean Architecture).
  const OrdersProvider._()
    : super(
        from: null,
        argument: null,
        retry: null,
        name: r'ordersProvider',
        isAutoDispose: true,
        dependencies: null,
        $allTransitiveDependencies: null,
      );

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

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

String _$ordersHash() => r'1a4712005f0d2fdd2d15e01b6dd9ea2adc428343';

/// Orders Provider
///
/// Provides list of all orders from repository (Clean Architecture).

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

/// Selected Order Status Provider
///
/// Tracks the currently selected order status filter.
/// null means "All" orders.

@ProviderFor(SelectedOrderStatus)
const selectedOrderStatusProvider = SelectedOrderStatusProvider._();

/// Selected Order Status Provider
///
/// Tracks the currently selected order status filter.
/// null means "All" orders.
final class SelectedOrderStatusProvider
    extends $NotifierProvider<SelectedOrderStatus, String?> {
  /// Selected Order Status Provider
  ///
  /// Tracks the currently selected order status filter.
  /// null means "All" orders.
  const SelectedOrderStatusProvider._()
    : super(
        from: null,
        argument: null,
        retry: null,
        name: r'selectedOrderStatusProvider',
        isAutoDispose: true,
        dependencies: null,
        $allTransitiveDependencies: null,
      );

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

  @$internal
  @override
  SelectedOrderStatus create() => SelectedOrderStatus();

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

String _$selectedOrderStatusHash() =>
    r'24d7f26c87da85b04a6f7ad0691663ef50f9523f';

/// Selected Order Status Provider
///
/// Tracks the currently selected order status filter.
/// null means "All" orders.

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

/// Order Search Query Provider
///
/// Tracks the current search query for order numbers.

@ProviderFor(OrderSearchQuery)
const orderSearchQueryProvider = OrderSearchQueryProvider._();

/// Order Search Query Provider
///
/// Tracks the current search query for order numbers.
final class OrderSearchQueryProvider
    extends $NotifierProvider<OrderSearchQuery, String> {
  /// Order Search Query Provider
  ///
  /// Tracks the current search query for order numbers.
  const OrderSearchQueryProvider._()
    : super(
        from: null,
        argument: null,
        retry: null,
        name: r'orderSearchQueryProvider',
        isAutoDispose: true,
        dependencies: null,
        $allTransitiveDependencies: null,
      );

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

  @$internal
  @override
  OrderSearchQuery create() => OrderSearchQuery();

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

String _$orderSearchQueryHash() => r'4f60c2a1ac8c0ce515bc807781fa3813e9934482';

/// Order Search Query Provider
///
/// Tracks the current search query for order numbers.

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

/// Orders Count by Status Provider
///
/// Returns count of orders for each status.

@ProviderFor(ordersCountByStatus)
const ordersCountByStatusProvider = OrdersCountByStatusProvider._();

/// Orders Count by Status Provider
///
/// Returns count of orders for each status.

final class OrdersCountByStatusProvider
    extends
        $FunctionalProvider<
          AsyncValue<Map<String, int>>,
          Map<String, int>,
          FutureOr<Map<String, int>>
        >
    with $FutureModifier<Map<String, int>>, $FutureProvider<Map<String, int>> {
  /// Orders Count by Status Provider
  ///
  /// Returns count of orders for each status.
  const OrdersCountByStatusProvider._()
    : super(
        from: null,
        argument: null,
        retry: null,
        name: r'ordersCountByStatusProvider',
        isAutoDispose: true,
        dependencies: null,
        $allTransitiveDependencies: null,
      );

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

  @$internal
  @override
  $FutureProviderElement<Map<String, int>> $createElement(
    $ProviderPointer pointer,
  ) => $FutureProviderElement(pointer);

  @override
  FutureOr<Map<String, int>> create(Ref ref) {
    return ordersCountByStatus(ref);
  }
}

String _$ordersCountByStatusHash() =>
    r'f6cd7f4eb47123d8e3bcfc04a82990301f3c2690';

/// Total Orders Count Provider

@ProviderFor(totalOrdersCount)
const totalOrdersCountProvider = TotalOrdersCountProvider._();

/// Total Orders Count Provider

final class TotalOrdersCountProvider
    extends $FunctionalProvider<AsyncValue<int>, int, FutureOr<int>>
    with $FutureModifier<int>, $FutureProvider<int> {
  /// Total Orders Count Provider
  const TotalOrdersCountProvider._()
    : super(
        from: null,
        argument: null,
        retry: null,
        name: r'totalOrdersCountProvider',
        isAutoDispose: true,
        dependencies: null,
        $allTransitiveDependencies: null,
      );

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

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

  @override
  FutureOr<int> create(Ref ref) {
    return totalOrdersCount(ref);
  }
}

String _$totalOrdersCountHash() => r'ec1ab3a8d432033aa1f02d28e841e78eba06d63e';

/// Order Status Hive Box Provider
///
/// Provides direct access to the Hive box for order statuses.
/// Use this to read data directly from Hive in the UI.

@ProviderFor(orderStatusHiveBox)
const orderStatusHiveBoxProvider = OrderStatusHiveBoxProvider._();

/// Order Status Hive Box Provider
///
/// Provides direct access to the Hive box for order statuses.
/// Use this to read data directly from Hive in the UI.

final class OrderStatusHiveBoxProvider
    extends $FunctionalProvider<Box<dynamic>, Box<dynamic>, Box<dynamic>>
    with $Provider<Box<dynamic>> {
  /// Order Status Hive Box Provider
  ///
  /// Provides direct access to the Hive box for order statuses.
  /// Use this to read data directly from Hive in the UI.
  const OrderStatusHiveBoxProvider._()
    : super(
        from: null,
        argument: null,
        retry: null,
        name: r'orderStatusHiveBoxProvider',
        isAutoDispose: true,
        dependencies: null,
        $allTransitiveDependencies: null,
      );

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

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

  @override
  Box<dynamic> create(Ref ref) {
    return orderStatusHiveBox(ref);
  }

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

String _$orderStatusHiveBoxHash() =>
    r'49b681c9cabb60f58e049dd4d89872c827d7db9a';

/// Order Status List Provider
///
/// Provides cached order status list with automatic refresh.
/// Uses cache-first strategy with API fallback.

@ProviderFor(orderStatusList)
const orderStatusListProvider = OrderStatusListProvider._();

/// Order Status List Provider
///
/// Provides cached order status list with automatic refresh.
/// Uses cache-first strategy with API fallback.

final class OrderStatusListProvider
    extends
        $FunctionalProvider<
          AsyncValue<List<OrderStatus>>,
          List<OrderStatus>,
          FutureOr<List<OrderStatus>>
        >
    with
        $FutureModifier<List<OrderStatus>>,
        $FutureProvider<List<OrderStatus>> {
  /// Order Status List Provider
  ///
  /// Provides cached order status list with automatic refresh.
  /// Uses cache-first strategy with API fallback.
  const OrderStatusListProvider._()
    : super(
        from: null,
        argument: null,
        retry: null,
        name: r'orderStatusListProvider',
        isAutoDispose: true,
        dependencies: null,
        $allTransitiveDependencies: null,
      );

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

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

  @override
  FutureOr<List<OrderStatus>> create(Ref ref) {
    return orderStatusList(ref);
  }
}

String _$orderStatusListHash() => r'f005726ad238164f7e0dece62476b39fd762e933';

/// Order Detail Provider
///
/// Provides detailed order information by order ID.

@ProviderFor(orderDetail)
const orderDetailProvider = OrderDetailFamily._();

/// Order Detail Provider
///
/// Provides detailed order information by order ID.

final class OrderDetailProvider
    extends
        $FunctionalProvider<
          AsyncValue<OrderDetail>,
          OrderDetail,
          FutureOr<OrderDetail>
        >
    with $FutureModifier<OrderDetail>, $FutureProvider<OrderDetail> {
  /// Order Detail Provider
  ///
  /// Provides detailed order information by order ID.
  const OrderDetailProvider._({
    required OrderDetailFamily super.from,
    required String super.argument,
  }) : super(
         retry: null,
         name: r'orderDetailProvider',
         isAutoDispose: true,
         dependencies: null,
         $allTransitiveDependencies: null,
       );

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

  @override
  String toString() {
    return r'orderDetailProvider'
        ''
        '($argument)';
  }

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

  @override
  FutureOr<OrderDetail> create(Ref ref) {
    final argument = this.argument as String;
    return orderDetail(ref, argument);
  }

  @override
  bool operator ==(Object other) {
    return other is OrderDetailProvider && other.argument == argument;
  }

  @override
  int get hashCode {
    return argument.hashCode;
  }
}

String _$orderDetailHash() => r'628b9102b54579b8bba5f9135d875730cf2066c0';

/// Order Detail Provider
///
/// Provides detailed order information by order ID.

final class OrderDetailFamily extends $Family
    with $FunctionalFamilyOverride<FutureOr<OrderDetail>, String> {
  const OrderDetailFamily._()
    : super(
        retry: null,
        name: r'orderDetailProvider',
        dependencies: null,
        $allTransitiveDependencies: null,
        isAutoDispose: true,
      );

  /// Order Detail Provider
  ///
  /// Provides detailed order information by order ID.

  OrderDetailProvider call(String orderId) =>
      OrderDetailProvider._(argument: orderId, from: this);

  @override
  String toString() => r'orderDetailProvider';
}

/// Update Order Address Action
///
/// Updates the shipping and billing addresses for an order.

@ProviderFor(UpdateOrderAddress)
const updateOrderAddressProvider = UpdateOrderAddressProvider._();

/// Update Order Address Action
///
/// Updates the shipping and billing addresses for an order.
final class UpdateOrderAddressProvider
    extends $AsyncNotifierProvider<UpdateOrderAddress, void> {
  /// Update Order Address Action
  ///
  /// Updates the shipping and billing addresses for an order.
  const UpdateOrderAddressProvider._()
    : super(
        from: null,
        argument: null,
        retry: null,
        name: r'updateOrderAddressProvider',
        isAutoDispose: false,
        dependencies: null,
        $allTransitiveDependencies: null,
      );

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

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

String _$updateOrderAddressHash() =>
    r'1913c2ccc2ba232debb4368f350f64c3d08cccec';

/// Update Order Address Action
///
/// Updates the shipping and billing addresses for an order.

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

/// Cancel Order Action
///
/// Cancels an order (only allowed for "Chờ phê duyệt" status).

@ProviderFor(CancelOrder)
const cancelOrderProvider = CancelOrderProvider._();

/// Cancel Order Action
///
/// Cancels an order (only allowed for "Chờ phê duyệt" status).
final class CancelOrderProvider
    extends $AsyncNotifierProvider<CancelOrder, void> {
  /// Cancel Order Action
  ///
  /// Cancels an order (only allowed for "Chờ phê duyệt" status).
  const CancelOrderProvider._()
    : super(
        from: null,
        argument: null,
        retry: null,
        name: r'cancelOrderProvider',
        isAutoDispose: false,
        dependencies: null,
        $allTransitiveDependencies: null,
      );

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

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

String _$cancelOrderHash() => r'201624156f3ae3c05fe438ea7e266cb8fa2a5bd6';

/// Cancel Order Action
///
/// Cancels an order (only allowed for "Chờ phê duyệt" status).

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