using System.Threading.Tasks; namespace RMC.Backend.Baas { /// /// Defines the API: This subsystem /// public interface IAccountsSubsystem : IInitializableAsync, IConfigurable { // Properties ------------------------------------ AccountsEvent OnInitialized { get; } AccountsEvent OnUserCreated { get; } AccountsEvent OnUserDeleted { get; } AccountsEvent OnUserSignedIn { get; } AccountsEvent OnUserSignedOut { get; } bool HasUser(); User GetUser(); // General Methods ------------------------------ Task UserCreateAsync(string email, string password, string nickname); Task UserSignInAsync(string email, string password); Task UserSignOutAsync(string tokenId); } }