import { AudioHTMLAttributes, JSX } from "react";
import "./styles.css";
/**
 * @typedef {Object} AudioInformationProps
 * @property {number} currentTime - Current playback time in seconds
 * @property {number} totalTime - Total duration of the audio in seconds
 * @property {string} formattedCurrentTime - Formatted current time as MM:SS
 * @property {string} formattedTotalTime - Formatted total time as MM:SS
 */
type AudioInformationProps = {
    currentTime: number;
    totalTime: number;
    formattedCurrentTime: string;
    formattedTotalTime: string;
};
/**
 * @typedef {Object} AudioPlayerProps
 * @property {string} src - Audio source URL (required)
 * @property {boolean} [disabled] - Whether the audio player controls are disabled
 * @property {function(AudioInformationProps): void} [onPlayAudio] - Callback fired when audio starts playing
 * @property {function(AudioInformationProps): void} [onPauseAudio] - Callback fired when audio is paused
 */
type AudioPlayerProps = Omit<AudioHTMLAttributes<HTMLAudioElement>, "onEnded" | "src"> & {
    src: string;
    disabled?: boolean;
    onPlayAudio?: (props: AudioInformationProps) => void;
    onPauseAudio?: (props: AudioInformationProps) => void;
};
/**
 * AudioPlayer component
 *
 * A customizable audio player with play/pause controls, progress slider, and time display.
 * Provides callbacks for play and pause events with detailed audio information.
 *
 * @component
 *
 * @param {AudioPlayerProps} props - The component props
 *
 * @returns {JSX.Element} The rendered audio player component
 *
 * @requires lucide-react - For Play and Pause icons
 * @requires useSlider - For slider state management
 * @requires slider - For the progress slider component
 *
 * @example
 * // Basic usage
 * <AudioPlayer src="https://example.com/audio.mp3" />
 *
 * @example
 * // With callbacks
 * <AudioPlayer
 *   src="https://example.com/audio.mp3"
 *   onPlayAudio={(info) => console.log('Playing:', info.formattedCurrentTime)}
 *   onPauseAudio={(info) => console.log('Paused at:', info.formattedCurrentTime)}
 * />
 */
declare function AudioPlayer(props: AudioPlayerProps): JSX.Element;
export { AudioPlayer };
//# sourceMappingURL=index.d.ts.map