import React from 'react';
export type VideoSourceType = 'youtube' | 'uploaded';
export interface VideoSourceSelectorProps {
    /** Current video source type selection */
    videoSourceType: VideoSourceType;
    /** Callback when video source type changes */
    onVideoSourceTypeChange: (type: VideoSourceType) => void;
    /** YouTube URL value */
    youtubeUrl: string;
    /** Callback when YouTube URL changes */
    onYoutubeUrlChange: (url: string) => void;
    /** Uploaded video URL value */
    mainVideoUrl: string;
    /** Callback when uploaded video URL changes */
    onMainVideoUrlChange: (url: string) => void;
    /** Callback to handle video upload - receives file and returns URL or throws error */
    onUploadVideo: (file: File, onProgress?: (progress: number) => void) => Promise<string>;
    /** Optional: Show AI generated badge on uploaded video */
    showAIBadge?: boolean;
    /** Optional: Whether the video was AI generated */
    isAIGenerated?: boolean;
    /** Optional: Custom label for YouTube section */
    youtubeLabel?: string;
    /** Optional: Custom label for upload section */
    uploadLabel?: string;
    /** Optional: Custom placeholder for YouTube URL input */
    youtubePlaceholder?: string;
    /** Optional: Custom helper text for YouTube section */
    youtubeHelperText?: string;
    /** Optional: Custom empty state text for upload section */
    uploadEmptyText?: string;
    /** Optional: Disable the component */
    disabled?: boolean;
    /** Optional: Custom video preview component */
    VideoPreviewComponent?: React.ComponentType<{
        videoUrl: string;
        onDelete: () => void;
        isAIGenerated?: boolean;
    }>;
    /** Optional: Upload progress bar component */
    UploadProgressComponent?: React.ComponentType<{
        progress: number;
        message: string;
        className?: string;
    }>;
    /** Optional: Section title */
    title?: string;
    /** Optional: Show section title */
    showTitle?: boolean;
    /** Optional: Additional class name */
    className?: string;
}
/**
 * VideoSourceSelector - Unified component for selecting between YouTube URL and uploaded video
 *
 * This component provides a toggle between YouTube URL input and video upload,
 * without clearing data when switching between options.
 */
export declare function VideoSourceSelector({ videoSourceType, onVideoSourceTypeChange, youtubeUrl, onYoutubeUrlChange, mainVideoUrl, onMainVideoUrlChange, onUploadVideo, showAIBadge, isAIGenerated, youtubeLabel, uploadLabel, youtubePlaceholder, youtubeHelperText, uploadEmptyText, disabled, VideoPreviewComponent, UploadProgressComponent, title, showTitle, className, }: VideoSourceSelectorProps): React.JSX.Element;
export default VideoSourceSelector;
//# sourceMappingURL=video-source-selector.d.ts.map