using System; using System.Collections.Generic; using System.Threading.Tasks; using Bit.Core.Enums; using Bit.Core.Models.Data; using Bit.Core.Models.Domain; namespace Bit.Core.Abstractions { public interface IPolicyService { void ClearCache(); Task> GetAll(PolicyType? type, string userId = null); Task Replace(Dictionary policies, string userId = null); Task ClearAsync(string userId); Task GetMasterPasswordPolicyOptions(IEnumerable policies = null, string userId = null); Task EvaluateMasterPassword(int passwordStrength, string newPassword, MasterPasswordPolicyOptions enforcedPolicyOptions); Tuple GetResetPasswordPolicyOptions(IEnumerable policies, string orgId); Task PolicyAppliesToUser(PolicyType policyType, Func policyFilter = null, string userId = null); int? GetPolicyInt(Policy policy, string key); Task ShouldShowVaultFilterAsync(); } }