import { EventEmitter } from "../events/EventEmitter"; import { PlayerEventMap, PlayerState, PlayerConfig, VideoTrack, AudioTrack, SubtitleTrack } from "../types"; import { TrackManager } from "../core/TrackManager"; export declare class HLSPlayerWrapper extends EventEmitter { private config; private hls; private videoElement; private canvasRenderer; private state; trackManager: TrackManager; private frameCallbackId; private _framesRendered; private textContainer; private pendingCues; private lastActiveCueSignature; constructor(config: PlayerConfig); /** * Own caption-rendering overlay, a sibling of the shared canvas (mirrors * ShakaPlayerWrapper's textContainer). Registered with the SAME * CanvasRenderer instance via setSubtitleOverlay() so its existing * rotation-aware resize() logic (dimension swap for 90/270°, centering, * rotate transform) sizes/positions/rotates it automatically — we only need * to write the active cue's text into it. */ private createTextContainer; /** Show whichever accumulated cue(s) are active at the current playhead — * the browser-native equivalent of a element's cue scheduling, * which hls.js doesn't do for us in non-native-rendering mode. */ private updateActiveCueDisplay; private setupEventHandlers; private setState; private startFrameLoop; private stopFrameLoop; private renderFrame; load(): Promise; private loadNative; private updateTracks; play(): Promise; pause(): void; seek(time: number): Promise; getState(): PlayerState; getDuration(): number; getCurrentTime(): number; setVolume(volume: number): void; setMuted(muted: boolean): void; setPlaybackRate(rate: number): void; getVolume(): number; isMuted(): boolean; getPlaybackRate(): number; setSubtitleOverlay(_element: HTMLElement): void; setHDREnabled(enabled: boolean): void; /** * Setup Encrypted Media Extensions (EME) for Widevine/FairPlay DRM * Requires a valid license server URL from a DRM provider (e.g., PallyCon, EZDRM, BuyDRM) */ private setupEME; getVideoElement(): HTMLVideoElement; getBufferEndTime(): number; resizeCanvas(width: number, height: number): void; getVideoTracks(): VideoTrack[]; selectVideoTrack(id: number): void; getAudioTracks(): AudioTrack[]; selectAudioTrack(id: number): boolean; getSubtitleTracks(): SubtitleTrack[]; selectSubtitleTrack(id: number | null): Promise; setVideoRotation(deg: number): void; rotateVideo(): number; getVideoRotation(): number; setFitMode(mode: any): void; getStats(): Record; getNetworkSpeed(): number; isFileSource(): boolean; /** Aborted by destroy(), so a DRM licence request can't outlive the wrapper. */ private readonly lifetimeAbort; destroy(): void; private eventHandlers; } //# sourceMappingURL=HLSPlayerWrapper.d.ts.map