// Mocks generated by Mockito 5.4.6 from annotations
// in yimaru_app/test/helpers/test_helpers.dart.
// Do not manually edit this file.

// ignore_for_file: no_leading_underscores_for_library_prefixes
import 'dart:async' as _i9;
import 'dart:ui' as _i10;

import 'package:audioplayers/audioplayers.dart' as _i4;
import 'package:dio/dio.dart' as _i2;
import 'package:firebase_messaging/firebase_messaging.dart' as _i39;
import 'package:flutter/material.dart' as _i8;
import 'package:mockito/mockito.dart' as _i1;
import 'package:mockito/src/dummies.dart' as _i7;
import 'package:permission_handler/permission_handler.dart' as _i34;
import 'package:stacked_services/stacked_services.dart' as _i6;
import 'package:waveform_recorder/waveform_recorder.dart' as _i5;
import 'package:yimaru_app/models/category.dart' as _i21;
import 'package:yimaru_app/models/course.dart' as _i26;
import 'package:yimaru_app/models/course_detail.dart' as _i42;
import 'package:yimaru_app/models/course_lesson.dart' as _i24;
import 'package:yimaru_app/models/course_progress.dart' as _i23;
import 'package:yimaru_app/models/learn_course.dart' as _i16;
import 'package:yimaru_app/models/learn_lesson.dart' as _i19;
import 'package:yimaru_app/models/learn_module.dart' as _i18;
import 'package:yimaru_app/models/learn_practice.dart' as _i17;
import 'package:yimaru_app/models/learn_program.dart' as _i15;
import 'package:yimaru_app/models/learn_question.dart' as _i20;
import 'package:yimaru_app/models/lesson.dart' as _i30;
import 'package:yimaru_app/models/level.dart' as _i27;
import 'package:yimaru_app/models/module.dart' as _i28;
import 'package:yimaru_app/models/practice.dart' as _i25;
import 'package:yimaru_app/models/question.dart' as _i14;
import 'package:yimaru_app/models/subcategory.dart' as _i22;
import 'package:yimaru_app/models/submodule.dart' as _i29;
import 'package:yimaru_app/models/user.dart' as _i12;
import 'package:yimaru_app/services/api_service.dart' as _i13;
import 'package:yimaru_app/services/audio_player_service.dart' as _i43;
import 'package:yimaru_app/services/authentication_service.dart' as _i11;
import 'package:yimaru_app/services/course_service.dart' as _i41;
import 'package:yimaru_app/services/dio_service.dart' as _i31;
import 'package:yimaru_app/services/google_auth_service.dart' as _i36;
import 'package:yimaru_app/services/image_downloader_service.dart' as _i37;
import 'package:yimaru_app/services/image_picker_service.dart' as _i35;
import 'package:yimaru_app/services/in_app_update_service.dart' as _i46;
import 'package:yimaru_app/services/notification_service.dart' as _i38;
import 'package:yimaru_app/services/permission_handler_service.dart' as _i33;
import 'package:yimaru_app/services/secure_storage_service.dart' as _i3;
import 'package:yimaru_app/services/smart_auth_service.dart' as _i40;
import 'package:yimaru_app/services/status_checker_service.dart' as _i32;
import 'package:yimaru_app/services/voice_recorder_service.dart' as _i44;
import 'package:yimaru_app/ui/common/enmus.dart' as _i45;

// ignore_for_file: type=lint
// ignore_for_file: avoid_redundant_argument_values
// ignore_for_file: avoid_setters_without_getters
// ignore_for_file: comment_references
// ignore_for_file: deprecated_member_use
// ignore_for_file: deprecated_member_use_from_same_package
// ignore_for_file: implementation_imports
// ignore_for_file: invalid_use_of_visible_for_testing_member
// ignore_for_file: must_be_immutable
// ignore_for_file: prefer_const_constructors
// ignore_for_file: unnecessary_parenthesis
// ignore_for_file: camel_case_types
// ignore_for_file: subtype_of_sealed_class
// ignore_for_file: invalid_use_of_internal_member

class _FakeDio_0 extends _i1.SmartFake implements _i2.Dio {
  _FakeDio_0(
    Object parent,
    Invocation parentInvocation,
  ) : super(
          parent,
          parentInvocation,
        );
}

class _FakeSecureStorageService_1 extends _i1.SmartFake
    implements _i3.SecureStorageService {
  _FakeSecureStorageService_1(
    Object parent,
    Invocation parentInvocation,
  ) : super(
          parent,
          parentInvocation,
        );
}

class _FakeAudioPlayer_2 extends _i1.SmartFake implements _i4.AudioPlayer {
  _FakeAudioPlayer_2(
    Object parent,
    Invocation parentInvocation,
  ) : super(
          parent,
          parentInvocation,
        );
}

class _FakeWaveformRecorderController_3 extends _i1.SmartFake
    implements _i5.WaveformRecorderController {
  _FakeWaveformRecorderController_3(
    Object parent,
    Invocation parentInvocation,
  ) : super(
          parent,
          parentInvocation,
        );
}

