export interface ViewerEvent { event_type: string; event_at: string; position_seconds?: number; payload?: Record; idempotency_key?: string; } export interface EventTrackerConfig { endpoint: string; tokenId: string; sessionId?: string; eventsSecret: string; identityHash?: string; flushIntervalMs?: number; debug?: boolean; } export declare class EventTracker { private buffer; private config; private flushTimer; private accumulator; private destroyed; private _onBeforeUnload; private flushBackoff; private flushing; constructor(config: EventTrackerConfig); track(type: string, positionSeconds?: number, payload?: Record): void; startChunk(position: number): void; tickChunk(position: number): void; endChunk(): void; setSessionId(sessionId: string): void; flush(): Promise; destroy(): void; private startAutoFlush; private restartAutoFlush; private hookPageUnload; private sendBatch; private randomNonce; private sign; } //# sourceMappingURL=EventTracker.d.ts.map