/** * Gaze tracker for heatmap analytics. * * Samples camera orientation (lat, lon, fov) at ~3Hz and batches the * samples before POSTing to the analytics API. * * Feature-gated: only active when `license.features.analyticsHeatmaps === true`. */ export interface GazeTrackerConfig { contentId: string; sessionId: string; apiEndpoint: string; apiKey?: string; } /** Function returning the current camera orientation */ export type OrientationProvider = () => { lat: number; lon: number; fov: number; }; /** Function returning the current video time */ export type ContentTimeProvider = () => number; export declare class GazeTracker { private queue; private sampleTimer; private flushTimer; private config; private getOrientation; private getContentTime; private active; private visibilityHandler; constructor(config: GazeTrackerConfig, getOrientation: OrientationProvider, getContentTime: ContentTimeProvider); /** Start sampling gaze data (call when video is playing) */ start(): void; /** Stop sampling (call when video is paused) */ stop(): void; /** Take a single gaze sample */ private sample; /** Flush gaze samples to the API */ flush(): Promise; /** Stop tracking and flush remaining data */ dispose(): void; } //# sourceMappingURL=gaze-tracker.d.ts.map