import { type HTMLAttributes } from 'react'; import { type VariantProps } from 'class-variance-authority'; declare const rootVariants: (props?: ({ size?: "sm" | "md" | "lg" | null | undefined; } & import("class-variance-authority/types").ClassProp) | undefined) => string; /** Curated imperative handle for agent / external automation. */ export interface AudioRecorderHandle { isRecording: () => boolean; getDuration: () => number; hasRecording: () => boolean; startRecording: () => Promise | void; stopRecording: () => void; discard: () => void; } export interface AudioRecorderProps extends Omit, 'children' | 'onError'>, VariantProps { /** Called on stop with the final blob + duration in ms. */ onRecordingComplete?: (blob: Blob, durationMs: number) => void; /** Called when recording is cancelled. */ onCancel?: () => void; /** Called when an error occurs. */ onError?: (error: 'permission-denied' | 'no-device' | 'unsupported' | 'capture-failed' | 'max-duration' | 'max-size') => void; /** * Auto-stop after this many milliseconds of active recording. Default * 30 minutes. Set `null` to disable. */ maxDurationMs?: number | null; /** * Auto-stop when the accumulated blob chunks exceed this many bytes. * Default 250 MB. Set `null` to disable. */ maxBytes?: number | null; } export declare const AudioRecorder: import("react").ForwardRefExoticComponent>; export {}; //# sourceMappingURL=audio-recorder.d.ts.map