import { Config, MemoryStorage, ReactNativeConfig as IReactNativeConfig, ReactNativeTrackingOptions, Event, ReactNativeOptions, ReactNativeStorageData, Storage, UserSession, FetchTransport } from '@amplitude/analytics-core'; export declare const getDefaultConfig: () => { cookieExpiration: number; cookieSameSite: string; cookieSecure: boolean; cookieStorage: MemoryStorage; cookieUpgrade: boolean; disableCookies: boolean; domain: string; sessionTimeout: number; storageProvider: MemoryStorage; trackingSessionEvents: boolean; trackingOptions: Required; transportProvider: FetchTransport; }; export declare class ReactNativeConfig extends Config implements IReactNativeConfig { appVersion?: string; cookieExpiration: number; cookieSameSite: string; cookieSecure: boolean; cookieStorage: Storage; cookieUpgrade: boolean; disableCookies: boolean; domain: string; partnerId?: string; sessionTimeout: number; trackingSessionEvents: boolean; trackingOptions: ReactNativeTrackingOptions; autocapture?: IReactNativeConfig['autocapture']; storage?: Storage; protected _deviceId?: string; protected _lastEventId?: number; protected _lastEventTime?: number; protected _optOut: boolean; protected _sessionId?: number; protected _userId?: string; /** Persisted native version for install/update detection (UserSession.appVersion). */ protected _appVersion?: string; /** Persisted native build for install/update detection (UserSession.appBuild). */ protected _appBuild?: string; constructor(apiKey: string, options?: ReactNativeOptions); get deviceId(): string | undefined; set deviceId(deviceId: string | undefined); get userId(): string | undefined; set userId(userId: string | undefined); get sessionId(): number | undefined; set sessionId(sessionId: number | undefined); get optOut(): boolean; set optOut(optOut: boolean); get lastEventTime(): number | undefined; set lastEventTime(lastEventTime: number | undefined); get lastEventId(): number | undefined; set lastEventId(lastEventId: number | undefined); /** * Persisted native app version for install/update detection. * Distinct from {@link appVersion}, the optional event-enrichment override. */ get persistedAppVersion(): string | undefined; set persistedAppVersion(appVersion: string | undefined); get persistedAppBuild(): string | undefined; set persistedAppBuild(appBuild: string | undefined); private updateStorage; } export declare const useReactNativeConfig: (apiKey: string, options?: ReactNativeOptions) => Promise; export declare const createCookieStorage: (overrides?: ReactNativeOptions, baseConfig?: { cookieExpiration: number; cookieSameSite: string; cookieSecure: boolean; cookieStorage: MemoryStorage; cookieUpgrade: boolean; disableCookies: boolean; domain: string; sessionTimeout: number; storageProvider: MemoryStorage; trackingSessionEvents: boolean; trackingOptions: Required; transportProvider: FetchTransport; }) => Promise>; export declare const createEventsStorage: (overrides?: ReactNativeOptions) => Promise | undefined>; export declare const createStorageProvider: (overrides?: ReactNativeOptions) => Promise | undefined>; export declare const getTopLevelDomain: (url?: string) => Promise; /** * Determines whether to fetch remote config based on options. * Extracted to allow early determination before useBrowserConfig is called. */ export declare const shouldFetchRemoteConfig: (options?: ReactNativeOptions) => boolean; //# sourceMappingURL=config.d.ts.map