using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using Bit.Core.Models.Domain; namespace Bit.Core.Abstractions { public interface IPasswordGenerationService { Task AddHistoryAsync(string password, CancellationToken token = default(CancellationToken)); Task ClearAsync(); Task GeneratePassphraseAsync(PasswordGenerationOptions options); Task GeneratePasswordAsync(PasswordGenerationOptions options); Task> GetHistoryAsync(); Task<(PasswordGenerationOptions, PasswordGeneratorPolicyOptions)> GetOptionsAsync(); Task<(PasswordGenerationOptions, PasswordGeneratorPolicyOptions)> EnforcePasswordGeneratorPoliciesOnOptionsAsync(PasswordGenerationOptions options); Task PasswordStrength(string password, List userInputs = null); Task SaveOptionsAsync(PasswordGenerationOptions options); void NormalizeOptions(PasswordGenerationOptions options, PasswordGeneratorPolicyOptions enforcedPolicyOptions); } }