import React, { CSSProperties } from "react"; import WaveSurfer from "wavesurfer.js"; import "./video-audio-player.css"; export type AudioControlOptionsToRemove = "playPause" | "mute" | "volume" | "playbackRate" | "current-time" | "duration"; export interface AudioPlayerProps { src: string; accentColor?: string; customErrorMessage?: string; autoPlay?: boolean; muted?: boolean; loop?: boolean; width?: string | number; className?: string; style?: CSSProperties; controls?: boolean; seekTo?: number; controlsToExclude?: AudioControlOptionsToRemove[]; disableShortcuts?: boolean; showDownloadButton?: boolean; defaultPlaybackRate?: number; defaultVolume?: number; onProgress?: (currentTime: number, duration: number) => void; onSeeked?: (time: number) => void; onDownloadStart?: () => void; onDownloadEnd?: (success: boolean) => void; onPlaybackRateChange?: (rate: number) => void; onVolumeChange?: (volume: number) => void; onMuteChange?: (isMuted: boolean) => void; onPlay?: () => void; onPause?: () => void; onEnded?: () => void; onError?: () => void; onReady?: () => void; onDuration?: (duration: number) => void; getWaveSurferRef?: (ref: WaveSurfer | null) => void; getAudioElement?: (ref: HTMLAudioElement | null) => void; } declare const AudioPlayer: ({ src, accentColor, customErrorMessage, autoPlay, muted, loop, className, style, controls, width, seekTo, controlsToExclude, showDownloadButton, disableShortcuts, defaultPlaybackRate, defaultVolume, onProgress, onSeeked, onDownloadStart, onDownloadEnd, onPlaybackRateChange, onVolumeChange, onMuteChange, onPlay, onPause, onEnded, onError, onReady, onDuration, getWaveSurferRef, getAudioElement, }: AudioPlayerProps) => React.JSX.Element; export default AudioPlayer;