import { EVENTS } from './constants'; import EventEmitter from './event'; import I18n from './i18n'; import type { Destroyable, PlayerEvent, PlayerEventName, PlayerListener, PlayerOptions, PlayerPlugin, Source } from './types'; export declare class Player = Record> { static players: Player[]; container: HTMLElement; options: Required; locales: I18n; eventEmitter: EventEmitter; plugins: PlayerPlugin[]; context: Context; loader?: Destroyable; $root: HTMLDivElement; $video: HTMLVideoElement; listeners: Record<(typeof EVENTS)[number] | 'fullscreenchange' | 'fullscreenerror', Function>; hasError: boolean; isSourceChanging: boolean; constructor(el: HTMLElement | string, options?: PlayerOptions | string); static make = Record>(el: HTMLElement | string, options?: PlayerOptions | string): Player; use(plugins: PlayerPlugin[]): this; create(): this; initEvent(): void; render(): void; load(source: Source): Promise; applyPlugin(plugin: PlayerPlugin, init?: boolean): void; on(name: PlayerEventName | PlayerListener, listener?: PlayerListener): this; once(name: PlayerEventName | PlayerListener, listener?: PlayerListener): void; off(name: PlayerEventName, listener: PlayerListener): void; emit(name: PlayerEventName, payload?: PlayerEvent['payload']): void; setPoster(poster: string): void; play(): Promise | undefined; pause(): void; togglePlay(): void | Promise; mute(): void; unmute(): void; toggleMute(): void; setVolume(volume: number): void; setPlaybackRate(rate: number): void; seek(time: number): void; setLoop(loop: boolean): void; enterFullscreen(): Promise; exitFullscreen(): Promise; get isFullscreenEnabled(): any; get isFullScreen(): boolean; toggleFullScreen(): Promise; get isPipEnabled(): boolean; enterPip(): Promise; exitPip(): false | Promise; get isInPip(): boolean; togglePip(): false | Promise | Promise; changeQuality(source: Omit | Promise>): Promise; changeSource(source: Source | Promise, keepPlaying?: boolean): Promise; _loader(sourceLike: Source | Promise, options: { event: string; preEvent: string; brokenEvent: string; keepPlaying: boolean; keepTime?: boolean; }): Promise; destroy(): void; get isNativeUI(): boolean; get state(): number; get isPlaying(): boolean; get isMuted(): boolean; get isEnded(): boolean; get isLoop(): boolean; get isAutoPlay(): boolean; get duration(): number; get buffered(): TimeRanges; get currentTime(): number; get volume(): number; get playbackRate(): number; get _requestFullscreen(): Element['requestFullscreen']; get _exitFullscreen(): Document['exitFullscreen']; static get version(): string; } //# sourceMappingURL=player.d.ts.map