// 西瓜播放器类型定义

declare module 'xgplayer' {
  export interface IPlayerOptions {
    id: string;
    url: string;
    isLive?: boolean;
    playsinline?: boolean;
    plugins?: any[];
    width?: string | number;
    height?: string | number;
    autoplay?: boolean;
    autoplayMuted?: boolean;
    fluid?: boolean;
    lang?: string;
    playbackRate?: boolean | number[];
    enableContextmenu?: boolean;
    rotate?: {
      clockwise?: boolean;
      innerRotate?: boolean;
    };
    screenShot?: boolean;
    videoAttributes?: Record<string, any>;
    pip?: boolean;
    keyShortcut?: boolean;
    closeVideoClick?: boolean;
    controls?: boolean;
    poster?: string;
    'x5-video-player-type'?: string;
    'x5-video-player-fullscreen'?: boolean;
    'x5-video-orientation'?: string;
    [key: string]: any;
  }

  export interface XgPlayer {
    on(event: string, callback: () => void): void;
    destroy(): void;
  }

  const Player: {
    new(options: IPlayerOptions): XgPlayer;
  };

  export default Player;
  
  export namespace Events {
    export const PLAY: string;
    export const REPLAY: string;
    export const PAUSE: string;
    export const READY: string;
  }
}

declare module 'xgplayer-hls' {
  const HlsPlugin: any;
  export default HlsPlugin;
  
  export function isSupported(): boolean;
} 