/** * Service d'authentification Native Mobile SSO v1.0 * Architecture Frontend-First : Direct IAM après encryption * * @version 2.7.9 */ import type { NativeAuthType, NativeEncryptRequest, NativeEncryptResponse, NativeInitResponse, NativeValidateResponse, NativeGrantAccessResponse, NativeResendOtpResponse, NativeExchangeResponse, NativeCredentials, NativeRefreshResponse } from '../types/native'; export declare const nativeAuthService: { hasCredentials(): boolean; getCredentials(): NativeCredentials | null; getCredentialsTtl(): number; getCredentialsAge(): number; areCredentialsExpiringSoon(): boolean; ensureFreshCredentials(): Promise; loadCredentials(): Promise; encrypt(type: NativeAuthType, data: Partial): Promise; init(nativeToken: string): Promise; validate(processToken: string, creds: { password?: string; otp_code?: string; }): Promise; verifyTotp(processToken: string, totpCode: string): Promise; grantAccess(processToken: string): Promise; resendOtp(processToken: string): Promise; exchange(callbackToken: string): Promise; checkToken(token: string): Promise<{ valid: boolean; user?: import("../types/native").UserInfos; }>; refresh(): Promise; logout(token?: string): Promise<{ success: boolean; }>; clearCredentials(): void; loginEmail(email: string): Promise; loginPhone(ccphone: string, phone: string): Promise; loginAccessOtp(otpCode: string): Promise; register(data: { name: string; email?: string; ccphone: string; phone: string; town?: string; country?: string; registration_type?: "email" | "phone"; }): Promise; registerPhoneOnly(data: { name: string; ccphone: string; phone: string; town?: string; country?: string; }): Promise; recoverPassword(method: "email" | "phone", identifier: { email?: string; ccphone?: string; phone?: string; }): Promise; }; export default nativeAuthService;