import { ApiSecurity, ApiUrl, AppDetails } from '../../shared'; import { ChangePasswordPayload, FriendInvite, InitializeUserResponse, UpdateProfilePayload } from './types'; import { UserSettings } from '../../shared/types/userSettings'; export * as UserTypes from './types'; export declare class Users { private readonly client; private readonly appDetails; private readonly apiSecurity; static client(apiUrl: ApiUrl, appDetails: AppDetails, apiSecurity: ApiSecurity): Users; private constructor(); /** * Sends an invitation to the specified email * @param email */ sendInvitation(email: string): Promise; /** * Initialize basic state of user and returns data after registration process * @param email * @param mnemonic */ initialize(email: string, mnemonic: string): Promise; /** * Returns fresh data of the user */ refreshUser(): Promise<{ user: UserSettings; token: string; }>; /** * Updates the authentication credentials * @param payload */ changePassword(payload: ChangePasswordPayload): Promise; /** * Updates a user profile * @param payload */ updateProfile(payload: UpdateProfilePayload): Promise; /** * Updates a user avatar * @param payload */ updateAvatar(payload: { avatar: Blob; }): Promise<{ avatar: string; }>; /** * Delete current user avatar */ deleteAvatar(): Promise; /** * Gets all friend invites created by this user */ getFriendInvites(): Promise; /** * Sends verification email */ sendVerificationEmail(): Promise; /** * Verifies user email */ verifyEmail(payload: { verificationToken: string; }): Promise; private headers; }