import { ReactNode } from "react"; import { type TurnkeyCallbacks, type TurnkeyProviderConfig } from "../types/base"; /** * @inline */ interface TurnkeyProviderProps { children: ReactNode; config: TurnkeyProviderConfig; callbacks?: TurnkeyCallbacks | undefined; } /** * Provides Turnkey client authentication, session management, wallet operations, and user profile management * for the React Native Wallet Kit SDK. This context provider encapsulates all core authentication flows (Passkey, OTP, OAuth), * session lifecycle (creation, expiration, refresh), wallet import/export, and user profile updates (email, phone, name). * * The provider automatically initializes the Turnkey client, fetches configuration (including proxy auth config if needed), * and synchronizes session and authentication state. It exposes a comprehensive set of methods for authentication flows, * wallet management, and user profile operations, as well as UI handlers for modal-driven flows. * * Features: * - Passkey, OTP (Email/SMS), and OAuth (Google, Apple, Facebook, Discord, X) authentication and sign-up flows. * - React Native-specific OAuth: opens an in-app browser (Custom Tabs/Safari View Controller) and deep-links back via the configured app scheme. * - Session management: creation, expiration scheduling, refresh, and clearing. * - Wallet management: fetch, import, export, account management. * - User profile management: email, phone, name, OAuth provider, and passkey linking/removal. * - Error handling and callback integration for custom error and event responses. * * Usage: * Wrap your application with `TurnkeyProvider` to enable authentication and wallet features via context. * * @param config - The Turnkey provider configuration object. * @param children - React children to be rendered within the provider. * @param callbacks - Optional callbacks for error handling and session events. * * @returns A React context provider exposing authentication, wallet, and user management methods and state. */ export declare const TurnkeyProvider: React.FC; export {}; //# sourceMappingURL=TurnkeyProvider.d.ts.map