27 lines
973 B
TypeScript
27 lines
973 B
TypeScript
import type { ReactElement, SyntheticEvent } from 'react';
|
|
import type { PlayerEmitter, ThumbnailEmitter } from './event-emitter.js';
|
|
export type ThumbnailMethods = {
|
|
getContainerNode: () => HTMLDivElement | null;
|
|
getScale: () => number;
|
|
};
|
|
export type PlayerMethods = ThumbnailMethods & {
|
|
play: (e?: SyntheticEvent) => void;
|
|
pause: () => void;
|
|
toggle: (e?: SyntheticEvent) => void;
|
|
seekTo: (frame: number) => void;
|
|
getCurrentFrame: () => number;
|
|
requestFullscreen: () => void;
|
|
exitFullscreen: () => void;
|
|
isFullscreen: () => boolean;
|
|
setVolume: (num: number) => void;
|
|
getVolume: () => number;
|
|
isMuted: () => boolean;
|
|
isPlaying: () => boolean;
|
|
mute: () => void;
|
|
unmute: () => void;
|
|
pauseAndReturnToPlayStart: () => void;
|
|
};
|
|
export type ThumbnailRef = ThumbnailEmitter & ThumbnailMethods;
|
|
export type PlayerRef = PlayerEmitter & PlayerMethods;
|
|
export type RenderCustomControls = () => ReactElement | null;
|