export type MicrophoneStatus = "idle" | "unsupported" | "prompting" | "granted" | "denied" | "error"; export interface UseMicrophoneReturn { stream: MediaStream | null; status: MicrophoneStatus; error: string | null; audioLevel: number; isRecording: boolean; recordedAudioBlob: Blob | null; recordedAudioUrl: string | null; requestMicrophone: () => Promise; stopMicrophone: () => void; startRecording: () => boolean; stopRecording: () => void; clearRecording: () => void; } /** * A React hook for accessing, monitoring, and recording from the user's microphone. * Provides real-time audio volume levels (throttled to 10fps for performance) and audio recording functionality. * * @param {MediaStreamConstraints} constraints - The media constraints to apply when requesting the microphone (e.g., `{ audio: true }`). * @returns {UseMicrophoneReturn} An object containing the audio stream, volume level, recording blobs, and control functions. */ export declare function useMicrophone(constraints?: MediaStreamConstraints): UseMicrophoneReturn; export default useMicrophone;