import type { AndroidNotificationChannelConfig, IOSNotificationCategoryConfig, JsonValue, NotificationInteractionListener, NotificationClassification, NotificationProcessingResult, PiiData, PushNotificationAction, PushNotificationPayload, PushTokenRegistrationInput, SDKConfig, TrackOptions, UserInfo } from "./types"; export declare class SirrusReactNativeSDK { private initialized; private logger; private storage; private sessionManager; private appStateMonitor; private transport; private pushManager; private notificationEngine; private currentConfig; private currentApiKey; private ssoUrl; private userInfo; private nativeNotificationUnsubscribe; private initPromise; private readonly nativeNotificationEventDedupeWindowMs; private readonly handledNativeNotificationEvents; private readonly notificationInteractionListeners; private readonly pendingNotificationInteractions; private readonly maxPendingNotificationInteractions; init(config: SDKConfig): Promise; isInitialized(): boolean; whenInitialized(): Promise; private initInternal; setUserInfo(userInfo: UserInfo | null): Promise; getUserInfo(): UserInfo | null; setPii(data: PiiData | null): void; track(eventName: string, properties?: Record, options?: TrackOptions): Promise; screen(screenName: string, properties?: Record): Promise; registerToken(input: PushTokenRegistrationInput): Promise; handlePushReceived(payload: PushNotificationPayload): Promise; handlePushOpened(payload: PushNotificationPayload): Promise; classifyNotification(payload: PushNotificationPayload): NotificationClassification; isSirrusNotification(payload: PushNotificationPayload): boolean; onNotificationInteraction(listener: NotificationInteractionListener): () => void; processNotificationReceived(payload: PushNotificationPayload, options?: { displayForegroundNotification?: boolean; displaySuppressionReason?: string; }): Promise; processNotificationOpened(payload: PushNotificationPayload): Promise; showNotification(payload: PushNotificationPayload): Promise; registerAndroidNotificationChannels(channels: AndroidNotificationChannelConfig[]): Promise; registerIOSNotificationCategories(categories: IOSNotificationCategoryConfig[]): Promise; flush(): Promise; shutdown(): Promise; private getDeviceContext; private runPostInitStartupEffects; private reportNonBlockingStartupError; private shouldUseServerEnvironmentUrl; private isLoopbackUrl; private resolveNotificationUiConfig; private androidChannelIdsToConfigs; private mergeAndroidChannels; private buildEvent; private trackInternal; private assertInitialized; private ensureInitialized; handlePushReceivedInternally(payload: PushNotificationPayload): Promise; handlePushOpenedInternally(payload: PushNotificationPayload): Promise; handlePushActionClickedInternally(payload: PushNotificationPayload, action?: PushNotificationAction): Promise; showNotificationInternally(payload: PushNotificationPayload): Promise; private handleNativeNotificationEvent; private notifyNotificationInteractionListeners; private invokeNotificationInteractionListener; private shouldSkipNativeNotificationEvent; private nativeNotificationEventKey; private pruneHandledNativeNotificationEvents; private resolveNotificationAction; private normalizeNotificationAction; private notificationActionMatches; private firstString; private booleanValue; private handleAppBecameActive; private consumePendingNativeNotificationEvents; private assertPushTokenRegistrationInput; private loadUserInfo; private setUserInfoInternal; private persistUserInfo; private normalizeUserInfo; } export declare const sirrusReactNativeSDK: SirrusReactNativeSDK;