import 'package:fcs/domain/entities/auth_result.dart';
import 'package:fcs/domain/entities/setting.dart';
import 'package:fcs/domain/entities/user.dart';

abstract class AuthService {
  Future<AuthResult> sendSmsCodeToPhoneNumber(String phoneNumber);
  Future<AuthResult> signInWithSmsCode(String smsCode);
  Future<void> signout();
  Future<void> signup(String userName);
  Future<void> joinInvite(String userName);
  Future<void> updateProfileName(String newUserName);
  Future<void> updatePreferredCurrency(String currency);
  Future<bool> hasInvite();
  Stream<User> getUserStream();
  Stream<Setting> getSetting();
}
