export declare type Password = string; export declare type Email = string; export declare type Token = string; export interface LoginDetails { email: Email; password: Password; tfaCode: string | undefined; } export interface RegisterDetails { name: string; lastname: string; email: Email; password: Password; mnemonic: string; salt: string; keys: Keys; captcha: string; referrer?: string; referral?: string; } export interface Keys { privateKeyEncrypted: string; publicKey: string; revocationCertificate: string; } export interface CryptoProvider { encryptPasswordHash: (password: Password, encryptedSalt: string) => string; generateKeys: (password: Password) => Promise; } export declare class UserAccessError extends Error { } export interface SecurityDetails { encryptedSalt: string; tfaEnabled: boolean; } export interface TwoFactorAuthQR { qr: string; backupKey: string; } export interface BasicAuth { username: string; password: string; }