import { PureComponent } from "react"; import { Milliseconds, MillisecondsAccepted, Url } from "@ef-carbon/primitive"; import IDimensions from "../IDimensions"; import IVideo, { IOptions } from "./IVideo"; export { IDimensions, Url, Milliseconds, MillisecondsAccepted }; export interface IProps extends IOptions { } export default abstract class Video

extends PureComponent implements IVideo { abstract readonly looping: boolean; abstract readonly start: Milliseconds; abstract readonly end: Milliseconds; abstract seek(milliseconds: MillisecondsAccepted): Promise; abstract readonly position: Milliseconds | undefined; abstract readonly duration: Milliseconds | undefined; abstract readonly transitioning: boolean; abstract readonly buffering: boolean; abstract readonly playing: boolean; abstract play(): Promise; abstract readonly paused: boolean; abstract pause(): Promise; abstract readonly stopped: boolean; abstract stop(): Promise; abstract readonly width: number | undefined; abstract readonly height: number | undefined; abstract readonly url: Url; abstract readonly loading: boolean; abstract readonly loaded: boolean; abstract readonly unloaded: boolean; abstract readonly error: Error | undefined; abstract unload(): Promise; }