using Bit.Core.Auth.Enums;
using Bit.Core.Services;
namespace Bit.Core.Auth.Models;
///
/// An interface representing a user entity that supports two-factor providers
///
public interface ITwoFactorProvidersUser
{
string? TwoFactorProviders { get; }
///
/// Get the two factor providers for the user. Currently it can be assumed providers are enabled
/// if they exists in the dictionary. When two factor providers are disabled they are removed
/// from the dictionary.
///
///
/// Dictionary of providers with the type enum as the key
Dictionary? GetTwoFactorProviders();
///
/// The unique `UserId` of the user entity for which there are two-factor providers configured.
///
/// The unique identifier for the user
Guid? GetUserId();
}