import { EmailString, IECIESConfig, SecureString } from '@digitaldefiance/ecies-lib'; import { IConstants, IRequestUserDTO } from '@digitaldefiance/suite-core-lib'; import { Wallet } from '@ethereumjs/wallet'; interface ApiErrorResponse { message?: string; error?: string | { message?: string; statusCode?: number; stack?: string; }; errorType?: string; field?: string; errors?: Array<{ path: string; msg: string; }>; } /** * Extract a human-readable error string from an API error response. * The backend may send `error` as either a plain string or an object * with `{ message, statusCode, stack }`. */ export declare function extractErrorMessage(errorData: ApiErrorResponse): string | undefined; export declare class AuthService { private constants; private baseUrl; private readonly siteDomain; private eciesService; private cryptoCore; private apiClient; private authenticatedApiClient; constructor(constants: IConstants, baseUrl: string, eciesConfig: IECIESConfig, siteDomain: string); getSiteDomain(): string; register(username: string, email: string, timezone: string, password?: string, mnemonic?: string, displayName?: string, directChallenge?: boolean): Promise<{ success: boolean; message: string; mnemonic: string; } | { error: string; errorType?: string; field?: string; errors?: Array>; }>; directLogin(mnemonic: SecureString, username?: string, email?: EmailString): Promise<{ token: string; user: IRequestUserDTO; wallet: Wallet; message: string; } | { pendingTotpToken: string; } | { error: string; errorType?: string; }>; requestEmailLogin(username?: string, email?: EmailString): Promise; emailChallengeLogin(mnemonic: SecureString, token: string, username?: string, email?: EmailString): Promise<{ token: string; user: IRequestUserDTO; wallet: Wallet; message: string; } | { pendingTotpToken: string; } | { error: string; errorType?: string; }>; verifyToken(token: string): Promise; refreshToken(): Promise<{ token: string; user: IRequestUserDTO; }>; changePassword(currentPassword: string, newPassword: string): Promise<{ success: boolean; } | { error: string; errorType?: string; }>; backupCodeLogin(identifier: string, code: string, isEmail: boolean, recoverMnemonic: boolean, newPassword?: string): Promise<{ token: string; codeCount: number; user?: IRequestUserDTO; mnemonic?: string; message?: string; } | { error: string; status?: number; errorType?: string; }>; setupTotp(): Promise<{ provisioningUri: string; secret: string; } | { error: string; }>; confirmTotp(code: string): Promise<{ success: boolean; } | { error: string; }>; disableTotp(code: string): Promise<{ success: boolean; } | { error: string; }>; resetTotp(code: string): Promise<{ provisioningUri: string; secret: string; } | { error: string; }>; verifyTotpLogin(pendingTotpToken: string, code: string): Promise<{ token: string; user: IRequestUserDTO; } | { error: string; }>; } export declare const createAuthService: (constants: IConstants, baseUrl: string, eciesConfig: IECIESConfig, siteDomain: string) => AuthService; export {}; //# sourceMappingURL=authService.d.ts.map