matterbridge-roborock-vacuum-plugin
Version:
Matterbridge Roborock Vacuum Plugin
25 lines • 1.55 kB
TypeScript
import { AnsiLogger } from 'matterbridge/logger';
import { PlatformConfigManager } from '../../platform/platformConfigManager.js';
import type { UserData } from '../../roborockCommunication/models/index.js';
import { WssSendSnackbarMessage } from '../../types/WssSendSnackbarMessage.js';
import { AuthenticationService } from '../authenticationService.js';
import type { AuthContext } from './AuthContext.js';
import { BaseAuthStrategy } from './BaseAuthStrategy.js';
import type { IAuthStrategy } from './IAuthStrategy.js';
import { UserDataRepository } from './UserDataRepository.js';
import { VerificationCodeService } from './VerificationCodeService.js';
/** Two-factor authentication strategy with verification code. */
export declare class TwoFactorAuthStrategy extends BaseAuthStrategy implements IAuthStrategy {
private readonly verificationCodeService;
private readonly toastMessage;
constructor(authService: AuthenticationService, userDataRepository: UserDataRepository, verificationCodeService: VerificationCodeService, configManager: PlatformConfigManager, toastMessage: WssSendSnackbarMessage, logger: AnsiLogger);
authenticate(context: AuthContext): Promise<UserData | undefined>;
private hasVerificationCode;
private handleVerificationCodeRequest;
private requestVerificationCode;
private authenticateWithCode;
private saveAuthenticationState;
/** Display verification code banner instructions to user. */
private logVerificationCodeBanner;
}
//# sourceMappingURL=TwoFactorAuthStrategy.d.ts.map