/** * ConversionIQ JavaScript SDK * Lightweight tracking SDK for conversion optimization insights * * @version 1.0.0 * @author ConversionIQ Team */ import { ConversionIQConfig, UserContext, EventData, TrackingOptions, ConversionData, PrivacySettings } from './types/index'; declare global { interface Window { ConversionIQ: ConversionIQSDK | any[]; __conversioniq_config?: ConversionIQConfig; __conversioniq_queue?: any[]; } } /** * Main ConversionIQ SDK class */ declare class ConversionIQSDK { private config; private eventQueue; private networkManager; private privacyManager; private environmentDetector; private errorHandler; private microInteractionTracking?; private isInitialized; private sessionId; private userId?; private eventListeners; constructor(config: ConversionIQConfig); /** * Initialize the SDK */ init(): Promise; /** * Set user identification */ identify(userId: string, context?: Partial): void; /** * Track a custom event */ track(eventType: string, data?: EventData, options?: TrackingOptions): Promise; /** * Track a conversion event */ trackConversion(data: ConversionData): Promise; /** * Track a page view */ trackPageView(url?: string): Promise; /** * Track element interaction */ trackClick(element: Element | string, metadata?: Record): Promise; /** * Flush all pending events immediately */ flush(): Promise; /** * Update privacy consent */ updatePrivacyConsent(consents: Record): void; /** * Get current privacy status */ getPrivacyStatus(): PrivacySettings; /** * Get session ID */ getSessionId(): string; /** * Get micro-interaction tracking statistics */ getMicroInteractionStats(): any; /** * Update micro-interaction tracking profile * @param profile - The profile to use: 'minimal', 'balanced', 'detailed', or 'performance' */ setMicroInteractionProfile(profile: 'minimal' | 'balanced' | 'detailed' | 'performance'): void; /** * Get current micro-interaction tracking profile */ getMicroInteractionProfile(): string | null; private startMicroInteractionTracking; private waitForDOM; private startAutoTracking; private shouldAutoTrack; private setupSPATracking; private buildEventPayload; private getElementSelector; private getElementData; private getScrollDepth; private getDeviceType; private getDataTypeForEvent; private queueEvent; private processQueuedEvents; private generateSessionId; /** * Clean up and destroy the SDK */ destroy(): void; } export default ConversionIQSDK; //# sourceMappingURL=index.d.ts.map