import { ReactNode } from 'react'; import { User, AuthResponse, LoginCredentials, SignupData, OTPData, ResetPasswordData, GoogleLoginPayload, AuthContextType } from '../types/auth'; interface AuthProviderProps { children: ReactNode; onLogin?: (credentials: LoginCredentials) => Promise; onSignup?: (data: SignupData) => Promise; onGoogleLogin?: (payload?: GoogleLoginPayload) => Promise; onOTPLogin?: (otpData: OTPData) => Promise; onRefreshToken?: (refreshToken: string) => Promise; /** Optional server revoke (e.g. blacklist refresh token). Default logout is client-only: clears storage + session. */ onLogout?: (session: AuthResponse | null) => Promise | void; onSendOTP?: (email: string) => Promise; onResetPassword?: (email: string) => Promise; onCompletePasswordReset?: (payload: ResetPasswordData) => Promise; /** localStorage key for the persisted auth blob (tokens + profile). Default `AUTH_STORAGE_KEY` (`auth_data`). */ storageKey?: string; /** * Extra `localStorage` keys cleared on logout (e.g. legacy `auth_session` / `auth_tokens` during migration). * Default clears only `storageKey`. */ additionalLogoutStorageKeys?: string[]; } export declare function AuthProvider({ children, onLogin, onSignup, onGoogleLogin, onOTPLogin, onRefreshToken, onLogout, onSendOTP, onResetPassword, onCompletePasswordReset, storageKey, additionalLogoutStorageKeys, }: AuthProviderProps): import("react/jsx-runtime").JSX.Element; export declare function useAuth(): AuthContextType; export {}; //# sourceMappingURL=AuthContext.d.ts.map