import type { AuthResponse, GoogleLoginPayload, LoginCredentials, OTPData, ResetPasswordData, SignupData } from '../types/auth'; export interface AuthApiPaths { login: string; signup: string; google: string; sendOtp: string; verifyOtp: string; resetPassword: string; completePasswordReset: string; refresh: string; } /** * Original defaults — keeps existing consumer apps on `/api/auth/*` (BFF/proxy routes). * Do not change without a major version bump. */ export declare const LEGACY_AUTH_API_PATHS: AuthApiPaths; /** * Backend Integration API (`{BASE_URL}/api/v1/auth/*`) — same routes as `createAuthAxiosClient`. * Opt in via `pathPreset: 'v1'` or `paths: AUTH_API_V1_PATHS`. */ export declare const AUTH_API_V1_PATHS: AuthApiPaths; export type AuthApiPathPreset = 'legacy' | 'v1'; export interface AuthApiIntegrationConfig { /** API origin, e.g. `https://api.example.com` or empty string for same-origin relative paths */ baseURL: string; /** * Which path set to use. Default **`legacy`** (`/api/auth/*`) so existing projects are unchanged. * Use **`v1`** for direct backend calls under `/api/v1/auth/*`. */ pathPreset?: AuthApiPathPreset; /** Override individual path segments (applied after `pathPreset`). */ paths?: Partial; /** Sent as `tenant` header on every request when set */ tenant?: string; /** Merged into every request (e.g. correlation ids) */ getHeaders?: () => Record | Promise>; /** Optional frontend Google credential resolver used by `onGoogleLogin` to post `{ idToken }`. */ getGoogleIdToken?: () => Promise; credentials?: RequestCredentials; fetchImpl?: typeof fetch; } /** * Returns `AuthProvider` callback props wired to JSON REST endpoints. * Spread onto `` or merge with your own overrides. * Does not include `onLogout` — logout is client-side by default (`useAuth().logout()` clears storage); pass `onLogout` to `AuthProvider` only if your API revokes tokens server-side. * * **Backward compatibility:** default `pathPreset` is `'legacy'` (`LEGACY_AUTH_API_PATHS`). * New backend integrations should set `pathPreset: 'v1'`. */ export declare function createAuthApiHandlers(config: AuthApiIntegrationConfig): { onLogin: (credentials: LoginCredentials) => Promise; onSignup: (data: SignupData) => Promise; onGoogleLogin: (payload?: GoogleLoginPayload) => Promise; onSendOTP: (email: string) => Promise; onOTPLogin: (otpData: OTPData) => Promise; onResetPassword: (email: string) => Promise; onCompletePasswordReset: (payload: ResetPasswordData) => Promise; onRefreshToken: (refreshToken: string) => Promise; }; export type AuthApiHandlers = ReturnType; //# sourceMappingURL=createAuthApiHandlers.d.ts.map