import 'dart:async'; import 'package:flutter/material.dart'; import '../login_config.dart'; import '../model/login_confirmation_result.dart'; import '../model/login_user.dart'; abstract class LoginRepository { String loginError = ''; String getLoginError() => loginError; Future login(String username, String password); Future signInWithSocial(SocialLoginBundle bundle); Future sendLoginEmail(String input); Future trySignInWithPhoneNumber({ required String phoneNumber, void Function( String verificationId, int? resendToken, LoginConfirmationResult? resultWeb, )? onCodeSent, void Function(String errorCode)? onVerificationFailed, void Function(LoginUser? user)? onAutoLogin, }); Future signInWithSMSCode( String verificationId, String smsCode, String phoneNumber, { LoginConfirmationResult? resultWeb, }); Future forgotPassword(String email); Future isRegistrationRequired(LoginUser user); Future reLogin({required VoidCallback onLoggedIn}); Future signInAnonymous(); }