import { ProfileDataExtended, ProfileOptions, ProfilePictureResponse, ProfilePictureSize, ProfilePictureUploadResponse, RegisterFormData, SelfRegisterFormData } from '../../interfaces/user.interface'; import { Api, ApiResponse } from '../api'; export declare const SELF_REGISTRATION_REQUEST_TYPE = "SelfRegistrationRequest"; export declare const SELF_REGISTRATION_CONFIG_TYPE = "SelfRegistrationConfiguration"; export declare class Registration { api: Api; constructor(api: Api); getMyProfile(argOptions?: ProfileOptions): Promise; updateRecentOrganizations(recentUserOrganization: string, argOptions?: ProfileOptions): Promise; register(data?: RegisterFormData): Promise>; verifyMail(code: string): Promise>; requestRegisterWithConfiguration(configurationHash: string, email: string): Promise>; verify(hash: string, data?: SelfRegisterFormData): Promise>; /** * Uploads a profile picture for the current user by sending RAW binary * image data. API Gateway will base64-encode it and set isBase64Encoded * for the Lambda handler. * * Accepts Blobs/Buffers/ArrayBuffers/Uint8Arrays or Data URLs/base64 strings. * * Size limit: <= 3.5MB (decoded/binary). */ uploadProfilePicture(file: Blob | ArrayBuffer | Uint8Array | Buffer | string, contentType?: string): Promise>; /** * Retrieves a profile picture for a specific user and size * * @param uid - User ID whose profile picture to retrieve * @param size - Image size variant (thumb, medium, large) * @returns Promise resolving to profile picture response with signed URL * * @example * ```typescript * // Get medium size profile picture for user * const result = await registration.getProfilePicture('user123', 'medium') * console.log('Image URL:', result.url) * * // Get thumbnail for current user * const result = await registration.getProfilePicture('current', 'thumb') * ``` */ getProfilePicture(uid: string, size?: ProfilePictureSize): Promise>; /** * Deletes the current user's profile pictures * * @returns Promise resolving when profile pictures are successfully deleted * * @example * ```typescript * await registration.deleteProfilePicture() * console.log('Profile pictures deleted') * ``` */ deleteProfilePicture(): Promise>; }