import { LicenseState, Logger } from '@n8n/backend-common'; import { SettingsRepository, UserRepository } from '@n8n/db'; import { Cipher } from 'n8n-core'; import { TOTPService } from './totp.service'; import { CacheService } from '../services/cache/cache.service'; export declare const MFA_CACHE_KEY = "mfa:enforce"; export declare class MfaService { private userRepository; private settingsRepository; private cacheService; private license; totp: TOTPService; private cipher; private logger; constructor(userRepository: UserRepository, settingsRepository: SettingsRepository, cacheService: CacheService, license: LicenseState, totp: TOTPService, cipher: Cipher, logger: Logger); init(): Promise; generateRecoveryCodes(n?: number): string[]; private loadMFASettings; enforceMFA(value: boolean): Promise; isMFAEnforced(): Promise; saveSecretAndRecoveryCodes(userId: string, secret: string, recoveryCodes: string[]): Promise; encryptSecretAndRecoveryCodes(rawSecret: string, rawRecoveryCodes: string[]): Promise<{ encryptedRecoveryCodes: string[]; encryptedSecret: string; }>; private decryptSecretAndRecoveryCodes; getSecretAndRecoveryCodes(userId: string): Promise<{ decryptedSecret: string; decryptedRecoveryCodes: string[]; }>; validateMfa(userId: string, mfaCode: string | undefined, mfaRecoveryCode: string | undefined): Promise; enableMfa(userId: string): Promise; disableMfaWithMfaCode(userId: string, mfaCode: string): Promise; disableMfaWithRecoveryCode(userId: string, recoveryCode: string): Promise; private disableMfaForUser; }