import "./styles.css";
type AudioUploadProps = {
    name: string;
    action: string;
    fileName?: string;
    method?: string;
    acceptAudio?: string;
    dropAudioText?: string;
    selectAudioButtonText?: string;
    changeAudioButtonText?: string;
    onChange?: (url?: string) => void;
    fileResponseName?: string;
    label?: string;
    showAsterisk?: boolean;
    disabled?: boolean;
    defaultValue?: string;
};
/**
 * AudioUpload component - handles audio file upload with drag & drop functionality and server upload
 *
 * @param props - AudioUpload component properties
 * @param props.name - Required field name for form handling
 * @param props.action - Required server endpoint URL for file upload
 * @param props.fileName - Name of the file field in FormData. Default: "file"
 * @param props.method - HTTP method for upload request. Default: "POST"
 * @param props.acceptAudio - Audio file types to accept. Default: "audio/*"
 * @param props.dropAudioText - Text displayed in drop zone. Default: "Ou arraste e solte um arquivo de áudio aqui"
 * @param props.selectAudioButtonText - Text for file selection button. Default: "Selecionar arquivo de áudio"
 * @param props.changeAudioButtonText - Text for change file button. Default: "Trocar arquivo de áudio"
 * @param props.onChange - Callback function called after successful upload with the file URL
 * @param props.fileResponseName - Name of the URL field in server response. Default: "url"
 * @param props.label - Optional label text to display above the upload area
 * @param props.showAsterisk - Whether to show asterisk on label for required fields. Default: false
 * @param props.disabled - Whether the upload is disabled. Default: false
 * @param props.defaultValue - Default audio URL value
 *
 * @returns AudioUpload JSX element with drag & drop zone or audio preview
 *
 * @example
 * ```tsx
 * // Basic audio upload
 * <AudioUpload
 *   name="audio"
 *   action="/api/upload"
 * />
 *
 * // Audio upload with label and custom texts
 * <AudioUpload
 *   name="podcast"
 *   action="/api/upload/podcast"
 *   label="Upload Podcast"
 *   showAsterisk
 *   selectAudioButtonText="Choose Audio File"
 *   dropAudioText="Drop your audio file here"
 *   changeAudioButtonText="Change Audio"
 * />
 *
 * // Audio upload with callback and custom settings
 * <AudioUpload
 *   name="recording"
 *   action="/api/upload"
 *   label="Voice Recording"
 *   acceptAudio="audio/mp3,audio/wav"
 *   onChange={(url) => console.log('Uploaded:', url)}
 *   fileResponseName="audioUrl"
 *   fileName="recording"
 *   method="PUT"
 * />
 *
 * // Disabled audio upload with default value
 * <AudioUpload
 *   name="preview"
 *   action="/api/upload"
 *   disabled
 *   defaultValue="/path/to/audio.mp3"
 *   label="Audio Preview"
 * />
 * ```
 */
declare function AudioUpload(props: AudioUploadProps): import("react/jsx-runtime").JSX.Element;
export { AudioUpload };
//# sourceMappingURL=index.d.ts.map