/** * player config and options type interface * * author: db123 at db * creation: 28/4/2026 */ export interface PlayerConfig { type: 'native' | 'hls' | 'dash'; theme?: 'dark' | 'light'; accent?: string; controls?: boolean | ControlConfig; ui?: boolean | UIConfig; preload?: 'auto' | 'metadata' | 'none'; autoplay?: boolean; loop?: boolean; muted?: boolean; adapters?: AdapterConfig; prefixClass: string; } export interface ControlConfig { seekPos: number; seekNeg: number; playbackSpeed: Array; } export interface UIConfig { PlayButton?: boolean | UIElementConfig; } export interface UIElementConfig { enable?: boolean; vPosition?: 'top' | 'middle' | 'bottom'; hPosition?: 'left' | 'middle' | 'right'; color?: string | UIElementColorConfig; } export interface UIElementColorConfig { idleColor?: string; activeColor?: string; hoverColor?: string; disabledColor?: string; } export interface AdapterConfig { src?: string; }