/** * HTML5 Video Player Adapter */ import { PlayerAdapter, VideoMetadata, PlayerState, Resolution, CMCDData } from "../types"; import { EventCollector } from "../core/EventCollector"; import { BatchManager } from "../core/BatchManager"; import { Logger } from "../utils/logger"; export declare class HTML5Adapter implements PlayerAdapter { private video; private eventCollector; private batchManager; private logger; private metadata; private readonly eventListeners; private lastPlaybackTime; private playingTime; private watchTime; private stallStartTime; private viewStartTime; private rebufferCount; private rebufferDuration; private quartileFired; private heartbeatInterval; private seekFrom; private seekStartTime; constructor(eventCollector: EventCollector, batchManager: BatchManager, logger: Logger); /** * Attach to HTML5 video element */ attach(player: HTMLVideoElement, metadata: VideoMetadata): void; /** * Detach from video element */ detach(): void; private onVisibilityChange; /** * Attach all event listeners */ private attachEventListeners; /** * Helper to add event listener and track it */ private addEventListener; /** * Data Load Start event */ private onLoadStart; /** * Player Ready event */ private onPlayerReady; /** * On Can Play */ private onCanPlay; /** * Playing event */ private onPlaying; /** * Pause event */ private onPause; /** * Playing after waiting - Stall End */ private onPlayingAfterWait; /** * Ended event */ private onEnded; /** * Error event */ private onPlaybackError; /** * Seeking event */ private onSeeking; /** * Seeked event */ private onSeeked; /** * On Stall Start */ private onStallStart; /** * Playback rate change */ private onRateChange; /** * On Volume Change */ private onVolumeChange; private onMoveAway; private onMoveback; /** * Error handler */ private onError; /** * Time Update - Track quartiles */ private onTimeUpdate; /** * Heartbeat - Send periodic updates */ private startHeartbeat; /** * Stop heartbeat */ private stopHeartbeat; /** * Get current time in seconds */ getCurrentTime(): number; /** * Get duration in seconds */ getDuration(): number; /** * Get bitrate (HTML5 doesn't expose this directly) */ getBitrate(): number | null; /** * Get video resolution */ getVideoResolution(): Resolution | null; /** * Get player state */ getPlayerState(): PlayerState; /** * Get CMCD data (not available for plain HTML5) */ getCMCDData(): CMCDData | null; /** * Get buffer length in ms */ private getBufferLength; } //# sourceMappingURL=HTML5Adapter.d.ts.map