import { AppStateStatus } from 'react-native'; import { AmplitudeCore, ReactNativeConfig, ReactNativeOptions, ReactNativeAttributionOptions as AttributionOptions, IIdentify, EventOptions, Event, Result, ReactNativeClient, AnalyticsClient, ReactNativeAutocaptureOptions, NavigationState } from '@amplitude/analytics-core'; export declare class AmplitudeReactNative extends AmplitudeCore implements ReactNativeClient, AnalyticsClient { appState: AppStateStatus; /** * True after a transition into `background` until the next `active`. * Used so Application Opened only pairs with Application Backgrounded * (e.g. skip iOS inactive→active from Control Center overlays). */ private wasBackgrounded; /** * Last focused leaf route name emitted by `trackScreenViewOnNavigationStateChange`. * Dedupes React Navigation callbacks that only change params, history shape, or * fire twice for the same visible screen (e.g. `onReady` + `onStateChange`, tabs). */ private lastNavigationScreenName; private appStateChangeHandler; private currentScreenName; explicitSessionId: number | undefined; config: ReactNativeConfig; userProperties: { [key: string]: any; } | undefined; autocapture: ReactNativeAutocaptureOptions | null; captureUnsubscribe: (() => void) | undefined; init(apiKey?: string, userId?: string, options?: ReactNativeOptions): import("@amplitude/analytics-core").AmplitudeReturn; protected _init(options: ReactNativeOptions & { apiKey: string; }): Promise; shutdown(): void; runAttributionStrategy(attributionConfig?: AttributionOptions, isNewSession?: boolean): Promise; getUserId(): string | undefined; setUserId(userId: string | undefined): void; getDeviceId(): string | undefined; setDeviceId(deviceId: string): void; identify(identify: IIdentify, eventOptions?: EventOptions): import("@amplitude/analytics-core").AmplitudeReturn; reset(): void; getSessionId(): number | undefined; getIdentity(): { userId: string | undefined; deviceId: string | undefined; userProperties: { [key: string]: any; } | undefined; }; getOptOut(): boolean; setSessionId(sessionId: number): void; extendSession(): void; trackScreenView(screenName: string, eventProperties?: Record, eventOptions?: EventOptions): import("@amplitude/analytics-core").AmplitudeReturn | import("@amplitude/analytics-core").AmplitudeReturn; trackScreenViewOnNavigationStateChange(navigationState: NavigationState | undefined, eventProperties?: Record, eventOptions?: EventOptions): import("@amplitude/analytics-core").AmplitudeReturn | import("@amplitude/analytics-core").AmplitudeReturn; private setSessionIdInternal; process(event: Event): Promise; currentTimeMillis(): number; private startNewSessionIfNeeded; private shouldStartNewSession; private isWithinMinTimeBetweenSessions; private inSession; private readonly handleAppStateChange; /** * Tracks Application Installed / Updated from persisted version + build on UserSession. * Only runs on iOS/Android; skips web and when the native module is unavailable. */ private trackAppInstallOrUpdate; private enterForeground; private exitForeground; } export declare const createInstance: () => ReactNativeClient; declare const _default: ReactNativeClient; export default _default; //# sourceMappingURL=react-native-client.d.ts.map