import 'package:rasadyar_auth/data/models/response/user_info/user_info_model.dart';

import '../models/response/auth/auth_response_model.dart';
import '../models/response/captcha/captcha_response_model.dart';
import '../models/response/user_profile_model/user_profile_model.dart';

abstract class AuthRepository {
  Future<UserProfileModel?> login({required Map<String, dynamic> authRequest});

  Future<CaptchaResponseModel?> captcha();

  Future<void> logout();

  Future<bool> hasAuthenticated();

  Future<AuthResponseModel?> loginWithRefreshToken({
    required Map<String, dynamic> authRequest,
  });

  Future<UserInfoModel?> getUserInfo(String phoneNumber);
}
