/** * Onairos React Native SDK v5.0.0 * A React Native implementation for Onairos personalized data integration * * PUBLIC API - Generic SDK (Enoch-specific code removed) * * NOTE: This SDK provides generic authentication (Google, Apple, Email). * It does NOT create app-specific users (like EnochUser). * Consuming apps should handle app-specific user creation after SDK auth completes. * * MINIMAL INTEGRATION: * 1. Call initializeApiKey({ apiKey: 'your-dev-key' }) at app startup * 2. Use or component * 3. That's it! The SDK handles all auth internally. */ export type { OnairosButtonProps, OnairosProps, DataTier, OnairosConfig, TestModeOptions, TrainingScreenMode, UniversalOnboardingProps, ConnectionStatus, PlatformConfig, } from './types'; export type { OnairosResult } from './components/OnairosButton'; export type { TrainingPollResult, NormalizedTrainingStatus } from './utils/pollTrainingStatus'; export { pollTrainingStatus, normalizeTrainingFromResolution } from './utils/pollTrainingStatus'; export type { TrainingIntent, DeriveTrainingIntentParams } from './utils/trainingIntent'; export { deriveTrainingIntent } from './utils/trainingIntent'; export type { OnairosSignInButtonProps } from './components/OnairosSignInButton'; export type { SDKAuthResponse } from './services/authService'; export type { LinkedInProfileData, LinkedInExperience, LinkedInEducation, ScrapeResult, } from './services/linkedinScrapingService'; export type { LinkedInExtractionResult, LinkedInScrapingOptions, ScrapingStatus, } from './services/linkedinDOMExtractor'; export { OnairosButton } from './components/OnairosButton'; export { OnairosSignInButton } from './components/OnairosSignInButton'; export { Onairos } from './components/Onairos'; export { UniversalOnboarding } from './components/UniversalOnboarding'; export { OAuthWebView } from './components/onboarding/OAuthWebView'; export { PortalHost, Portal } from './utils/Portal'; export { default as WelcomeScreen } from './components/WelcomeScreen'; export { PrimaryButton } from './components/PrimaryButton'; export { ModalSheet } from './components/ModalSheet'; export { ModalHeader } from './components/ModalHeader'; export { BrandMark } from './components/BrandMark'; export { HeadingGroup } from './components/HeadingGroup'; export { BodyText } from './components/BodyText'; export { SignInStep } from './components/SignInStep'; export { VerificationStep } from './components/VerificationStep'; export { default as PlatformConnectorsStep } from './components/PlatformConnectorsStep'; export { PersonalizationConsentScreen } from './components/PersonalizationConsentScreen'; export { PinCreationScreen } from './components/PinCreationScreen'; export { default as PersonaImage } from './components/PersonaImage'; export { useConnections } from './hooks/useConnections'; /** * Initialize the SDK with your developer API key * MUST be called before using OnairosButton or Onairos components * * @example * import { initializeApiKey } from '@onairos/react-native'; * * // At app startup * await initializeApiKey({ apiKey: 'your-dev-key-from-dashboard' }); */ export { initializeApiKey } from './services/apiKeyService'; /** * Set SDK environment (optional - defaults to 'production') * Call BEFORE initializeApiKey if you need staging/development * * @example * import { setEnvironment, initializeApiKey } from '@onairos/react-native'; * * // For staging/dev testing * setEnvironment('staging'); // Uses api3.onairos.uk * await initializeApiKey({ apiKey: 'your-dev-key' }); * * // For production (default) * setEnvironment('production'); // Uses api2.onairos.uk */ export { setEnvironment, getBaseUrl, setImportBridgeBaseUrl, getImportBridgeBaseUrl, } from './config/api'; export { extractUsernameFromJWT, extractUserDataFromJWT, decodeJWTPayload, } from './services/apiKeyService'; /** * Check if user is authenticated with Onairos * @returns Promise - true if user has valid authentication */ export { isAuthenticated } from './services/authService'; /** * Clear all auth tokens - use this for logout functionality * Removes all stored authentication data */ export { clearAllAuthTokens } from './services/authService'; /** * Set/clear user JWT explicitly. * Useful when the host app handles auth and needs to pass token to SDK. */ export { setUserToken, clearUserToken } from './services/authService'; /** * Configure Google Sign-In with your client IDs * Call this before showing any auth UI that includes Google * * @example * import { updateGoogleClientIds } from '@onairos/react-native'; * * updateGoogleClientIds({ * iosClientId: 'your-ios-client-id.apps.googleusercontent.com', * webClientId: 'your-web-client-id.apps.googleusercontent.com', * }); */ export { updateGoogleClientIds } from './services/googleAuthService'; /** * Test API connectivity - useful for debugging OAuth issues * @example * import { testApiConnectivity } from '@onairos/react-native'; * const result = await testApiConnectivity(); */ export { testApiConnectivity } from './services/platformAuthService'; /** * Run full network diagnostics * Use this to debug connection issues with the Onairos backend */ export { runFullDiagnostics, isApiReachable, getNetworkStatus, } from './utils/networkDiagnostics'; export { scrapeLinkedInProfile, extractLinkedInUsername, isValidLinkedInUrl, formatLinkedInUrl, canScrapeProfile, getLinkedInConnectionStatus, } from './services/linkedinScrapingService'; export { parseExtractionMessage, initiateProfileScraping, checkScrapingStatus, validateExtractedUrl, completeLinkedInExtraction, } from './services/linkedinDOMExtractor'; export { ApiClient } from './services/apiClient'; //# sourceMappingURL=index.d.ts.map