/** * Analytics event collector. * * Captures player events (play, pause, seek, etc.), batches them, * and POSTs to the analytics API endpoint at regular intervals. * * Feature-gated: only active when `license.features.analytics === true`. */ import type { AnalyticsEventType } from '@vizor-vr/shared'; export interface AnalyticsCollectorConfig { contentId: string; sessionId: string; apiEndpoint: string; apiKey?: string; } export declare class AnalyticsCollector { private queue; private flushTimer; private config; private visibilityHandler; constructor(config: AnalyticsCollectorConfig); /** Record an analytics event */ track(type: AnalyticsEventType, data?: Record): void; /** Flush the event queue to the API */ flush(): Promise; /** Stop the collector and flush remaining events */ dispose(): void; } //# sourceMappingURL=analytics-collector.d.ts.map