/** * User engagement tracking utilities */ /** * Track time spent on page */ export declare class TimeTracker { private startTime; private totalTime; private isActive; private visibilityChangeHandler; constructor(); private setupVisibilityTracking; /** * Get total time spent on page (in seconds) */ getTimeSpent(): number; /** * Cleanup */ destroy(): void; } /** * Track scroll depth */ export declare class ScrollTracker { private maxScrollDepth; private scrollHandler; private milestones; constructor(); private setupScrollTracking; private updateScrollDepth; /** * Get maximum scroll depth percentage */ getMaxScrollDepth(): number; /** * Get scroll milestones reached */ getMilestones(): number[]; /** * Cleanup */ destroy(): void; } /** * Track mouse/touch interactions */ export declare class InteractionTracker { private clickCount; private moveCount; private lastMoveTime; private clickHandler; private moveHandler; constructor(); private setupInteractionTracking; /** * Get interaction metrics */ getMetrics(): { clicks: number; moves: number; }; /** * Cleanup */ destroy(): void; } /** * Track page visibility and tab focus */ export declare class VisibilityTracker { private visibleTime; private startTime; private isVisible; private focusCount; private blurCount; private visibilityHandler; private focusHandler; private blurHandler; constructor(); private setupVisibilityTracking; /** * Get visibility metrics */ getMetrics(): { totalVisibleTime: number; focusCount: number; blurCount: number; isCurrentlyVisible: boolean; }; /** * Cleanup */ destroy(): void; } /** * Comprehensive engagement tracker */ export declare class EngagementTracker { private timeTracker; private scrollTracker; private interactionTracker; private visibilityTracker; constructor(); /** * Get all engagement metrics */ getMetrics(): { timeSpent: number; activeTime: number; scrollDepth: number; scrollMilestones: number[]; clicks: number; mouseMoves: number; focusCount: number; blurCount: number; engagementScore: number; isEngaged: boolean; }; /** * Calculate engagement score based on multiple factors */ private calculateEngagementScore; /** * Cleanup all trackers */ destroy(): void; } //# sourceMappingURL=engagement.d.ts.map