using System; using System.Collections.Generic; using System.Threading.Tasks; using Bit.Core.Enums; using Bit.Core.Models.Domain; namespace Bit.Core.Abstractions { public interface IAuthService { string Email { get; set; } string MasterPasswordHash { get; set; } TwoFactorProviderType? SelectedTwoFactorProviderType { get; set; } Dictionary TwoFactorProviders { get; set; } Dictionary> TwoFactorProvidersData { get; set; } TwoFactorProviderType? GetDefaultTwoFactorProvider(bool u2fSupported); List GetSupportedTwoFactorProviders(); Task LogInAsync(string email, string masterPassword); Task LogInCompleteAsync(string email, string masterPassword, TwoFactorProviderType twoFactorProvider, string twoFactorToken, bool? remember = null); Task LogInTwoFactorAsync(TwoFactorProviderType twoFactorProvider, string twoFactorToken, bool? remember = null); void LogOut(Action callback); void Init(); } }