/** * Video Player Core * * Orchestrates playback, controls, theming, analytics, LMS progress, * event bus, auto-resume, error recovery, playlist, thumbnail preview, * mini player, and the analytics plugin slot. */ import type { PlayerConfig, PlayerState, PlayerAPI, VideoSource, QualityLevel, SubtitleTrack, VidstreamPlayerInstance, Chapter } from '../types'; export declare class VideoPlayer implements PlayerAPI, VidstreamPlayerInstance { private container; private config; private videoElement; private hls; private dash; private isPipOperationInFlight; private controlsManager; private watermarkManager; private antiPiracyTextManager; private themeManager; private analyticsManager; private lmsProgressManager; private eventBus; private errorRecovery; private thumbnailPreview; private miniPlayer; private playlistManager; private state; private isInitialized; private qualityLevels; private _sessionId; private currentChapterIndex; private seekFromTime; constructor(container: HTMLElement | string, config: PlayerConfig); private initialize; private injectExtraStyles; private createVideoElement; private initializeControls; /** Normalize chapters: support both `time` and `startTime` fields */ private normalizeChapters; private initializeLMSProgress; private initializePlaylist; private updatePlaylistControls; private bindVideoEvents; private checkChapterChange; private loadThumbnailVtt; private loadChaptersVtt; private showErrorUI; loadSource(source: VideoSource): void; private loadHLSSource; private loadDashSource; private detectSourceType; play(): Promise; pause(): void; togglePlay(): void; seek(time: number): void; private seekToPercentage; setVolume(volume: number): void; setMuted(muted: boolean): void; toggleMute(): void; setPlaybackRate(rate: number): void; setSpeed(rate: number): void; enterFullscreen(): Promise; exitFullscreen(): Promise; toggleFullscreen(): void; enterPip(): Promise; exitPip(): Promise; togglePip(): void; setQuality(quality: QualityLevel | 'auto' | number): void; setSubtitle(track: SubtitleTrack | null): void; private forward; private rewind; next(): void; prev(): void; goTo(index: number): void; getCurrentTime(): number; getDuration(): number; getVolume(): number; isPaused(): boolean; isFullscreen(): boolean; getQuality(): string | number; get sessionId(): string; on(event: string, handler: Function): void; off(event: string, handler: Function): void; once(event: string, handler: Function): void; getState(): PlayerState; private getInitialState; private updateState; private getAnalyticsState; updateConfig(config: Partial): void; setChapters(chapters: Chapter[]): void; private emitEvent; isReady(): boolean; destroy(): void; } export declare function createVideoPlayer(container: HTMLElement | string, config: PlayerConfig): VideoPlayer; export default VideoPlayer;