/// A class which mocks [NavigationService].
///
/// See the documentation for Mockito's code generation for more information.
class MockNavigationService extends _i1.Mock implements _i6.NavigationService {
  @override
  String get previousRoute => (super.noSuchMethod(
        Invocation.getter(#previousRoute),
        returnValue: _i7.dummyValue<String>(
          this,
          Invocation.getter(#previousRoute),
        ),
        returnValueForMissingStub: _i7.dummyValue<String>(
          this,
          Invocation.getter(#previousRoute),
        ),
      ) as String);

  @override
  String get currentRoute => (super.noSuchMethod(
        Invocation.getter(#currentRoute),
        returnValue: _i7.dummyValue<String>(
          this,
          Invocation.getter(#currentRoute),
        ),
        returnValueForMissingStub: _i7.dummyValue<String>(
          this,
          Invocation.getter(#currentRoute),
        ),
      ) as String);

  @override
  _i8.GlobalKey<_i8.NavigatorState>? nestedNavigationKey(int? index) =>
      (super.noSuchMethod(
        Invocation.method(
          #nestedNavigationKey,
          [index],
        ),
        returnValueForMissingStub: null,
      ) as _i8.GlobalKey<_i8.NavigatorState>?);

  @override
  void config({
    bool? enableLog,
    bool? defaultPopGesture,
    bool? defaultOpaqueRoute,
    Duration? defaultDurationTransition,
    bool? defaultGlobalState,
    _i6.Transition? defaultTransitionStyle,
    String? defaultTransition,
  }) =>
      super.noSuchMethod(
        Invocation.method(
          #config,
          [],
          {
            #enableLog: enableLog,
            #defaultPopGesture: defaultPopGesture,
            #defaultOpaqueRoute: defaultOpaqueRoute,
            #defaultDurationTransition: defaultDurationTransition,
            #defaultGlobalState: defaultGlobalState,
            #defaultTransitionStyle: defaultTransitionStyle,
            #defaultTransition: defaultTransition,
          },
        ),
        returnValueForMissingStub: null,
      );

  @override
  _i9.Future<T?>? navigateWithTransition<T>(
    _i8.Widget? page, {
    bool? opaque,
    String? transition = '',
    Duration? duration,
    bool? popGesture,
    int? id,
    _i8.Curve? curve,
    bool? fullscreenDialog = false,
    bool? preventDuplicates = true,
    _i6.Transition? transitionClass,
    _i6.Transition? transitionStyle,
    String? routeName,
  }) =>
      (super.noSuchMethod(
        Invocation.method(
          #navigateWithTransition,
          [page],
          {
            #opaque: opaque,
            #transition: transition,
            #duration: duration,
            #popGesture: popGesture,
            #id: id,
            #curve: curve,
            #fullscreenDialog: fullscreenDialog,
            #preventDuplicates: preventDuplicates,
            #transitionClass: transitionClass,
            #transitionStyle: transitionStyle,
            #routeName: routeName,
          },
        ),
        returnValueForMissingStub: null,
      ) as _i9.Future<T?>?);

  @override
  _i9.Future<T?>? replaceWithTransition<T>(
    _i8.Widget? page, {
    bool? opaque,
    String? transition = '',
    Duration? duration,
    bool? popGesture,
    int? id,
    _i8.Curve? curve,
    bool? fullscreenDialog = false,
    bool? preventDuplicates = true,
    _i6.Transition? transitionClass,
    _i6.Transition? transitionStyle,
    String? routeName,
  }) =>
      (super.noSuchMethod(
        Invocation.method(
          #replaceWithTransition,
          [page],
          {
            #opaque: opaque,
            #transition: transition,
            #duration: duration,
            #popGesture: popGesture,
            #id: id,
            #curve: curve,
            #fullscreenDialog: fullscreenDialog,
            #preventDuplicates: preventDuplicates,
            #transitionClass: transitionClass,
            #transitionStyle: transitionStyle,
            #routeName: routeName,
          },
        ),
        returnValueForMissingStub: null,
      ) as _i9.Future<T?>?);

  @override
  bool back<T>({
    dynamic result,
    int? id,
  }) =>
      (super.noSuchMethod(
        Invocation.method(
          #back,
          [],
          {
            #result: result,
            #id: id,
          },
        ),
        returnValue: false,
        returnValueForMissingStub: false,
      ) as bool);

  @override
  void popUntil(
    _i8.RoutePredicate? predicate, {
    int? id,
  }) =>
      super.noSuchMethod(
        Invocation.method(
          #popUntil,
          [predicate],
          {#id: id},
        ),
        returnValueForMissingStub: null,
      );

  @override
  void popRepeated(int? popTimes) => super.noSuchMethod(
        Invocation.method(
          #popRepeated,
          [popTimes],
        ),
        returnValueForMissingStub: null,
      );

  @override
  _i9.Future<T?>? navigateTo<T>(
    String? routeName, {
    dynamic arguments,
    int? id,
    bool? preventDuplicates = true,
    Map<String, String>? parameters,
    _i8.RouteTransitionsBuilder? transition,
  }) =>
      (super.noSuchMethod(
        Invocation.method(
          #navigateTo,
          [routeName],
          {
            #arguments: arguments,
            #id: id,
            #preventDuplicates: preventDuplicates,
            #parameters: parameters,
            #transition: transition,
          },
        ),
        returnValueForMissingStub: null,
      ) as _i9.Future<T?>?);

  @override
  _i9.Future<T?>? navigateToView<T>(
    _i8.Widget? view, {
    dynamic arguments,
    int? id,
    bool? opaque,
    _i8.Curve? curve,
    Duration? duration,
    bool? fullscreenDialog = false,
    bool? popGesture,
    bool? preventDuplicates = true,
    _i6.Transition? transition,
    _i6.Transition? transitionStyle,
  }) =>
      (super.noSuchMethod(
        Invocation.method(
          #navigateToView,
          [view],
          {
            #arguments: arguments,
            #id: id,
            #opaque: opaque,
            #curve: curve,
            #duration: duration,
            #fullscreenDialog: fullscreenDialog,
            #popGesture: popGesture,
            #preventDuplicates: preventDuplicates,
            #transition: transition,
            #transitionStyle: transitionStyle,
          },
        ),
        returnValueForMissingStub: null,
      ) as _i9.Future<T?>?);

  @override
  _i9.Future<T?>? replaceWith<T>(
    String? routeName, {
    dynamic arguments,
    int? id,
    bool? preventDuplicates = true,
    Map<String, String>? parameters,
    _i8.RouteTransitionsBuilder? transition,
  }) =>
      (super.noSuchMethod(
        Invocation.method(
          #replaceWith,
          [routeName],
          {
            #arguments: arguments,
            #id: id,
            #preventDuplicates: preventDuplicates,
            #parameters: parameters,
            #transition: transition,
          },
        ),
        returnValueForMissingStub: null,
      ) as _i9.Future<T?>?);

  @override
  _i9.Future<T?>? clearStackAndShow<T>(
    String? routeName, {
    dynamic arguments,
    int? id,
    Map<String, String>? parameters,
  }) =>
      (super.noSuchMethod(
        Invocation.method(
          #clearStackAndShow,
          [routeName],
          {
            #arguments: arguments,
            #id: id,
            #parameters: parameters,
          },
        ),
        returnValueForMissingStub: null,
      ) as _i9.Future<T?>?);

  @override
  _i9.Future<T?>? clearStackAndShowView<T>(
    _i8.Widget? view, {
    dynamic arguments,
    int? id,
  }) =>
      (super.noSuchMethod(
        Invocation.method(
          #clearStackAndShowView,
          [view],
          {
            #arguments: arguments,
            #id: id,
          },
        ),
        returnValueForMissingStub: null,
      ) as _i9.Future<T?>?);

  @override
  _i9.Future<T?>? clearTillFirstAndShow<T>(
    String? routeName, {
    dynamic arguments,
    int? id,
    bool? preventDuplicates = true,
    Map<String, String>? parameters,
  }) =>
      (super.noSuchMethod(
        Invocation.method(
          #clearTillFirstAndShow,
          [routeName],
          {
            #arguments: arguments,
            #id: id,
            #preventDuplicates: preventDuplicates,
            #parameters: parameters,
          },
        ),
        returnValueForMissingStub: null,
      ) as _i9.Future<T?>?);

  @override
  _i9.Future<T?>? clearTillFirstAndShowView<T>(
    _i8.Widget? view, {
    dynamic arguments,
    int? id,
  }) =>
      (super.noSuchMethod(
        Invocation.method(
          #clearTillFirstAndShowView,
          [view],
          {
            #arguments: arguments,
            #id: id,
          },
        ),
        returnValueForMissingStub: null,
      ) as _i9.Future<T?>?);

  @override
  _i9.Future<T?>? pushNamedAndRemoveUntil<T>(
    String? routeName, {
    _i8.RoutePredicate? predicate,
    dynamic arguments,
    int? id,
  }) =>
      (super.noSuchMethod(
        Invocation.method(
          #pushNamedAndRemoveUntil,
          [routeName],
          {
            #predicate: predicate,
            #arguments: arguments,
            #id: id,
          },
        ),
        returnValueForMissingStub: null,
      ) as _i9.Future<T?>?);
}

/// A class which mocks [BottomSheetService].
///
/// See the documentation for Mockito's code generation for more information.
class MockBottomSheetService extends _i1.Mock
    implements _i6.BottomSheetService {
  @override
  void setCustomSheetBuilders(Map<dynamic, _i6.SheetBuilder>? builders) =>
      super.noSuchMethod(
        Invocation.method(
          #setCustomSheetBuilders,
          [builders],
        ),
        returnValueForMissingStub: null,
      );

  @override
  _i9.Future<_i6.SheetResponse<dynamic>?> showBottomSheet({
    required String? title,
    String? description,
    String? confirmButtonTitle = 'Ok',
    String? cancelButtonTitle,
    bool? enableDrag = true,
    bool? barrierDismissible = true,
    bool? isScrollControlled = false,
    Duration? exitBottomSheetDuration,
    Duration? enterBottomSheetDuration,
    bool? ignoreSafeArea,
    bool? useRootNavigator = false,
    double? elevation = 1.0,
  }) =>
      (super.noSuchMethod(
        Invocation.method(
          #showBottomSheet,
          [],
          {
            #title: title,
            #description: description,
            #confirmButtonTitle: confirmButtonTitle,
            #cancelButtonTitle: cancelButtonTitle,
            #enableDrag: enableDrag,
            #barrierDismissible: barrierDismissible,
            #isScrollControlled: isScrollControlled,
            #exitBottomSheetDuration: exitBottomSheetDuration,
            #enterBottomSheetDuration: enterBottomSheetDuration,
            #ignoreSafeArea: ignoreSafeArea,
            #useRootNavigator: useRootNavigator,
            #elevation: elevation,
          },
        ),
        returnValue: _i9.Future<_i6.SheetResponse<dynamic>?>.value(),
        returnValueForMissingStub:
            _i9.Future<_i6.SheetResponse<dynamic>?>.value(),
      ) as _i9.Future<_i6.SheetResponse<dynamic>?>);

  @override
  _i9.Future<_i6.SheetResponse<T>?> showCustomSheet<T, R>({
    dynamic variant,
    String? title,
    String? description,
    bool? hasImage = false,
    String? imageUrl,
    bool? showIconInMainButton = false,
    String? mainButtonTitle,
    bool? showIconInSecondaryButton = false,
    String? secondaryButtonTitle,
    bool? showIconInAdditionalButton = false,
    String? additionalButtonTitle,
    bool? takesInput = false,
    _i10.Color? barrierColor = const _i10.Color(2315255808),
    double? elevation = 1.0,
    bool? barrierDismissible = true,
    bool? isScrollControlled = false,
    String? barrierLabel = '',
    dynamic customData,
    R? data,
    bool? enableDrag = true,
    Duration? exitBottomSheetDuration,
    Duration? enterBottomSheetDuration,
    bool? ignoreSafeArea,
    bool? useRootNavigator = false,
  }) =>
      (super.noSuchMethod(
        Invocation.method(
          #showCustomSheet,
          [],
          {
            #variant: variant,
            #title: title,
            #description: description,
            #hasImage: hasImage,
            #imageUrl: imageUrl,
            #showIconInMainButton: showIconInMainButton,
            #mainButtonTitle: mainButtonTitle,
            #showIconInSecondaryButton: showIconInSecondaryButton,
            #secondaryButtonTitle: secondaryButtonTitle,
            #showIconInAdditionalButton: showIconInAdditionalButton,
            #additionalButtonTitle: additionalButtonTitle,
            #takesInput: takesInput,
            #barrierColor: barrierColor,
            #elevation: elevation,
            #barrierDismissible: barrierDismissible,
            #isScrollControlled: isScrollControlled,
            #barrierLabel: barrierLabel,
            #customData: customData,
            #data: data,
            #enableDrag: enableDrag,
            #exitBottomSheetDuration: exitBottomSheetDuration,
            #enterBottomSheetDuration: enterBottomSheetDuration,
            #ignoreSafeArea: ignoreSafeArea,
            #useRootNavigator: useRootNavigator,
          },
        ),
        returnValue: _i9.Future<_i6.SheetResponse<T>?>.value(),
        returnValueForMissingStub: _i9.Future<_i6.SheetResponse<T>?>.value(),
      ) as _i9.Future<_i6.SheetResponse<T>?>);

  @override
  void completeSheet(_i6.SheetResponse<dynamic>? response) =>
      super.noSuchMethod(
        Invocation.method(
          #completeSheet,
          [response],
        ),
        returnValueForMissingStub: null,
      );
}

/// A class which mocks [DialogService].
///
/// See the documentation for Mockito's code generation for more information.
class MockDialogService extends _i1.Mock implements _i6.DialogService {
  @override
  void registerCustomDialogBuilders(
          Map<dynamic, _i6.DialogBuilder>? builders) =>
      super.noSuchMethod(
        Invocation.method(
          #registerCustomDialogBuilders,
          [builders],
        ),
        returnValueForMissingStub: null,
      );

  @override
  void registerCustomDialogBuilder({
    required dynamic variant,
    required _i8.Widget Function(
      _i8.BuildContext,
      _i6.DialogRequest<dynamic>,
      dynamic Function(_i6.DialogResponse<dynamic>),
    )? builder,
  }) =>
      super.noSuchMethod(
        Invocation.method(
          #registerCustomDialogBuilder,
          [],
          {
            #variant: variant,
            #builder: builder,
          },
        ),
        returnValueForMissingStub: null,
      );

  @override
  _i9.Future<_i6.DialogResponse<dynamic>?> showDialog({
    String? title,
    String? description,
    String? cancelTitle,
    _i10.Color? cancelTitleColor,
    String? buttonTitle = 'Ok',
    _i10.Color? buttonTitleColor,
    bool? barrierDismissible = false,
    _i8.RouteSettings? routeSettings,
    _i8.GlobalKey<_i8.NavigatorState>? navigatorKey,
    _i6.DialogPlatform? dialogPlatform,
  }) =>
      (super.noSuchMethod(
        Invocation.method(
          #showDialog,
          [],
          {
            #title: title,
            #description: description,
            #cancelTitle: cancelTitle,
            #cancelTitleColor: cancelTitleColor,
            #buttonTitle: buttonTitle,
            #buttonTitleColor: buttonTitleColor,
            #barrierDismissible: barrierDismissible,
            #routeSettings: routeSettings,
            #navigatorKey: navigatorKey,
            #dialogPlatform: dialogPlatform,
          },
        ),
        returnValue: _i9.Future<_i6.DialogResponse<dynamic>?>.value(),
        returnValueForMissingStub:
            _i9.Future<_i6.DialogResponse<dynamic>?>.value(),
      ) as _i9.Future<_i6.DialogResponse<dynamic>?>);

  @override
  _i9.Future<_i6.DialogResponse<T>?> showCustomDialog<T, R>({
    dynamic variant,
    String? title,
    String? description,
    bool? hasImage = false,
    String? imageUrl,
    bool? showIconInMainButton = false,
    String? mainButtonTitle,
    bool? showIconInSecondaryButton = false,
    String? secondaryButtonTitle,
    bool? showIconInAdditionalButton = false,
    String? additionalButtonTitle,
    bool? takesInput = false,
    _i10.Color? barrierColor = const _i10.Color(2315255808),
    bool? barrierDismissible = false,
    String? barrierLabel = '',
    bool? useSafeArea = true,
    _i8.RouteSettings? routeSettings,
    _i8.GlobalKey<_i8.NavigatorState>? navigatorKey,
    _i8.RouteTransitionsBuilder? transitionBuilder,
    dynamic customData,
    R? data,
  }) =>
      (super.noSuchMethod(
        Invocation.method(
          #showCustomDialog,
          [],
          {
            #variant: variant,
            #title: title,
            #description: description,
            #hasImage: hasImage,
            #imageUrl: imageUrl,
            #showIconInMainButton: showIconInMainButton,
            #mainButtonTitle: mainButtonTitle,
            #showIconInSecondaryButton: showIconInSecondaryButton,
            #secondaryButtonTitle: secondaryButtonTitle,
            #showIconInAdditionalButton: showIconInAdditionalButton,
            #additionalButtonTitle: additionalButtonTitle,
            #takesInput: takesInput,
            #barrierColor: barrierColor,
            #barrierDismissible: barrierDismissible,
            #barrierLabel: barrierLabel,
            #useSafeArea: useSafeArea,
            #routeSettings: routeSettings,
            #navigatorKey: navigatorKey,
            #transitionBuilder: transitionBuilder,
            #customData: customData,
            #data: data,
          },
        ),
        returnValue: _i9.Future<_i6.DialogResponse<T>?>.value(),
        returnValueForMissingStub: _i9.Future<_i6.DialogResponse<T>?>.value(),
      ) as _i9.Future<_i6.DialogResponse<T>?>);

  @override
  _i9.Future<_i6.DialogResponse<dynamic>?> showConfirmationDialog({
    String? title,
    String? description,
    String? cancelTitle = 'Cancel',
    _i10.Color? cancelTitleColor,
    String? confirmationTitle = 'Ok',
    _i10.Color? confirmationTitleColor,
    bool? barrierDismissible = false,
    _i8.RouteSettings? routeSettings,
    _i6.DialogPlatform? dialogPlatform,
  }) =>
      (super.noSuchMethod(
        Invocation.method(
          #showConfirmationDialog,
          [],
          {
            #title: title,
            #description: description,
            #cancelTitle: cancelTitle,
            #cancelTitleColor: cancelTitleColor,
            #confirmationTitle: confirmationTitle,
            #confirmationTitleColor: confirmationTitleColor,
            #barrierDismissible: barrierDismissible,
            #routeSettings: routeSettings,
            #dialogPlatform: dialogPlatform,
          },
        ),
        returnValue: _i9.Future<_i6.DialogResponse<dynamic>?>.value(),
        returnValueForMissingStub:
            _i9.Future<_i6.DialogResponse<dynamic>?>.value(),
      ) as _i9.Future<_i6.DialogResponse<dynamic>?>);

  @override
  void completeDialog(_i6.DialogResponse<dynamic>? response) =>
      super.noSuchMethod(
        Invocation.method(
          #completeDialog,
          [response],
        ),
        returnValueForMissingStub: null,
      );
}

/// A class which mocks [AuthenticationService].
///
/// See the documentation for Mockito's code generation for more information.
class MockAuthenticationService extends _i1.Mock
    implements _i11.AuthenticationService {
  @override
  int get listenersCount => (super.noSuchMethod(
        Invocation.getter(#listenersCount),
        returnValue: 0,
        returnValueForMissingStub: 0,
      ) as int);

  @override
  _i9.Future<bool> userLoggedIn() => (super.noSuchMethod(
        Invocation.method(
          #userLoggedIn,
          [],
        ),
        returnValue: _i9.Future<bool>.value(false),
        returnValueForMissingStub: _i9.Future<bool>.value(false),
      ) as _i9.Future<bool>);

  @override
  _i9.Future<String?> getAccessToken() => (super.noSuchMethod(
        Invocation.method(
          #getAccessToken,
          [],
        ),
        returnValue: _i9.Future<String?>.value(),
        returnValueForMissingStub: _i9.Future<String?>.value(),
      ) as _i9.Future<String?>);

  @override
  _i9.Future<String?> getRefreshToken() => (super.noSuchMethod(
        Invocation.method(
          #getRefreshToken,
          [],
        ),
        returnValue: _i9.Future<String?>.value(),
        returnValueForMissingStub: _i9.Future<String?>.value(),
      ) as _i9.Future<String?>);

  @override
  _i9.Future<int?> getUserId() => (super.noSuchMethod(
        Invocation.method(
          #getUserId,
          [],
        ),
        returnValue: _i9.Future<int?>.value(),
        returnValueForMissingStub: _i9.Future<int?>.value(),
      ) as _i9.Future<int?>);

  @override
  _i9.Future<void> saveTokens({
    required String? access,
    required String? refresh,
  }) =>
      (super.noSuchMethod(
        Invocation.method(
          #saveTokens,
          [],
          {
            #access: access,
            #refresh: refresh,
          },
        ),
        returnValue: _i9.Future<void>.value(),
        returnValueForMissingStub: _i9.Future<void>.value(),
      ) as _i9.Future<void>);

  @override
  _i9.Future<void> saveUserCredential(Map<String, dynamic>? data) =>
      (super.noSuchMethod(
        Invocation.method(
          #saveUserCredential,
          [data],
        ),
        returnValue: _i9.Future<void>.value(),
        returnValueForMissingStub: _i9.Future<void>.value(),
      ) as _i9.Future<void>);

  @override
  _i9.Future<void> saveProfileStatus(bool? value) => (super.noSuchMethod(
        Invocation.method(
          #saveProfileStatus,
          [value],
        ),
        returnValue: _i9.Future<void>.value(),
        returnValueForMissingStub: _i9.Future<void>.value(),
      ) as _i9.Future<void>);

  @override
  _i9.Future<void> saveProfilePicture(String? image) => (super.noSuchMethod(
        Invocation.method(
          #saveProfilePicture,
          [image],
        ),
        returnValue: _i9.Future<void>.value(),
        returnValueForMissingStub: _i9.Future<void>.value(),
      ) as _i9.Future<void>);

  @override
  _i9.Future<void> saveUserData(_i12.User? data) => (super.noSuchMethod(
        Invocation.method(
          #saveUserData,
          [data],
        ),
        returnValue: _i9.Future<void>.value(),
        returnValueForMissingStub: _i9.Future<void>.value(),
      ) as _i9.Future<void>);

  @override
  _i9.Future<void> updateUserData(Map<String, dynamic>? data) =>
      (super.noSuchMethod(
        Invocation.method(
          #updateUserData,
          [data],
        ),
        returnValue: _i9.Future<void>.value(),
        returnValueForMissingStub: _i9.Future<void>.value(),
      ) as _i9.Future<void>);

  @override
  _i9.Future<bool> isFirstTimeInstall() => (super.noSuchMethod(
        Invocation.method(
          #isFirstTimeInstall,
          [],
        ),
        returnValue: _i9.Future<bool>.value(false),
        returnValueForMissingStub: _i9.Future<bool>.value(false),
      ) as _i9.Future<bool>);

  @override
  _i9.Future<void> setFirstTimeInstall(bool? value) => (super.noSuchMethod(
        Invocation.method(
          #setFirstTimeInstall,
          [value],
        ),
        returnValue: _i9.Future<void>.value(),
        returnValueForMissingStub: _i9.Future<void>.value(),
      ) as _i9.Future<void>);

  @override
  _i9.Future<_i12.User?> getUser() => (super.noSuchMethod(
        Invocation.method(
          #getUser,
          [],
        ),
        returnValue: _i9.Future<_i12.User?>.value(),
        returnValueForMissingStub: _i9.Future<_i12.User?>.value(),
      ) as _i9.Future<_i12.User?>);

  @override
  _i9.Future<void> logout() => (super.noSuchMethod(
        Invocation.method(
          #logout,
          [],
        ),
        returnValue: _i9.Future<void>.value(),
        returnValueForMissingStub: _i9.Future<void>.value(),
      ) as _i9.Future<void>);

  @override
  void listenToReactiveValues(List<dynamic>? reactiveValues) =>
      super.noSuchMethod(
        Invocation.method(
          #listenToReactiveValues,
          [reactiveValues],
        ),
        returnValueForMissingStub: null,
      );

  @override
  void addListener(void Function()? listener) => super.noSuchMethod(
        Invocation.method(
          #addListener,
          [listener],
        ),
        returnValueForMissingStub: null,
      );

  @override
  void removeListener(void Function()? listener) => super.noSuchMethod(
        Invocation.method(
          #removeListener,
          [listener],
        ),
        returnValueForMissingStub: null,
      );

  @override
  void notifyListeners() => super.noSuchMethod(
        Invocation.method(
          #notifyListeners,
          [],
        ),
        returnValueForMissingStub: null,
      );
}

/// A class which mocks [ApiService].
///
/// See the documentation for Mockito's code generation for more information.
class MockApiService extends _i1.Mock implements _i13.ApiService {
  @override
  _i9.Future<Map<String, dynamic>> registerWithEmail(
          Map<String, dynamic>? data) =>
      (super.noSuchMethod(
        Invocation.method(
          #registerWithEmail,
          [data],
        ),
        returnValue:
            _i9.Future<Map<String, dynamic>>.value(<String, dynamic>{}),
        returnValueForMissingStub:
            _i9.Future<Map<String, dynamic>>.value(<String, dynamic>{}),
      ) as _i9.Future<Map<String, dynamic>>);

  @override
  _i9.Future<Map<String, dynamic>> login(Map<String, dynamic>? data) =>
      (super.noSuchMethod(
        Invocation.method(
          #login,
          [data],
        ),
        returnValue:
            _i9.Future<Map<String, dynamic>>.value(<String, dynamic>{}),
        returnValueForMissingStub:
            _i9.Future<Map<String, dynamic>>.value(<String, dynamic>{}),
      ) as _i9.Future<Map<String, dynamic>>);

  @override
  _i9.Future<Map<String, dynamic>> googleAuth(Map<String, dynamic>? data) =>
      (super.noSuchMethod(
        Invocation.method(
          #googleAuth,
          [data],
        ),
        returnValue:
            _i9.Future<Map<String, dynamic>>.value(<String, dynamic>{}),
        returnValueForMissingStub:
            _i9.Future<Map<String, dynamic>>.value(<String, dynamic>{}),
      ) as _i9.Future<Map<String, dynamic>>);

  @override
  _i9.Future<Map<String, dynamic>> verifyOtp(Map<String, dynamic>? data) =>
      (super.noSuchMethod(
        Invocation.method(
          #verifyOtp,
          [data],
        ),
        returnValue:
            _i9.Future<Map<String, dynamic>>.value(<String, dynamic>{}),
        returnValueForMissingStub:
            _i9.Future<Map<String, dynamic>>.value(<String, dynamic>{}),
      ) as _i9.Future<Map<String, dynamic>>);

  @override
  _i9.Future<Map<String, dynamic>> resendOtp(Map<String, dynamic>? data) =>
      (super.noSuchMethod(
        Invocation.method(
          #resendOtp,
          [data],
        ),
        returnValue:
            _i9.Future<Map<String, dynamic>>.value(<String, dynamic>{}),
        returnValueForMissingStub:
            _i9.Future<Map<String, dynamic>>.value(<String, dynamic>{}),
      ) as _i9.Future<Map<String, dynamic>>);

  @override
  _i9.Future<Map<String, dynamic>> requestResetCode(
          Map<String, dynamic>? data) =>
      (super.noSuchMethod(
        Invocation.method(
          #requestResetCode,
          [data],
        ),
        returnValue:
            _i9.Future<Map<String, dynamic>>.value(<String, dynamic>{}),
        returnValueForMissingStub:
            _i9.Future<Map<String, dynamic>>.value(<String, dynamic>{}),
      ) as _i9.Future<Map<String, dynamic>>);

  @override
  _i9.Future<Map<String, dynamic>> resetPassword(Map<String, dynamic>? data) =>
      (super.noSuchMethod(
        Invocation.method(
          #resetPassword,
          [data],
        ),
        returnValue:
            _i9.Future<Map<String, dynamic>>.value(<String, dynamic>{}),
        returnValueForMissingStub:
            _i9.Future<Map<String, dynamic>>.value(<String, dynamic>{}),
      ) as _i9.Future<Map<String, dynamic>>);

  @override
  _i9.Future<Map<String, dynamic>> getProfileStatus(_i12.User? user) =>
      (super.noSuchMethod(
        Invocation.method(
          #getProfileStatus,
          [user],
        ),
        returnValue:
            _i9.Future<Map<String, dynamic>>.value(<String, dynamic>{}),
        returnValueForMissingStub:
            _i9.Future<Map<String, dynamic>>.value(<String, dynamic>{}),
      ) as _i9.Future<Map<String, dynamic>>);

  @override
  _i9.Future<Map<String, dynamic>> getProfileData(int? userId) =>
      (super.noSuchMethod(
        Invocation.method(
          #getProfileData,
          [userId],
        ),
        returnValue:
            _i9.Future<Map<String, dynamic>>.value(<String, dynamic>{}),
        returnValueForMissingStub:
            _i9.Future<Map<String, dynamic>>.value(<String, dynamic>{}),
      ) as _i9.Future<Map<String, dynamic>>);

  @override
  _i9.Future<Map<String, dynamic>> completeProfile(
          Map<String, dynamic>? data) =>
      (super.noSuchMethod(
        Invocation.method(
          #completeProfile,
          [data],
        ),
        returnValue:
            _i9.Future<Map<String, dynamic>>.value(<String, dynamic>{}),
        returnValueForMissingStub:
            _i9.Future<Map<String, dynamic>>.value(<String, dynamic>{}),
      ) as _i9.Future<Map<String, dynamic>>);

  @override
  _i9.Future<Map<String, dynamic>> updateProfileImage({
    required int? userId,
    required Map<String, dynamic>? data,
  }) =>
      (super.noSuchMethod(
        Invocation.method(
          #updateProfileImage,
          [],
          {
            #userId: userId,
            #data: data,
          },
        ),
        returnValue:
            _i9.Future<Map<String, dynamic>>.value(<String, dynamic>{}),
        returnValueForMissingStub:
            _i9.Future<Map<String, dynamic>>.value(<String, dynamic>{}),
      ) as _i9.Future<Map<String, dynamic>>);

  @override
  _i9.Future<List<_i14.Question>> getAssessments() => (super.noSuchMethod(
        Invocation.method(
          #getAssessments,
          [],
        ),
        returnValue: _i9.Future<List<_i14.Question>>.value(<_i14.Question>[]),
        returnValueForMissingStub:
            _i9.Future<List<_i14.Question>>.value(<_i14.Question>[]),
      ) as _i9.Future<List<_i14.Question>>);

  @override
  _i9.Future<List<_i15.LearnProgram>> getLearnPrograms() => (super.noSuchMethod(
        Invocation.method(
          #getLearnPrograms,
          [],
        ),
        returnValue:
            _i9.Future<List<_i15.LearnProgram>>.value(<_i15.LearnProgram>[]),
        returnValueForMissingStub:
            _i9.Future<List<_i15.LearnProgram>>.value(<_i15.LearnProgram>[]),
      ) as _i9.Future<List<_i15.LearnProgram>>);

  @override
  _i9.Future<List<_i16.LearnCourse>> getLearnCourse(int? id) =>
      (super.noSuchMethod(
        Invocation.method(
          #getLearnCourse,
          [id],
        ),
        returnValue:
            _i9.Future<List<_i16.LearnCourse>>.value(<_i16.LearnCourse>[]),
        returnValueForMissingStub:
            _i9.Future<List<_i16.LearnCourse>>.value(<_i16.LearnCourse>[]),
      ) as _i9.Future<List<_i16.LearnCourse>>);

  @override
  _i9.Future<List<_i17.LearnPractice>> getLearnCoursePractices(int? id) =>
      (super.noSuchMethod(
        Invocation.method(
          #getLearnCoursePractices,
          [id],
        ),
        returnValue:
            _i9.Future<List<_i17.LearnPractice>>.value(<_i17.LearnPractice>[]),
        returnValueForMissingStub:
            _i9.Future<List<_i17.LearnPractice>>.value(<_i17.LearnPractice>[]),
      ) as _i9.Future<List<_i17.LearnPractice>>);

  @override
  _i9.Future<List<_i18.LearnModule>> getLearnModules(int? id) =>
      (super.noSuchMethod(
        Invocation.method(
          #getLearnModules,
          [id],
        ),
        returnValue:
            _i9.Future<List<_i18.LearnModule>>.value(<_i18.LearnModule>[]),
        returnValueForMissingStub:
            _i9.Future<List<_i18.LearnModule>>.value(<_i18.LearnModule>[]),
      ) as _i9.Future<List<_i18.LearnModule>>);

  @override
  _i9.Future<List<_i17.LearnPractice>> getLearnModulePractices(int? id) =>
      (super.noSuchMethod(
        Invocation.method(
          #getLearnModulePractices,
          [id],
        ),
        returnValue:
            _i9.Future<List<_i17.LearnPractice>>.value(<_i17.LearnPractice>[]),
        returnValueForMissingStub:
            _i9.Future<List<_i17.LearnPractice>>.value(<_i17.LearnPractice>[]),
      ) as _i9.Future<List<_i17.LearnPractice>>);

  @override
  _i9.Future<List<_i19.LearnLesson>> getLearnLessons(int? id) =>
      (super.noSuchMethod(
        Invocation.method(
          #getLearnLessons,
          [id],
        ),
        returnValue:
            _i9.Future<List<_i19.LearnLesson>>.value(<_i19.LearnLesson>[]),
        returnValueForMissingStub:
            _i9.Future<List<_i19.LearnLesson>>.value(<_i19.LearnLesson>[]),
      ) as _i9.Future<List<_i19.LearnLesson>>);

  @override
  _i9.Future<List<_i17.LearnPractice>> getLearnLessonPractices(int? id) =>
      (super.noSuchMethod(
        Invocation.method(
          #getLearnLessonPractices,
          [id],
        ),
        returnValue:
            _i9.Future<List<_i17.LearnPractice>>.value(<_i17.LearnPractice>[]),
        returnValueForMissingStub:
            _i9.Future<List<_i17.LearnPractice>>.value(<_i17.LearnPractice>[]),
      ) as _i9.Future<List<_i17.LearnPractice>>);

  @override
  _i9.Future<List<_i20.LearnQuestion>> getLearnQuestions(int? id) =>
      (super.noSuchMethod(
        Invocation.method(
          #getLearnQuestions,
          [id],
        ),
        returnValue:
            _i9.Future<List<_i20.LearnQuestion>>.value(<_i20.LearnQuestion>[]),
        returnValueForMissingStub:
            _i9.Future<List<_i20.LearnQuestion>>.value(<_i20.LearnQuestion>[]),
      ) as _i9.Future<List<_i20.LearnQuestion>>);

  @override
  _i9.Future<List<_i21.Category>> getCategories() => (super.noSuchMethod(
        Invocation.method(
          #getCategories,
          [],
        ),
        returnValue: _i9.Future<List<_i21.Category>>.value(<_i21.Category>[]),
        returnValueForMissingStub:
            _i9.Future<List<_i21.Category>>.value(<_i21.Category>[]),
      ) as _i9.Future<List<_i21.Category>>);

  @override
  _i9.Future<List<_i22.Subcategory>> getSubcategories(int? id) =>
      (super.noSuchMethod(
        Invocation.method(
          #getSubcategories,
          [id],
        ),
        returnValue:
            _i9.Future<List<_i22.Subcategory>>.value(<_i22.Subcategory>[]),
        returnValueForMissingStub:
            _i9.Future<List<_i22.Subcategory>>.value(<_i22.Subcategory>[]),
      ) as _i9.Future<List<_i22.Subcategory>>);

  @override
  _i9.Future<List<_i23.CourseProgress>> getCourseProgress(int? id) =>
      (super.noSuchMethod(
        Invocation.method(
          #getCourseProgress,
          [id],
        ),
        returnValue: _i9.Future<List<_i23.CourseProgress>>.value(
            <_i23.CourseProgress>[]),
        returnValueForMissingStub: _i9.Future<List<_i23.CourseProgress>>.value(
            <_i23.CourseProgress>[]),
      ) as _i9.Future<List<_i23.CourseProgress>>);

  @override
  _i9.Future<List<_i24.CourseLesson>> getCourseLessons(int? id) =>
      (super.noSuchMethod(
        Invocation.method(
          #getCourseLessons,
          [id],
        ),
        returnValue:
            _i9.Future<List<_i24.CourseLesson>>.value(<_i24.CourseLesson>[]),
        returnValueForMissingStub:
            _i9.Future<List<_i24.CourseLesson>>.value(<_i24.CourseLesson>[]),
      ) as _i9.Future<List<_i24.CourseLesson>>);

  @override
  _i9.Future<Map<String, dynamic>> completeLesson(int? id) =>
      (super.noSuchMethod(
        Invocation.method(
          #completeLesson,
          [id],
        ),
        returnValue:
            _i9.Future<Map<String, dynamic>>.value(<String, dynamic>{}),
        returnValueForMissingStub:
            _i9.Future<Map<String, dynamic>>.value(<String, dynamic>{}),
      ) as _i9.Future<Map<String, dynamic>>);

  @override
  _i9.Future<List<_i25.Practice>> getCoursePractices(int? id) =>
      (super.noSuchMethod(
        Invocation.method(
          #getCoursePractices,
          [id],
        ),
        returnValue: _i9.Future<List<_i25.Practice>>.value(<_i25.Practice>[]),
        returnValueForMissingStub:
            _i9.Future<List<_i25.Practice>>.value(<_i25.Practice>[]),
      ) as _i9.Future<List<_i25.Practice>>);

  @override
  _i9.Future<List<_i14.Question>> getCoursePracticeQuestions(int? id) =>
      (super.noSuchMethod(
        Invocation.method(
          #getCoursePracticeQuestions,
          [id],
        ),
        returnValue: _i9.Future<List<_i14.Question>>.value(<_i14.Question>[]),
        returnValueForMissingStub:
            _i9.Future<List<_i14.Question>>.value(<_i14.Question>[]),
      ) as _i9.Future<List<_i14.Question>>);

  @override
  _i9.Future<_i14.Question?> getCoursePracticeQuestion(int? id) =>
      (super.noSuchMethod(
        Invocation.method(
          #getCoursePracticeQuestion,
          [id],
        ),
        returnValue: _i9.Future<_i14.Question?>.value(),
        returnValueForMissingStub: _i9.Future<_i14.Question?>.value(),
      ) as _i9.Future<_i14.Question?>);

  @override
  _i9.Future<List<_i22.Subcategory>> getLearnSubcategories() =>
      (super.noSuchMethod(
        Invocation.method(
          #getLearnSubcategories,
          [],
        ),
        returnValue:
            _i9.Future<List<_i22.Subcategory>>.value(<_i22.Subcategory>[]),
        returnValueForMissingStub:
            _i9.Future<List<_i22.Subcategory>>.value(<_i22.Subcategory>[]),
      ) as _i9.Future<List<_i22.Subcategory>>);

  @override
  _i9.Future<List<_i26.Course>> getCourses(int? id) => (super.noSuchMethod(
        Invocation.method(
          #getCourses,
          [id],
        ),
        returnValue: _i9.Future<List<_i26.Course>>.value(<_i26.Course>[]),
        returnValueForMissingStub:
            _i9.Future<List<_i26.Course>>.value(<_i26.Course>[]),
      ) as _i9.Future<List<_i26.Course>>);

  @override
  _i9.Future<List<_i27.Level>> getLevels(int? id) => (super.noSuchMethod(
        Invocation.method(
          #getLevels,
          [id],
        ),
        returnValue: _i9.Future<List<_i27.Level>>.value(<_i27.Level>[]),
        returnValueForMissingStub:
            _i9.Future<List<_i27.Level>>.value(<_i27.Level>[]),
      ) as _i9.Future<List<_i27.Level>>);

  @override
  _i9.Future<List<_i28.Module>> getModules(int? id) => (super.noSuchMethod(
        Invocation.method(
          #getModules,
          [id],
        ),
        returnValue: _i9.Future<List<_i28.Module>>.value(<_i28.Module>[]),
        returnValueForMissingStub:
            _i9.Future<List<_i28.Module>>.value(<_i28.Module>[]),
      ) as _i9.Future<List<_i28.Module>>);

  @override
  _i9.Future<List<_i29.Submodule>> getSubmodules(int? id) =>
      (super.noSuchMethod(
        Invocation.method(
          #getSubmodules,
          [id],
        ),
        returnValue: _i9.Future<List<_i29.Submodule>>.value(<_i29.Submodule>[]),
        returnValueForMissingStub:
            _i9.Future<List<_i29.Submodule>>.value(<_i29.Submodule>[]),
      ) as _i9.Future<List<_i29.Submodule>>);

  @override
  _i9.Future<List<_i30.Lesson>> getLessons(int? id) => (super.noSuchMethod(
        Invocation.method(
          #getLessons,
          [id],
        ),
        returnValue: _i9.Future<List<_i30.Lesson>>.value(<_i30.Lesson>[]),
        returnValueForMissingStub:
            _i9.Future<List<_i30.Lesson>>.value(<_i30.Lesson>[]),
      ) as _i9.Future<List<_i30.Lesson>>);

  @override
  _i9.Future<List<_i25.Practice>> getPractices(int? id) => (super.noSuchMethod(
        Invocation.method(
          #getPractices,
          [id],
        ),
        returnValue: _i9.Future<List<_i25.Practice>>.value(<_i25.Practice>[]),
        returnValueForMissingStub:
            _i9.Future<List<_i25.Practice>>.value(<_i25.Practice>[]),
      ) as _i9.Future<List<_i25.Practice>>);

  @override
  _i9.Future<List<_i14.Question>> getQuestions(int? id) => (super.noSuchMethod(
        Invocation.method(
          #getQuestions,
          [id],
        ),
        returnValue: _i9.Future<List<_i14.Question>>.value(<_i14.Question>[]),
        returnValueForMissingStub:
            _i9.Future<List<_i14.Question>>.value(<_i14.Question>[]),
      ) as _i9.Future<List<_i14.Question>>);
}

/// A class which mocks [SecureStorageService].
///
/// See the documentation for Mockito's code generation for more information.
class MockSecureStorageService extends _i1.Mock
    implements _i3.SecureStorageService {
  @override
  _i9.Future<void> clear() => (super.noSuchMethod(
        Invocation.method(
          #clear,
          [],
        ),
        returnValue: _i9.Future<void>.value(),
        returnValueForMissingStub: _i9.Future<void>.value(),
      ) as _i9.Future<void>);

  @override
  _i9.Future<bool?> getBool(String? key) => (super.noSuchMethod(
        Invocation.method(
          #getBool,
          [key],
        ),
        returnValue: _i9.Future<bool?>.value(),
        returnValueForMissingStub: _i9.Future<bool?>.value(),
      ) as _i9.Future<bool?>);

  @override
  _i9.Future<String?> getString(String? key) => (super.noSuchMethod(
        Invocation.method(
          #getString,
          [key],
        ),
        returnValue: _i9.Future<String?>.value(),
        returnValueForMissingStub: _i9.Future<String?>.value(),
      ) as _i9.Future<String?>);

  @override
  _i9.Future<int?> getInt(String? key) => (super.noSuchMethod(
        Invocation.method(
          #getInt,
          [key],
        ),
        returnValue: _i9.Future<int?>.value(),
        returnValueForMissingStub: _i9.Future<int?>.value(),
      ) as _i9.Future<int?>);

  @override
  _i9.Future<void> setString(
    String? key,
    String? value,
  ) =>
      (super.noSuchMethod(
        Invocation.method(
          #setString,
          [
            key,
            value,
          ],
        ),
        returnValue: _i9.Future<void>.value(),
        returnValueForMissingStub: _i9.Future<void>.value(),
      ) as _i9.Future<void>);

  @override
  _i9.Future<void> setInt(
    String? key,
    int? value,
  ) =>
      (super.noSuchMethod(
        Invocation.method(
          #setInt,
          [
            key,
            value,
          ],
        ),
        returnValue: _i9.Future<void>.value(),
        returnValueForMissingStub: _i9.Future<void>.value(),
      ) as _i9.Future<void>);

  @override
  _i9.Future<void> setBool(
    String? key,
    bool? value,
  ) =>
      (super.noSuchMethod(
        Invocation.method(
          #setBool,
          [
            key,
            value,
          ],
        ),
        returnValue: _i9.Future<void>.value(),
        returnValueForMissingStub: _i9.Future<void>.value(),
      ) as _i9.Future<void>);
}

/// A class which mocks [DioService].
///
/// See the documentation for Mockito's code generation for more information.
class MockDioService extends _i1.Mock implements _i31.DioService {
  @override
  _i2.Dio get dio => (super.noSuchMethod(
        Invocation.getter(#dio),
        returnValue: _FakeDio_0(
          this,
          Invocation.getter(#dio),
        ),
        returnValueForMissingStub: _FakeDio_0(
          this,
          Invocation.getter(#dio),
        ),
      ) as _i2.Dio);
}

/// A class which mocks [StatusCheckerService].
///
/// See the documentation for Mockito's code generation for more information.
class MockStatusCheckerService extends _i1.Mock
    implements _i32.StatusCheckerService {
  @override
  _i3.SecureStorageService get storage => (super.noSuchMethod(
        Invocation.getter(#storage),
        returnValue: _FakeSecureStorageService_1(
          this,
          Invocation.getter(#storage),
        ),
        returnValueForMissingStub: _FakeSecureStorageService_1(
          this,
          Invocation.getter(#storage),
        ),
      ) as _i3.SecureStorageService);

  @override
  bool get previousConnection => (super.noSuchMethod(
        Invocation.getter(#previousConnection),
        returnValue: false,
        returnValueForMissingStub: false,
      ) as bool);

  @override
  _i9.Future<bool> checkConnection() => (super.noSuchMethod(
        Invocation.method(
          #checkConnection,
          [],
        ),
        returnValue: _i9.Future<bool>.value(false),
        returnValueForMissingStub: _i9.Future<bool>.value(false),
      ) as _i9.Future<bool>);
}

/// A class which mocks [PermissionHandlerService].
///
/// See the documentation for Mockito's code generation for more information.
class MockPermissionHandlerService extends _i1.Mock
    implements _i33.PermissionHandlerService {
  @override
  _i9.Future<_i34.PermissionStatus> requestPermission(
          _i34.Permission? requestedPermission) =>
      (super.noSuchMethod(
        Invocation.method(
          #requestPermission,
          [requestedPermission],
        ),
        returnValue: _i9.Future<_i34.PermissionStatus>.value(
            _i34.PermissionStatus.denied),
        returnValueForMissingStub: _i9.Future<_i34.PermissionStatus>.value(
            _i34.PermissionStatus.denied),
      ) as _i9.Future<_i34.PermissionStatus>);

  @override
  _i9.Future<_i34.PermissionStatus> request(_i34.Permission? permission) =>
      (super.noSuchMethod(
        Invocation.method(
          #request,
          [permission],
        ),
        returnValue: _i9.Future<_i34.PermissionStatus>.value(
            _i34.PermissionStatus.denied),
        returnValueForMissingStub: _i9.Future<_i34.PermissionStatus>.value(
            _i34.PermissionStatus.denied),
      ) as _i9.Future<_i34.PermissionStatus>);
}

/// A class which mocks [ImagePickerService].
///
/// See the documentation for Mockito's code generation for more information.
class MockImagePickerService extends _i1.Mock
    implements _i35.ImagePickerService {
  @override
  _i9.Future<String?> gallery() => (super.noSuchMethod(
        Invocation.method(
          #gallery,
          [],
        ),
        returnValue: _i9.Future<String?>.value(),
        returnValueForMissingStub: _i9.Future<String?>.value(),
      ) as _i9.Future<String?>);

  @override
  _i9.Future<String?> camera() => (super.noSuchMethod(
        Invocation.method(
          #camera,
          [],
        ),
        returnValue: _i9.Future<String?>.value(),
        returnValueForMissingStub: _i9.Future<String?>.value(),
      ) as _i9.Future<String?>);
}

/// A class which mocks [GoogleAuthService].
///
/// See the documentation for Mockito's code generation for more information.
class MockGoogleAuthService extends _i1.Mock implements _i36.GoogleAuthService {
  @override
  int get listenersCount => (super.noSuchMethod(
        Invocation.getter(#listenersCount),
        returnValue: 0,
        returnValueForMissingStub: 0,
      ) as int);

  @override
  _i9.Future<void> logout() => (super.noSuchMethod(
        Invocation.method(
          #logout,
          [],
        ),
        returnValue: _i9.Future<void>.value(),
        returnValueForMissingStub: _i9.Future<void>.value(),
      ) as _i9.Future<void>);

  @override
  _i9.Future<void> googleAuth() => (super.noSuchMethod(
        Invocation.method(
          #googleAuth,
          [],
        ),
        returnValue: _i9.Future<void>.value(),
        returnValueForMissingStub: _i9.Future<void>.value(),
      ) as _i9.Future<void>);

  @override
  void listenToReactiveValues(List<dynamic>? reactiveValues) =>
      super.noSuchMethod(
        Invocation.method(
          #listenToReactiveValues,
          [reactiveValues],
        ),
        returnValueForMissingStub: null,
      );

  @override
  void addListener(void Function()? listener) => super.noSuchMethod(
        Invocation.method(
          #addListener,
          [listener],
        ),
        returnValueForMissingStub: null,
      );

  @override
  void removeListener(void Function()? listener) => super.noSuchMethod(
        Invocation.method(
          #removeListener,
          [listener],
        ),
        returnValueForMissingStub: null,
      );

  @override
  void notifyListeners() => super.noSuchMethod(
        Invocation.method(
          #notifyListeners,
          [],
        ),
        returnValueForMissingStub: null,
      );
}

/// A class which mocks [ImageDownloaderService].
///
/// See the documentation for Mockito's code generation for more information.
class MockImageDownloaderService extends _i1.Mock
    implements _i37.ImageDownloaderService {
  @override
  _i9.Future<String> downloader(String? networkImage) => (super.noSuchMethod(
        Invocation.method(
          #downloader,
          [networkImage],
        ),
        returnValue: _i9.Future<String>.value(_i7.dummyValue<String>(
          this,
          Invocation.method(
            #downloader,
            [networkImage],
          ),
        )),
        returnValueForMissingStub:
            _i9.Future<String>.value(_i7.dummyValue<String>(
          this,
          Invocation.method(
            #downloader,
            [networkImage],
          ),
        )),
      ) as _i9.Future<String>);
}

/// A class which mocks [NotificationService].
///
/// See the documentation for Mockito's code generation for more information.
class MockNotificationService extends _i1.Mock
    implements _i38.NotificationService {
  @override
  _i9.Future<void> initialize() => (super.noSuchMethod(
        Invocation.method(
          #initialize,
          [],
        ),
        returnValue: _i9.Future<void>.value(),
        returnValueForMissingStub: _i9.Future<void>.value(),
      ) as _i9.Future<void>);

  @override
  _i9.Future<void> setupFlutterNotifications() => (super.noSuchMethod(
        Invocation.method(
          #setupFlutterNotifications,
          [],
        ),
        returnValue: _i9.Future<void>.value(),
        returnValueForMissingStub: _i9.Future<void>.value(),
      ) as _i9.Future<void>);

  @override
  _i9.Future<void> showNotification(_i39.RemoteMessage? message) =>
      (super.noSuchMethod(
        Invocation.method(
          #showNotification,
          [message],
        ),
        returnValue: _i9.Future<void>.value(),
        returnValueForMissingStub: _i9.Future<void>.value(),
      ) as _i9.Future<void>);

  @override
  _i9.Future<void> subscribeToTopic(String? topic) => (super.noSuchMethod(
        Invocation.method(
          #subscribeToTopic,
          [topic],
        ),
        returnValue: _i9.Future<void>.value(),
        returnValueForMissingStub: _i9.Future<void>.value(),
      ) as _i9.Future<void>);

  @override
  _i9.Future<void> updateFCMToken() => (super.noSuchMethod(
        Invocation.method(
          #updateFCMToken,
          [],
        ),
        returnValue: _i9.Future<void>.value(),
        returnValueForMissingStub: _i9.Future<void>.value(),
      ) as _i9.Future<void>);
}

/// A class which mocks [SmartAuthService].
///
/// See the documentation for Mockito's code generation for more information.
class MockSmartAuthService extends _i1.Mock implements _i40.SmartAuthService {
  @override
  bool get listenForMultipleSms => (super.noSuchMethod(
        Invocation.getter(#listenForMultipleSms),
        returnValue: false,
        returnValueForMissingStub: false,
      ) as bool);

  @override
  _i9.Future<void> dispose() => (super.noSuchMethod(
        Invocation.method(
          #dispose,
          [],
        ),
        returnValue: _i9.Future<void>.value(),
        returnValueForMissingStub: _i9.Future<void>.value(),
      ) as _i9.Future<void>);

  @override
  _i9.Future<String?> getSmsCode() => (super.noSuchMethod(
        Invocation.method(
          #getSmsCode,
          [],
        ),
        returnValue: _i9.Future<String?>.value(),
        returnValueForMissingStub: _i9.Future<String?>.value(),
      ) as _i9.Future<String?>);
}

/// A class which mocks [CourseService].
///
/// See the documentation for Mockito's code generation for more information.
class MockCourseService extends _i1.Mock implements _i41.CourseService {
  @override
  _i9.Future<List<_i42.CourseDetail>> getCoursesDetail(int? id) =>
      (super.noSuchMethod(
        Invocation.method(
          #getCoursesDetail,
          [id],
        ),
        returnValue:
            _i9.Future<List<_i42.CourseDetail>>.value(<_i42.CourseDetail>[]),
        returnValueForMissingStub:
            _i9.Future<List<_i42.CourseDetail>>.value(<_i42.CourseDetail>[]),
      ) as _i9.Future<List<_i42.CourseDetail>>);
}

/// A class which mocks [AudioPlayerService].
///
/// See the documentation for Mockito's code generation for more information.
class MockAudioPlayerService extends _i1.Mock
    implements _i43.AudioPlayerService {
  @override
  _i4.AudioPlayer get player => (super.noSuchMethod(
        Invocation.getter(#player),
        returnValue: _FakeAudioPlayer_2(
          this,
          Invocation.getter(#player),
        ),
        returnValueForMissingStub: _FakeAudioPlayer_2(
          this,
          Invocation.getter(#player),
        ),
      ) as _i4.AudioPlayer);

  @override
  _i9.Stream<Duration> get positionStream => (super.noSuchMethod(
        Invocation.getter(#positionStream),
        returnValue: _i9.Stream<Duration>.empty(),
        returnValueForMissingStub: _i9.Stream<Duration>.empty(),
      ) as _i9.Stream<Duration>);

  @override
  _i9.Stream<Duration> get durationStream => (super.noSuchMethod(
        Invocation.getter(#durationStream),
        returnValue: _i9.Stream<Duration>.empty(),
        returnValueForMissingStub: _i9.Stream<Duration>.empty(),
      ) as _i9.Stream<Duration>);

  @override
  _i9.Stream<_i4.PlayerState> get stateStream => (super.noSuchMethod(
        Invocation.getter(#stateStream),
        returnValue: _i9.Stream<_i4.PlayerState>.empty(),
        returnValueForMissingStub: _i9.Stream<_i4.PlayerState>.empty(),
      ) as _i9.Stream<_i4.PlayerState>);

  @override
  int get listenersCount => (super.noSuchMethod(
        Invocation.getter(#listenersCount),
        returnValue: 0,
        returnValueForMissingStub: 0,
      ) as int);

  @override
  _i9.Future<void> playUrl(String? url) => (super.noSuchMethod(
        Invocation.method(
          #playUrl,
          [url],
        ),
        returnValue: _i9.Future<void>.value(),
        returnValueForMissingStub: _i9.Future<void>.value(),
      ) as _i9.Future<void>);

  @override
  _i9.Future<void> playLocal(String? url) => (super.noSuchMethod(
        Invocation.method(
          #playLocal,
          [url],
        ),
        returnValue: _i9.Future<void>.value(),
        returnValueForMissingStub: _i9.Future<void>.value(),
      ) as _i9.Future<void>);

  @override
  _i9.Future<void> pause() => (super.noSuchMethod(
        Invocation.method(
          #pause,
          [],
        ),
        returnValue: _i9.Future<void>.value(),
        returnValueForMissingStub: _i9.Future<void>.value(),
      ) as _i9.Future<void>);

  @override
  _i9.Future<void> seek(Duration? position) => (super.noSuchMethod(
        Invocation.method(
          #seek,
          [position],
        ),
        returnValue: _i9.Future<void>.value(),
        returnValueForMissingStub: _i9.Future<void>.value(),
      ) as _i9.Future<void>);

  @override
  void listenToReactiveValues(List<dynamic>? reactiveValues) =>
      super.noSuchMethod(
        Invocation.method(
          #listenToReactiveValues,
          [reactiveValues],
        ),
        returnValueForMissingStub: null,
      );

  @override
  void addListener(void Function()? listener) => super.noSuchMethod(
        Invocation.method(
          #addListener,
          [listener],
        ),
        returnValueForMissingStub: null,
      );

  @override
  void removeListener(void Function()? listener) => super.noSuchMethod(
        Invocation.method(
          #removeListener,
          [listener],
        ),
        returnValueForMissingStub: null,
      );

  @override
  void notifyListeners() => super.noSuchMethod(
        Invocation.method(
          #notifyListeners,
          [],
        ),
        returnValueForMissingStub: null,
      );
}

/// A class which mocks [VoiceRecorderService].
///
/// See the documentation for Mockito's code generation for more information.
class MockVoiceRecorderService extends _i1.Mock
    implements _i44.VoiceRecorderService {
  @override
  _i45.VoiceRecordingState get recordingState => (super.noSuchMethod(
        Invocation.getter(#recordingState),
        returnValue: _i45.VoiceRecordingState.pending,
        returnValueForMissingStub: _i45.VoiceRecordingState.pending,
      ) as _i45.VoiceRecordingState);

  @override
  _i5.WaveformRecorderController get waveController => (super.noSuchMethod(
        Invocation.getter(#waveController),
        returnValue: _FakeWaveformRecorderController_3(
          this,
          Invocation.getter(#waveController),
        ),
        returnValueForMissingStub: _FakeWaveformRecorderController_3(
          this,
          Invocation.getter(#waveController),
        ),
      ) as _i5.WaveformRecorderController);

  @override
  bool get isRecording => (super.noSuchMethod(
        Invocation.getter(#isRecording),
        returnValue: false,
        returnValueForMissingStub: false,
      ) as bool);

  @override
  int get listenersCount => (super.noSuchMethod(
        Invocation.getter(#listenersCount),
        returnValue: 0,
        returnValueForMissingStub: 0,
      ) as int);

  @override
  _i9.Future<void> startRecording() => (super.noSuchMethod(
        Invocation.method(
          #startRecording,
          [],
        ),
        returnValue: _i9.Future<void>.value(),
        returnValueForMissingStub: _i9.Future<void>.value(),
      ) as _i9.Future<void>);

  @override
  _i9.Future<void> stopRecording() => (super.noSuchMethod(
        Invocation.method(
          #stopRecording,
          [],
        ),
        returnValue: _i9.Future<void>.value(),
        returnValueForMissingStub: _i9.Future<void>.value(),
      ) as _i9.Future<void>);

  @override
  _i9.Future<String?> getRecordedAudio() => (super.noSuchMethod(
        Invocation.method(
          #getRecordedAudio,
          [],
        ),
        returnValue: _i9.Future<String?>.value(),
        returnValueForMissingStub: _i9.Future<String?>.value(),
      ) as _i9.Future<String?>);

  @override
  void listenToReactiveValues(List<dynamic>? reactiveValues) =>
      super.noSuchMethod(
        Invocation.method(
          #listenToReactiveValues,
          [reactiveValues],
        ),
        returnValueForMissingStub: null,
      );

  @override
  void addListener(void Function()? listener) => super.noSuchMethod(
        Invocation.method(
          #addListener,
          [listener],
        ),
        returnValueForMissingStub: null,
      );

  @override
  void removeListener(void Function()? listener) => super.noSuchMethod(
        Invocation.method(
          #removeListener,
          [listener],
        ),
        returnValueForMissingStub: null,
      );

  @override
  void notifyListeners() => super.noSuchMethod(
        Invocation.method(
          #notifyListeners,
          [],
        ),
        returnValueForMissingStub: null,
      );
}

/// A class which mocks [InAppUpdateService].
///
/// See the documentation for Mockito's code generation for more information.
class MockInAppUpdateService extends _i1.Mock
    implements _i46.InAppUpdateService {
  @override
  _i9.Future<int> getBatteryLevel() => (super.noSuchMethod(
        Invocation.method(
          #getBatteryLevel,
          [],
        ),
        returnValue: _i9.Future<int>.value(0),
        returnValueForMissingStub: _i9.Future<int>.value(0),
      ) as _i9.Future<int>);

  @override
  _i9.Future<int> getAvailableStorage() => (super.noSuchMethod(
        Invocation.method(
          #getAvailableStorage,
          [],
        ),
        returnValue: _i9.Future<int>.value(0),
        returnValueForMissingStub: _i9.Future<int>.value(0),
      ) as _i9.Future<int>);

  @override
  _i9.Future<void> checkForUpdate() => (super.noSuchMethod(
        Invocation.method(
          #checkForUpdate,
          [],
        ),
        returnValue: _i9.Future<void>.value(),
        returnValueForMissingStub: _i9.Future<void>.value(),
      ) as _i9.Future<void>);
}
