import React from 'react';
import WaveSurferRef, { WaveSurferOptions } from 'wavesurfer.js';
import { GenericPlugin } from 'wavesurfer.js/dist/base-plugin';
import { PluginType } from '../types/PluginType.js';

interface WaveSurferProps<GPlug extends GenericPlugin> extends Omit<WaveSurferOptions, "plugins"> {
    children: React.ReactNode;
    plugins: PluginType<GPlug>[];
    onMount: (wavesurferRef: null | WaveSurferRef) => void;
}
declare function WaveSurfer<GPlug extends GenericPlugin>({ children, plugins, onMount, ...props }: WaveSurferProps<GPlug>): React.JSX.Element;

export { WaveSurfer as default };
export type { WaveSurferProps };
