import type { StreamPlayerOptions, StreamPlayerEvents, Level, PlayerConfig, AudioTrack, SubtitleTrack } from './types'; export declare class StreamPlayer { private static readonly BASE_URL; private static readonly VERSION; private container; private videoElement; private hls; private analyticsCollector; private sessionRegistration; private eventListeners; private streamCode; private options; private timer; private qualityLevels; private audioTracks; private subtitleTracks; private resource?; private playerConfig?; private edge_id?; private sessionId?; private mediaSessionSig?; private adsContainer?; private adsPlayer?; private errorDisplay; private constructor(); static create(options: StreamPlayerOptions): Promise; initialize(): Promise; private setupHlsEvents; private setupVideoEvents; private startTimer; private cancelTimer; private updateProgress; private getSeekableStart; private getSeekableEnd; private setVideoPoster; load(streamUrl: string): Promise; play(): Promise; rewind(offset?: number): void; fastForward(offset?: number): void; pause(): void; seek(time: number): void; toggleMute(): void; switchLevel(level: number): void; seekToLive(): void; setVolume(volume: number): void; getVolume(): number; setPlaybackRate(rate: number): void; getPlaybackRate(): number; isMuted(): boolean; isAutolevelEnabled(): boolean; getLevels(): Level[]; getCurrentLevel(): number; getAudioTracks(): AudioTrack[]; getCurrentAudioTrack(): number; setAudioTrack(trackId: number): void; getSubtitleTracks(): SubtitleTrack[]; getCurrentSubtitleTrack(): number; setSubtitleTrack(trackId: number): void; getPlayerConfig(): PlayerConfig | undefined; on(event: K, callback: StreamPlayerEvents[K]): void; off(event: K, callback: StreamPlayerEvents[K]): void; private emit; destroy(): void; /** * Handle and map errors to unified error format */ private handleError; /** * Show error UI based on error characteristics */ private showErrorUI; /** * Setup error display event listeners */ private setupErrorDisplayEvents; private createAdsContainer; private initializeAds; private setupAdsPlayerEvents; private getDocumentReferer; /** * Apply auto level capping based on configured constraints */ private applyAutoLevelCapping; /** * Find the highest quality level that fits within specified dimensions */ private findLevelByDimensions; /** * Find the highest quality level that doesn't exceed specified bitrate */ private findLevelByBitrate; /** * Apply player configuration settings from backend */ private applyPlayerConfig; } //# sourceMappingURL=StreamPlayer.d.ts.map