/** * Video.js Player Adapter */ import { BatchManager } from "../core/BatchManager"; import { EventCollector } from "../core/EventCollector"; import { CMCDData, PlayerAdapter, VideoMetadata, PlayerError, PlayerState, Resolution } from "../types"; import { Logger } from "../utils/logger"; export declare class VideoJsAdapter implements PlayerAdapter { private player; private eventCollector; private batchManager; private logger; private metadata; private readonly eventHandlers; private lastPlaybackTime; private playingTime; private watchTime; private stallStartTime; private viewStartTime; private seekStartTime; private rebufferCount; private rebufferDuration; private quartileFired; private heartbeatInterval; private seekFrom; constructor(eventCollector: EventCollector, batchManager: BatchManager, logger: Logger); /** * Attach to Video.js player */ attach(player: any, metadata: VideoMetadata): void; /** * Detach from player */ detach(): void; /** * Attach all event listeners */ private attachEventListeners; /** * Helper to add event listener and track it */ private on; /** * Player Ready event */ onPlayerReady(): Promise; /** * View Start event */ onViewStart(): Promise; /** * Playing event */ onPlaying(): Promise; /** * Pause event */ onPause(): Promise; /** * Seeking event */ onSeeking(): void; /** * Seeked event */ onSeeked(): Promise; /** * Stall Start (waiting) event */ onStallStart(): Promise; /** * Playing after waiting - Stall End */ onPlayingAfterWait(): Promise; /** * Ended event */ onEnded(): Promise; /** * Error event */ onErrorEvent(): Promise; /** * Error handler */ onError(error: PlayerError): Promise; /** * Quality Change event */ onQualityChange(): Promise; /** * Time Update - Track quartiles */ onTimeUpdate(): Promise; /** * 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 */ getBitrate(): number | null; /** * Get video resolution */ getVideoResolution(): Resolution | null; /** * Get framerate */ getFramerate(): number | null; /** * Get dropped frames */ getDroppedFrames(): number | undefined; /** * Get player state */ getPlayerState(): PlayerState; /** * Get CMCD data (not available for basic Video.js) */ getCMCDData(): CMCDData | null; /** * Get buffer length in ms */ private getBufferLength; } //# sourceMappingURL=VideoJsAdapter.d.ts.map