import { WABTransport } from '../WABTransport'; export interface AuthPayload { [key: string]: unknown; } export interface StartAuthResponse { success: boolean; message?: string; data?: unknown; } export interface CompleteAuthResponse { success: boolean; message?: string; presentationKey?: string; /** Preferred explicit continuity signal for newer WAB servers. */ accountStatus?: 'new-user' | 'existing-user'; /** Compatibility signal accepted from WAB deployments using a boolean. */ existingUser?: boolean; /** Two-phase WAB lifecycle state. Absent means active for older servers. */ registrationStatus?: 'pending' | 'active'; /** Operator-selected UMP ambiguity fallback supplied by newer WAB servers. */ umpTokenOutpoint?: string; /** Staged key returned while a verified phone change awaits WAB finalization. */ pendingPresentationKey?: string; /** Identifier used to idempotently finalize a staged phone change. */ pendingPhoneChangeId?: number; } /** * Abstract client-side interactor for an Auth Method. * * Subclasses only need to set `methodType`; the HTTP calls to * `/auth/start` and `/auth/complete` are handled here. */ export declare abstract class AuthMethodInteractor { abstract methodType: string; protected preparePayload(payload: AuthPayload): AuthPayload; /** * Shared POST helper for auth endpoints. */ private postAuth; /** * Start the flow (e.g. request an OTP or create a session). */ startAuth(serverUrl: string, presentationKey: string, payload: AuthPayload, transport?: WABTransport, correlationId?: string): Promise; /** * Complete the flow (e.g. confirm OTP). */ completeAuth(serverUrl: string, presentationKey: string, payload: AuthPayload, transport?: WABTransport, correlationId?: string): Promise; } //# sourceMappingURL=AuthMethodInteractor.d.ts.map