// GENERATED CODE - DO NOT MODIFY BY HAND

part of 'invoices_provider.dart';

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

// GENERATED CODE - DO NOT MODIFY BY HAND
// ignore_for_file: type=lint, type=warning
/// Invoices Local Data Source Provider

@ProviderFor(invoicesLocalDataSource)
const invoicesLocalDataSourceProvider = InvoicesLocalDataSourceProvider._();

/// Invoices Local Data Source Provider

final class InvoicesLocalDataSourceProvider
    extends
        $FunctionalProvider<
          InvoicesLocalDataSource,
          InvoicesLocalDataSource,
          InvoicesLocalDataSource
        >
    with $Provider<InvoicesLocalDataSource> {
  /// Invoices Local Data Source Provider
  const InvoicesLocalDataSourceProvider._()
    : super(
        from: null,
        argument: null,
        retry: null,
        name: r'invoicesLocalDataSourceProvider',
        isAutoDispose: true,
        dependencies: null,
        $allTransitiveDependencies: null,
      );

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

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

  @override
  InvoicesLocalDataSource create(Ref ref) {
    return invoicesLocalDataSource(ref);
  }

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

String _$invoicesLocalDataSourceHash() =>
    r'1fd77b210353e5527515abb2e8d53a4771f9320b';

/// Invoices Provider
///
/// Provides list of all invoices from local data source.

@ProviderFor(Invoices)
const invoicesProvider = InvoicesProvider._();

/// Invoices Provider
///
/// Provides list of all invoices from local data source.
final class InvoicesProvider
    extends $AsyncNotifierProvider<Invoices, List<InvoiceModel>> {
  /// Invoices Provider
  ///
  /// Provides list of all invoices from local data source.
  const InvoicesProvider._()
    : super(
        from: null,
        argument: null,
        retry: null,
        name: r'invoicesProvider',
        isAutoDispose: true,
        dependencies: null,
        $allTransitiveDependencies: null,
      );

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

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

String _$invoicesHash() => r'8a0d534b4fbb0367f9727f1baa3d48339cf44ab6';

/// Invoices Provider
///
/// Provides list of all invoices from local data source.

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

/// Selected Invoice Status Filter Provider
///
/// Tracks the currently selected invoice status filter for tabs.
/// null means "All" invoices.

@ProviderFor(SelectedInvoiceStatusFilter)
const selectedInvoiceStatusFilterProvider =
    SelectedInvoiceStatusFilterProvider._();

/// Selected Invoice Status Filter Provider
///
/// Tracks the currently selected invoice status filter for tabs.
/// null means "All" invoices.
final class SelectedInvoiceStatusFilterProvider
    extends $NotifierProvider<SelectedInvoiceStatusFilter, String?> {
  /// Selected Invoice Status Filter Provider
  ///
  /// Tracks the currently selected invoice status filter for tabs.
  /// null means "All" invoices.
  const SelectedInvoiceStatusFilterProvider._()
    : super(
        from: null,
        argument: null,
        retry: null,
        name: r'selectedInvoiceStatusFilterProvider',
        isAutoDispose: true,
        dependencies: null,
        $allTransitiveDependencies: null,
      );

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

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

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

String _$selectedInvoiceStatusFilterHash() =>
    r'677627b34d7754c224b53a03ef61c8da13dee26a';

/// Selected Invoice Status Filter Provider
///
/// Tracks the currently selected invoice status filter for tabs.
/// null means "All" invoices.

abstract class _$SelectedInvoiceStatusFilter 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);
  }
}

/// Filtered Invoices Provider
///
/// Filters invoices by selected status tab.

@ProviderFor(filteredInvoices)
const filteredInvoicesProvider = FilteredInvoicesProvider._();

/// Filtered Invoices Provider
///
/// Filters invoices by selected status tab.

final class FilteredInvoicesProvider
    extends
        $FunctionalProvider<
          AsyncValue<List<InvoiceModel>>,
          List<InvoiceModel>,
          FutureOr<List<InvoiceModel>>
        >
    with
        $FutureModifier<List<InvoiceModel>>,
        $FutureProvider<List<InvoiceModel>> {
  /// Filtered Invoices Provider
  ///
  /// Filters invoices by selected status tab.
  const FilteredInvoicesProvider._()
    : super(
        from: null,
        argument: null,
        retry: null,
        name: r'filteredInvoicesProvider',
        isAutoDispose: true,
        dependencies: null,
        $allTransitiveDependencies: null,
      );

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

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

  @override
  FutureOr<List<InvoiceModel>> create(Ref ref) {
    return filteredInvoices(ref);
  }
}

String _$filteredInvoicesHash() => r'778c8762e13c620d48e21d240c397f13c03de00e';

/// Invoices Count by Status Provider
///
/// Returns count of invoices for each status tab.

@ProviderFor(invoicesCountByStatus)
const invoicesCountByStatusProvider = InvoicesCountByStatusProvider._();

/// Invoices Count by Status Provider
///
/// Returns count of invoices for each status tab.

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

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

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

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

String _$invoicesCountByStatusHash() =>
    r'c21acf5db26120dc6b4bb27e9c1f84eebe315b59';

/// Total Invoices Amount Provider
///
/// Returns total amount of all invoices.

@ProviderFor(totalInvoicesAmount)
const totalInvoicesAmountProvider = TotalInvoicesAmountProvider._();

/// Total Invoices Amount Provider
///
/// Returns total amount of all invoices.

final class TotalInvoicesAmountProvider
    extends $FunctionalProvider<AsyncValue<double>, double, FutureOr<double>>
    with $FutureModifier<double>, $FutureProvider<double> {
  /// Total Invoices Amount Provider
  ///
  /// Returns total amount of all invoices.
  const TotalInvoicesAmountProvider._()
    : super(
        from: null,
        argument: null,
        retry: null,
        name: r'totalInvoicesAmountProvider',
        isAutoDispose: true,
        dependencies: null,
        $allTransitiveDependencies: null,
      );

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

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

  @override
  FutureOr<double> create(Ref ref) {
    return totalInvoicesAmount(ref);
  }
}

String _$totalInvoicesAmountHash() =>
    r'f311abe063d4f9c2e25a13acac6202b1cce72754';

/// Total Unpaid Amount Provider
///
/// Returns total amount remaining across all unpaid invoices.

@ProviderFor(totalUnpaidAmount)
const totalUnpaidAmountProvider = TotalUnpaidAmountProvider._();

/// Total Unpaid Amount Provider
///
/// Returns total amount remaining across all unpaid invoices.

final class TotalUnpaidAmountProvider
    extends $FunctionalProvider<AsyncValue<double>, double, FutureOr<double>>
    with $FutureModifier<double>, $FutureProvider<double> {
  /// Total Unpaid Amount Provider
  ///
  /// Returns total amount remaining across all unpaid invoices.
  const TotalUnpaidAmountProvider._()
    : super(
        from: null,
        argument: null,
        retry: null,
        name: r'totalUnpaidAmountProvider',
        isAutoDispose: true,
        dependencies: null,
        $allTransitiveDependencies: null,
      );

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

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

  @override
  FutureOr<double> create(Ref ref) {
    return totalUnpaidAmount(ref);
  }
}

String _$totalUnpaidAmountHash() => r'8cde697cbede5d799208fe5eca0cc0822ca608a4';
