/**
* 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