import * as React from 'react'; export interface HTMLMediaProps extends React.AudioHTMLAttributes, React.VideoHTMLAttributes { src: string; } export interface HTMLMediaState { buffered: any[]; duration: number; paused: boolean; muted: boolean; time: number; volume: number; } export interface HTMLMediaControls { play: () => Promise | void; pause: () => void; mute: () => void; unmute: () => void; volume: (volume: number) => void; seek: (time: number) => void; } declare type createHTMLMediaHookReturn = [React.ReactElement, HTMLMediaState, HTMLMediaControls, { current: HTMLAudioElement | null; }]; declare const createHTMLMediaHook: (tag: 'audio' | 'video') => (elOrProps: HTMLMediaProps | React.ReactElement) => createHTMLMediaHookReturn; export default createHTMLMediaHook;