using Bit.Core.Utilities; using Bit.Core.Utilities.Fido2; namespace Bit.Core.Abstractions { public interface IUserVerificationMediatorService { Task> VerifyUserForFido2Async(Fido2UserVerificationOptions options); Task CanPerformUserVerificationPreferredAsync(Fido2UserVerificationOptions options); Task ShouldPerformMasterPasswordRepromptAsync(Fido2UserVerificationOptions options); Task ShouldEnforceFido2RequiredUserVerificationAsync(Fido2UserVerificationOptions options); Task> PerformOSUnlockAsync(); Task> VerifyPinCodeAsync(); Task> VerifyMasterPasswordAsync(bool isMasterPasswordReprompt); public struct UVResult { public UVResult(bool canPerform, bool isVerified) { CanPerform = canPerform; IsVerified = isVerified; } public bool CanPerform { get; set; } public bool IsVerified { get; set; } } } }