import * as react from 'react'; interface ScreenRecorderProps { /** Callback when recording starts */ onRecordingStart?: () => void; /** Callback when recording stops */ onRecordingStop?: (blob: Blob) => void; /** Callback when video is downloaded */ onDownload?: (blob: Blob) => void; /** Callback when upload button is clicked - receives the video blob for custom upload handling */ onUpload?: (blob: Blob) => void; /** Callback when an error occurs */ onError?: (error: Error) => void; /** Enable/disable microphone by default */ defaultMicEnabled?: boolean; /** Enable/disable camera (webcam) by default – records as PiP and a separate camera video file. Only used when showCamera is true. */ defaultCameraEnabled?: boolean; /** When false, camera toggle and camera recording are hidden; recording is screen (+ optional mic) only. Default true. */ showCamera?: boolean; /** Seconds to count down after user selects screen (3, 2, 1 then record). Set to 0 to record immediately after selection. */ countdownSeconds?: number; /** Show the main "Screen Recorder" header. Set to false when embedding in your own layout. */ showHeader?: boolean; /** Show the debug console panel. Set to true for development; keep false for a cleaner end-user UI. */ showConsole?: boolean; /** Custom class name for the container */ className?: string; } declare const ScreenRecorder: react.MemoExoticComponent>; export { ScreenRecorder }; export type { ScreenRecorderProps };