import { AxiosInstance } from 'axios'; import { AuthTenantUserResponseDto } from '../models/auth-tenant-user-response.dto'; export declare type UpdateUserProfileArgs = { firstName?: string; lastName?: string; phoneNumber?: string; consentsToPrivacyPolicy?: boolean; }; export declare class AuthService { private readonly ENDPOINTS; private readonly httpClient; private readonly debug; private static AUTH_TOKEN_KEY; private static TENANT_USER_ID_KEY; private static MFA_TOKEN_KEY; userAuthenticated: boolean; constructor(httpClient: AxiosInstance, debug: boolean); checkCurrentUserAuthenticated(): Promise; authenticate(username: string, password: string): Promise<{ mfaState: 'DISABLED' | 'REQUIRED' | 'SETUP'; }>; authenticated(): Promise; sendResetPasswordLink(username: string): Promise; commitMfaCode(mfaCode: string): Promise; startMfaUserSetup(phoneNumber: string): Promise; /** * Finish setting up MFA for the user and the user is hereby authenticated with MFA aswell. * @param mfaCode * @returns The backup code to be saved for future reference */ finishMfaUserSetup(mfaCode: string): Promise; resetUserMfaSetup(backupCode: string): Promise; listUsers(): Promise; currentUser(): Promise; updateCurrentUser(userProfile: UpdateUserProfileArgs): Promise; static hasFullAuthContext(): Promise; static setAuthToken(token: string): Promise; static setMfaToken(token: string): Promise; static setTenantUserId(userId: string): Promise; static getAuthToken(): Promise; static getMfaToken(): Promise; static getTenantUserId(): Promise; static clearAuthStorage(): Promise; }