UNPKG

mentiq-sdk

Version:

A powerful analytics SDK for React and Next.js with heatmap tracking, session monitoring, and performance analytics

85 lines 3.28 kB
import { AnalyticsConfig, AnalyticsInstance, AnalyticsProvider, EventProperties, PageProperties, UserProperties, SessionData, PerformanceData } from "./types"; export declare class Analytics implements AnalyticsInstance { config: AnalyticsConfig & { endpoint: string; debug: boolean; sessionTimeout: number; batchSize: number; flushInterval: number; enableAutoPageTracking: boolean; enablePerformanceTracking: boolean; enableHeatmapTracking: boolean; enableSessionRecording: boolean; enableErrorTracking: boolean; maxQueueSize: number; retryAttempts: number; retryDelay: number; }; private eventQueue; private providers; private flushTimer?; private sessionTimer?; private isInitialized; private sessionData; private heatmapListeners; private errorListeners; private sessionRecorder?; private funnelState; private funnelAbandonmentTimer; constructor(config: AnalyticsConfig); private initializeSession; private initialize; private setupSessionTracking; private setupHeatmapTracking; private setupErrorTracking; private getElementSelector; private endSession; private setupAutoFlush; private setupAutoPageTracking; private setupPerformanceTracking; addProvider(provider: AnalyticsProvider): void; track(event: string, properties?: EventProperties): void; page(properties?: PageProperties): void; identify(userId: string, traits?: UserProperties & { email?: string; }): void; alias(newId: string, previousId?: string): void; reset(): void; flush(): Promise<void>; setUserId(userId: string): void; getUserId(): string | null; getAnonymousId(): string; getSessionId(): string; getSessionData(): SessionData; getActiveSession(): SessionData; calculateEngagementScore(): number; private calculateDetailedSessionMetrics; private calculateBounceLikelihood; trackCustomError(error: string | Error, properties?: EventProperties): void; trackPerformance(performanceData: PerformanceData): void; trackFeatureUsage(featureName: string, properties?: EventProperties): void; trackFunnelStep(funnelName: string, stepName: string, stepIndex: number, properties?: EventProperties): void; completeFunnel(funnelName: string, properties?: EventProperties): void; startFunnel(funnelName: string, properties?: EventProperties): void; advanceFunnel(funnelName: string, stepName: string, properties?: EventProperties): void; abandonFunnel(funnelName: string, reason?: string, properties?: EventProperties): void; getFunnelState(funnelName: string): any; private clearFunnelState; private resetAbandonmentTimer; private calculateFunnelCompletion; getQueueSize(): number; clearQueue(): void; private enqueueEvent; private createBatches; private sendBatch; private transformEventForBackend; private sendEvent; private setupSessionRecording; startRecording(): void; stopRecording(): void; pauseRecording(): void; resumeRecording(): void; isRecordingActive(): boolean; destroy(): void; } //# sourceMappingURL=analytics.d.ts.map