import { USER_REGISTRATION_METHOD, USER_REGISTRATION_STATUS } from '../enum'; import { CLIENT_AUTH_METHOD, JWKS } from '../../clients'; import { UserEntity, GroupEntity, DomainEntity, ClientEntity, OrganizationEntity, StreetAddress, USER_ROLES_GLOBAL, AdditionalUserInfo, REGISTRATION_STATUS, UserMobileClientInfo, USER_IDENTITY_ASSURANCE_LEVEL } from '../..'; import { UserBaseDto } from './base.dto'; /** * User registration request * this is the `request` content of UserRegistrationSignedRequestDto */ export declare class UserRegistrationRequestDto { /** * This should not be used by KYC */ username?: string; /** * Primary domain of the users target company */ primaryDomain?: string; /** * in English preferrably * use additionalInfo.localizedTitle for local */ title: string; /** * in English preferrably * use additionalInfo.localizedFirstName for local */ firstName: string; /** * in English preferrably * use additionalInfo.localizedLastName for local */ lastName: string; additionalInfo?: AdditionalUserInfo; address?: StreetAddress; /** * true for verified registration * level 1, 2, 3 (only level 0 is unverified) * @deprecated: depends on device; is set automatically on level 1 or above */ requestVerified?: boolean; } /** * Signed user registration request front-end */ export declare class UserRegistrationUnsignedRequestDto { /** * @deprecated no need to submit this; the device needs to process the request anyway */ deviceId?: string; /** * UserRegistrationRequestDto */ request: UserRegistrationRequestDto; /** * Register new account but transfer data */ transferExisting?: boolean; /** * Overwrite existing account */ overwriteExisting?: boolean; } /** * Signed user registration request */ export declare class UserRegistrationSignedRequestDto { deviceId: string; /** * UserRegistrationRequestDto */ request: string; /** * Register new account but transfer data * @deprecated use method instead */ transferExisting?: boolean; /** * Overwrite existing account * @deprecated use method instead */ overwriteExisting?: boolean; /** * Options: * - new: this is the default * - overwrite: new but disable previous registration * - transfer: transfer user access */ method?: USER_REGISTRATION_METHOD; } /** * User registration request response * * A QR code will be generated from userId and * initialAccessToken to continue enrollment on the phone. */ export declare class UserRegistrationRequestResponseDto { userId: string; initialAccessToken: string; exists: boolean; } /** * User registration request REDIS cache */ export declare class UserRegistrationCacheDto { userId: string; token: string; status: USER_REGISTRATION_STATUS; /** @deprecated use userRegistrationMethod instead */ transferExistingUser?: boolean; /** @deprecated use userRegistrationMethod instead */ overwriteExistingUser?: boolean; userRegistrationMethod: USER_REGISTRATION_METHOD; /** @deprecated */ previousUserId?: string | undefined; previousUserIds?: string[] | undefined; clientId?: string; /** @deprecated */ requestVerified?: boolean; uploadedUserFiles?: boolean; sourceRegistrationRequest?: UserRegistrationRequestDto; } export declare class UserRejectRequestDto { userId: string; token: string; message?: string; } export declare class UserRegistrationStatusResponseDto { status: USER_REGISTRATION_STATUS; } export declare class UserRegistrationSubmitDto { redirect_uris: string[]; token_endpoint_auth_method?: CLIENT_AUTH_METHOD; jwks: JWKS; userId: string; pushToken: string; email: string; phone: string; } export declare class UserRegistrationFileUploadBodyDto { userId: string; } export declare class UserBrowserRegistrationFileUploadBodyDto { userId: string; camera: string; } export declare class UserRegistrationFilesUploadDto { files: any[]; } export declare class UserRegistrationLogRequestDto { userId: string; token: string; status: string; message: string; } export declare class CreateUserBaseDto extends UserBaseDto { username?: string; usernameWithoutDomain?: string; email?: string; phone?: string; roles?: USER_ROLES_GLOBAL[]; title?: string; firstName: string; lastName: string; nationalId?: string; additionalInfo: AdditionalUserInfo; address?: StreetAddress[]; userData?: string | unknown; identityAssuranceLevel: USER_IDENTITY_ASSURANCE_LEVEL; } export declare class CreateUserDto extends CreateUserBaseDto { primaryDomain: DomainEntity; organization: OrganizationEntity; groups: GroupEntity[]; client?: ClientEntity; createdByUser?: UserEntity; } export declare class UpdateUserBaseDto extends UserBaseDto { } export declare class UpdateUserDto extends UpdateUserBaseDto { groups?: GroupEntity[]; clientData?: UserMobileClientInfo; clientPushToken?: string; } export declare class UpdateUserDuringRegistrationDto extends UpdateUserBaseDto { isVerified?: boolean; /** @deprecated use registrationStatus instead */ registrationCompleted?: boolean; registrationStatus?: REGISTRATION_STATUS; groups?: GroupEntity[]; client?: ClientEntity; organization?: OrganizationEntity; createdByUser?: UserEntity; } export declare class UpdateUserRelationshipDto { groups?: GroupEntity[]; organization?: OrganizationEntity; } /** * Approve user registration */ export declare class UserRegistrationApproveRequestDto { userId: string; } /** * Reject user registration */ export declare class UserRegistrationRevokeRequestDto extends UserRegistrationApproveRequestDto { } export declare class CompleteUserRegistrationDto { registrationCompleted: boolean; client: ClientEntity; } export declare class VerifyUserDto { isVerified: boolean; }