import { JwtService } from '@nestjs/jwt'; import { PluginsSettingsUiTicketService } from '../../modules/custom-plugins/plugins-settings-ui/plugins-settings-ui-ticket.service.js'; import { UserDto } from '../../modules/users/users.dto.js'; import { ConfigService } from '../config/config.service.js'; import { JsonFileStoreService } from '../fs/json-file-store.service.js'; import { Logger } from '../logger/logger.service.js'; export declare class AuthService { private readonly jwtService; private readonly configService; private readonly jsonStore; private readonly logger; private readonly pluginUiTicketService; private otpUsageCache; private loginFailureCache; private userCache; private firstUserSetupInProgress; private legacyOtpGuardrails; constructor(jwtService: JwtService, configService: ConfigService, jsonStore: JsonFileStoreService, logger: Logger, pluginUiTicketService: PluginsSettingsUiTicketService); authenticate(username: string, password: string, otp?: string, clientId?: string): Promise; signIn(username: string, password: string, otp?: string, clientId?: string): Promise; private checkPassword; private upgradePasswordHashIfNeeded; generateNoAuthToken(): Promise<{ access_token: string; token_type: string; expires_in: number; }>; refreshToken(user: any, reason?: string): Promise; private rejectRefresh; private refreshTokenLogMessage; validateUser(payload: any): Promise; private validateServiceToken; private findCurrentUser; private invalidateUserCache; private hashPassword; private genSalt; setupFirstUser(user: UserDto): Promise; generateSetupWizardToken(): Promise<{ access_token: string; token_type: string; expires_in: number; }>; checkAuthFile(): Promise; desensitiseUserProfile(user: UserDto): UserDto; getUsers(strip?: boolean): Promise; findByUsername(username: string): Promise; private withAuthFile; addUser(user: UserDto): Promise; deleteUser(id: number): Promise; revokeUserSessions(username: string): Promise; updateUser(id: number, update: UserDto): Promise; updateOwnPassword(username: string, currentPassword: string, newPassword: string): Promise; setupOtp(username: string): Promise<{ timestamp: Date; otpauth: string; }>; activateOtp(username: string, code: string): Promise; deactivateOtp(username: string, password: string): Promise; verifyOtpToken(user: UserDto, otp: string): Promise; private markUserAsLegacyOtp; }