import 'react-native-get-random-values'; import type { AppCustomerInfo, AppPageLoad, MapLike, SdkInitOptions } from './common/app-types'; import { EventBus } from './common/event-bus'; declare class MagicPixelImpl { private static dl; private static customerInfo; private static customerIdentifiers; private static deepLinkUrl; private static orgId; private static firstAppLaunch; private static isReady; private static isInitializing; private static eventBuffer; private static onInitFailureCallback; /** * Initialize the MagicPixel SDK * This method is synchronous - it stores config immediately and runs async setup in background * Events called before async setup completes are buffered and processed once ready * @param options SDK initialization options */ static init(options: SdkInitOptions): void; /** * Shutdown the SDK and release all resources * Call this when the app is closing or when you need to reinitialize the SDK * After shutdown, you must call init() again to use the SDK */ static shutdown(): void; /** * Async initialization - runs in background */ private static initAsync; static recordEvent(eventName: string, payload: MapLike): void; private static processRecordEvent; static ready(): void; /** * Flush buffered events after SDK is ready * Events are processed in the order they were received */ private static flushEventBuffer; static getDebugId(): string; private static runTM; private static _fireTM; private static _fireTMPrivate; static setCustomerInfo(customerInfo: AppCustomerInfo): void; static setFirebaseAppInstanceId(instanceId: string): void; static setDeepLinkUrl(deepLinkUrl: string): void; /** * Set device info with auto-detected values * Standard fields (os_version, device_model_name, package_name) are always auto-detected * Optional customFields parameter allows adding custom tracking fields only * @param customFields Optional custom fields to add (cannot override standard fields) */ static setDeviceInfo(customFields?: Record): Promise; static setFacebookClientId(fbp: string): void; private static setAppVersion; static recordPageLoad(pageLoadInfo: AppPageLoad): void; private static processRecordPageLoad; /** * Set user information for tracking * @param userInfo User information object */ static setUserInfo(userInfo: { pid?: string; email?: string; phone?: string; country?: string; city?: string; state?: string; fName?: string; lName?: string; zip?: string; }): void; /** * Persist custom data to storage * @param key Storage key * @param value Value to store */ static persistData(key: string, value: any): void; /** * Clear specific persisted data * @param keys Array of keys to clear */ static clearPersistedData(keys: string[]): void; /** * Set data layer variables * @param data Data to set in the data layer */ static setDataLayer(data: MapLike): void; /** * Register a custom event processor * @param eventType Event type to listen for * @param processor Function to process the event */ static registerEventProcessor(eventType: string, processor: (payload: any) => void): void; /** * Get current data layer state * @returns Current data layer object */ static getDataLayer(): MapLike; /** * Get event state tracker * @returns Array of all tracked events */ static getEventState(): any[]; /** * Check if a specific event has happened * @param eventName Event name to check * @returns True if event has occurred */ static hasEventHappened(eventName: string): boolean; } export declare const MagicPixelEventBus: typeof EventBus; export declare const MagicPixel: typeof MagicPixelImpl; export { DeepLinkHelper, DeepLinkType } from './common/deeplink-helper';