import { ReactNode } from 'react';
export interface HighlightVideoPreviewProps {
    /** Highlight video URL */
    highlightVideoUrl?: string | null;
    /** Video thumbnail URL */
    highlightVideoThumbnail?: string | null;
    /** Video duration in milliseconds */
    highlightVideoDurationMs?: number | null;
    /** Whether video was AI generated */
    highlightVideoSource?: 'manual' | 'ai_generated' | null;
    /** Handler to upload a new highlight video - receives File, should return uploaded URL */
    onUpload: (file: File) => Promise<string>;
    /** Handler to delete the highlight video */
    onDelete: () => Promise<void>;
    /** Whether upload is in progress */
    isUploading?: boolean;
    /** Custom label */
    label?: string;
    /** Custom empty state message */
    emptyMessage?: string;
    /** Upload progress component (optional) */
    uploadProgressComponent?: ReactNode;
    /** Video preview component - receives video data, should render the preview */
    renderVideoPreview: (props: {
        videoUrl: string;
        title: string;
        thumbnailUrl?: string;
        onDelete: () => Promise<void>;
    }) => ReactNode;
}
/**
 * HighlightVideoPreview - Unified component for highlight video preview and manual upload
 *
 * This component provides a consistent UI for both CustomerInterview and ProductRelease entities
 * for displaying and manually uploading highlight videos.
 */
export declare function HighlightVideoPreview({ highlightVideoUrl, highlightVideoThumbnail, highlightVideoDurationMs, highlightVideoSource, onUpload, onDelete, isUploading, label, emptyMessage, uploadProgressComponent, renderVideoPreview, }: HighlightVideoPreviewProps): import("react/jsx-runtime").JSX.Element;
export default HighlightVideoPreview;
//# sourceMappingURL=highlight-video-preview.d.ts.map