import { type LogService } from 'common-services'; export type PasswordServiceOptions = { iterations: number; saltLength: number; saltEncoding: 'hex' | 'base64'; hashLength: number; hashDigest: string; hashEncoding: 'hex' | 'base64'; } & ({ passwordLength: number; passwordEncoding: 'hex' | 'base64'; } | { passwordEncoding: 'utf-8'; }); export interface PasswordServiceConfig { PASSWORD_OPTIONS: PasswordServiceOptions; } export type PasswordServiceDependencies = Partial & { log: LogService; }; export declare const DEFAULT_PASSWORD_OPTIONS: { readonly iterations: 4096; readonly passwordEncoding: "utf-8"; readonly saltLength: 128; readonly saltEncoding: "base64"; readonly hashLength: 128; readonly hashDigest: "sha1"; readonly hashEncoding: "base64"; }; export interface PasswordService { generateSalt: () => Promise; generatePassword: () => Promise; hashPassword: (password: string, salt: string) => Promise; } export declare function initPasswordService({ PASSWORD_OPTIONS, log, }: PasswordServiceDependencies): Promise; declare const _default: import("knifecycle").ServiceInitializer; export default _default;