import 'package:auth/src/features/sign_up/domain/entities/sign_up_request_entity.dart';
import 'package:auth/src/features/sign_up/domain/entities/two_fa_secret_entity.dart';

abstract class AuthRepository {
  Future<void> requestPhoneCode({required String phone});

  Future<void> verifyPhoneCode({required String phone, required String code});

  Future<String> login({required String email, required String password});

  Future<void> twoFactor({required String token, required String code});

  Future<String> signUp({required SignUpRequestEntity request});

  Future<TwoFASecretEntity> generateTwoFASignUp({required String token});
  Future<void> verifyTwoFACodeSignUp({
    required String token,
    required String code,
  });
}
