import React from 'react';
import type { AIRequiredField } from './ai-enrich/AIEnrichSection';
export interface HighlightVideoSectionProps {
    /** Current highlight video URL */
    highlightVideoUrl?: string | null;
    /** Highlight video thumbnail URL */
    highlightVideoThumbnail?: string | null;
    /** Highlight video duration in milliseconds */
    highlightVideoDurationMs?: number | null;
    /** Highlight video source type */
    highlightVideoSource?: 'manual' | 'ai_generated' | null;
    /** Target duration in seconds for AI generation */
    targetDurationSeconds: number;
    /** Callback when target duration changes */
    onTargetDurationChange: (seconds: number) => void;
    /** Whether to skip subtitle burning */
    skipSubtitleBurning: boolean;
    /** Callback when skip subtitle option changes */
    onSkipSubtitleBurningChange: (skip: boolean) => void;
    /** Callback to trigger highlight generation */
    onGenerateHighlight: () => void;
    /** Whether highlight generation is in progress */
    isGenerating?: boolean;
    /** Progress percentage for generation (0-100) */
    generationProgress?: number;
    /** Status message during generation */
    generationStatusMessage?: string;
    /** Generation status (cancelled maps to error) */
    generationStatus?: 'idle' | 'loading' | 'success' | 'error';
    /** Whether highlight can be generated */
    canGenerateHighlight?: boolean;
    /** Required fields for generation */
    requiredFields?: AIRequiredField[];
    /** Message when generation is disabled */
    disabledMessage?: string;
    /** Whether a previous highlight exists */
    hasExistingHighlight?: boolean;
    /** Callback to cancel generation */
    onCancelGeneration?: () => void;
    /** Whether cancellation is in progress */
    isCancelling?: boolean;
    /** Callback to upload highlight video manually */
    onUploadHighlight: (file: File) => Promise<string>;
    /** Whether upload is in progress */
    isUploading?: boolean;
    /** Callback when highlight video is deleted */
    onDeleteHighlight?: () => void;
    /** Custom video preview component */
    VideoPreviewComponent?: React.ComponentType<{
        videoUrl: string;
        thumbnailUrl?: string;
        onDelete?: () => void;
    }>;
    /** Whether section is disabled (e.g., YouTube selected) */
    disabled?: boolean;
    /** Additional class name */
    className?: string;
}
/**
 * HighlightVideoSection - Unified component for highlight video generation and management
 *
 * This component provides a consistent UI for both CustomerInterview and ProductRelease entities,
 * including duration configuration, AI generation trigger, manual upload, and video preview.
 */
export declare function HighlightVideoSection({ highlightVideoUrl, highlightVideoThumbnail, highlightVideoDurationMs, highlightVideoSource, targetDurationSeconds, onTargetDurationChange, skipSubtitleBurning, onSkipSubtitleBurningChange, onGenerateHighlight, isGenerating, generationProgress, generationStatusMessage, generationStatus, canGenerateHighlight, requiredFields, disabledMessage, hasExistingHighlight, onCancelGeneration, isCancelling, onUploadHighlight, isUploading, onDeleteHighlight, VideoPreviewComponent, disabled, className, }: HighlightVideoSectionProps): React.JSX.Element;
export default HighlightVideoSection;
//# sourceMappingURL=highlight-video-section.d.ts.map