import React from 'react'; import type { RendererProps } from 'jamis-core'; import type { AudioSchema } from './types'; interface AudioProps extends RendererProps, Omit { } export interface AudioState { src?: string; isReady?: boolean; muted?: boolean; playing?: boolean; played: number; seeking?: boolean; volume: number; prevVolume: number; loaded?: number; playbackRate: number; showHandlePlaybackRate: boolean; showHandleVolume: boolean; } export declare class Audio extends React.Component { audio: HTMLMediaElement; progressTimeout: ReturnType; durationTimeout: ReturnType; static defaultProps: Pick; state: AudioState; componentWillUnmount(): void; componentDidMount(): void; componentDidUpdate(prevProps: AudioProps): void; progress(): void; audioRef(audio: HTMLMediaElement): void; load(): void; handlePlaybackRate(rate: number): void; handleMute(): void; handlePlaying(): void; getCurrentTime(): string; getDuration(): string | number; onDurationCheck(): void; onSeekChange(e: any): void; onSeekMouseDown(): void; onSeekMouseUp(e: any): void; setVolume(e: any): void; formatTime(seconds: number): string; pad(string: number): string; toggleHandlePlaybackRate(): void; toggleHandleVolume(type: boolean): void; renderRates(): JSX.Element | null; renderPlay(): JSX.Element; renderTime(): JSX.Element; renderProcess(): JSX.Element; renderVolume(): JSX.Element; render(): JSX.Element; } export declare class AudioRenderer extends Audio { } export {};