import * as zxcvbn from "zxcvbn"; import { GeneratedPasswordHistory } from "../models/domain/generated-password-history"; import { PasswordGeneratorOptions } from "../models/domain/password-generator-options"; import { PasswordGeneratorPolicyOptions } from "../models/domain/password-generator-policy-options"; export abstract class PasswordGenerationService { generatePassword: (options: PasswordGeneratorOptions) => Promise; generatePassphrase: (options: PasswordGeneratorOptions) => Promise; getOptions: () => Promise<[PasswordGeneratorOptions, PasswordGeneratorPolicyOptions]>; enforcePasswordGeneratorPoliciesOnOptions: ( options: PasswordGeneratorOptions ) => Promise<[PasswordGeneratorOptions, PasswordGeneratorPolicyOptions]>; getPasswordGeneratorPolicyOptions: () => Promise; saveOptions: (options: PasswordGeneratorOptions) => Promise; getHistory: () => Promise; addHistory: (password: string) => Promise; clear: (userId?: string) => Promise; passwordStrength: (password: string, userInputs?: string[]) => zxcvbn.ZXCVBNResult; normalizeOptions: ( options: PasswordGeneratorOptions, enforcedPolicyOptions: PasswordGeneratorPolicyOptions ) => void; }