import { PlayerConfig, PlayerState, QualityLevel, BrandingConfig, ContextMenuItem, SecurityConfig } from '../core/types'; export interface PlayerUIConfig extends PlayerConfig { branding?: BrandingConfig; security?: SecurityConfig; contextMenuItems?: ContextMenuItem[]; viewerName?: string; viewerEmail?: string; forensicWatermark?: boolean; width?: string; height?: string; onTimeUpdate?: (currentTime: number) => void; onEnded?: () => void; } export declare class PlayerUI { readonly root: HTMLDivElement; readonly videoEl: HTMLVideoElement; private corePlayer; private spinner; private centerPlay; private centerPlayBtn; private clickArea; private controls; private seekWrap; private seekBuffered; private seekProgress; private seekThumb; private seekTooltip; private playBtn; private volBtn; private volSlider; private timeEl; private speedLabel; private speedMenu; private settingsBtn; private qualityMenu; private fsBtn; private errorOverlay; private badge; private watermarkDiv; private watermarkCanvas; private playerState; private duration; private bufferedEnd; private qualityLevels; private currentQualityIdx; private playbackRate; private openMenu; private hideTimer; private seekDragging; private _onFsChangeBound; private _seekMouseMoveBound; private _seekMouseUpBound; private _seekTouchMoveBound; private _seekTouchEndBound; private _ctxMenu; private _ctxDocClickBound; private _ctxTargetBound; private _ctxKeyDownBound; private _watermarkObserver; private _watermarkStylePollTimer; private _watermarkText; constructor(container: HTMLElement, videoId: string, config: PlayerUIConfig); private _hexToRgba; private _wireEvents; private _onStateChange; private _togglePlay; private _renderPlayBtn; private _toggleMute; private _updateVolSliderFill; private _onVolumeChange; private _startSeekDrag; private _endSeekDrag; private _seekTo; private _onSeekHover; private _onTimeUpdate; private _updateSeekBar; private _buildQualityMenu; private _refreshQualityMenu; private _refreshSpeedMenu; private _toggleMenu; private _closeMenus; private _showControls; private _resetHideTimer; private _toggleFullscreen; private _onFsChange; private _showError; private _renderWatermark; private _renderCanvasWatermark; private _mulberry32; private _hashCode; private _watermarkDriftTimer; private _startWatermarkDrift; private _mountWatermarkObserver; private _isElementHidden; private _purgeWatermarkOverrideStyles; private _onWatermarkTamper; private _refillWatermark; private _addRipple; private _onKeyDown; private _applySecurity; private _showContextMenu; private _hideContextMenu; play(): Promise; pause(): void; stopLoading(): void; seek(t: number): void; getCurrentTime(): number; getDuration(): number; getVolume(): number; setVolume(v: number): void; getQualityLevels(): QualityLevel[]; getCurrentQuality(): QualityLevel | null; setQuality(i: number): void; getState(): PlayerState; getVideoElement(): HTMLVideoElement; destroy(): void; } //# sourceMappingURL=PlayerUI.d.ts.map