import type { PlatformRecord } from './platform';
import type { MSP } from './stack';
import type { UserProfile } from './user';
import type { CaseStudy } from './case-study';
export type { VideoTeaser, Speaker, VideoClip, TranscriptWord, SpeakerMapping, ExcludedRange } from './video-processing';
import type { VideoTeaser, Speaker, VideoClip, TranscriptWord, SpeakerMapping, ExcludedRange } from './video-processing';
export interface CustomerInterviewConfig {
    /** Target duration in seconds for AI-generated highlight video (default: 180) */
    highlight_target_duration_seconds?: number;
    /** Skip subtitle burning during highlight video generation */
    skipSubtitleBurning?: boolean;
}
export interface CustomerInterview {
    id: number;
    title: string;
    slug: string;
    video_summary: string | null;
    transcript: string | null;
    user_id: string | null;
    main_video_url: string | null;
    teasers: VideoTeaser[];
    highlight_video_url?: string | null;
    highlight_video_thumbnail?: string | null;
    highlight_video_duration_ms?: number | null;
    highlight_video_source?: 'manual' | 'ai_generated' | null;
    main_video_thumbnail?: string | null;
    case_study_id: number | null;
    seo_title: string | null;
    seo_description: string | null;
    seo_keywords: string | null;
    og_image_url: string | null;
    featured_image: string | null;
    status: 'draft' | 'completed';
    completed_at: string | null;
    author_id: string | null;
    ai_transcript_status?: 'pending' | 'processing' | 'completed' | 'failed';
    ai_summary_status?: 'pending' | 'processing' | 'completed' | 'failed';
    ai_clips_status?: 'pending' | 'processing' | 'completed' | 'failed';
    ai_processing_started_at?: string;
    ai_processing_completed_at?: string;
    ai_processing_error?: string;
    ai_transcript_raw?: string;
    ai_transcript_formatted?: string;
    ai_confidence_transcript?: number;
    ai_confidence_video_summary?: number;
    ai_summary_bullets?: string[];
    ai_summary_gist?: string;
    ai_speakers?: Speaker[];
    ai_video_clips?: VideoClip[];
    assemblyai_transcript_id?: string;
    twelvelabs_video_id?: string;
    transcript_words_data?: TranscriptWord[];
    srt_content?: string | null;
    incentive_excluded_ranges?: ExcludedRange[];
    speaker_mapping?: SpeakerMapping;
    /** Per-interview configuration options (JSONB) */
    config?: CustomerInterviewConfig;
    custom_instructions: string | null;
    created_at: string;
    updated_at: string;
    view_count: number;
    platforms?: PlatformRecord[];
    user?: UserProfile;
    msp?: MSP;
    author?: UserProfile;
    case_study?: CaseStudy;
    customer_interview_platforms?: Array<{
        platform_id: string;
        is_featured: boolean;
        featured_order: number | null;
    }>;
}
export interface CreateCustomerInterviewData {
    title: string;
    slug: string;
    video_summary?: string;
    transcript?: string;
    srt_content?: string | null;
    user_id?: string;
    main_video_url?: string;
    highlight_video_url?: string | null;
    main_video_thumbnail?: string | null;
    teasers?: VideoTeaser[];
    case_study_id?: number | null;
    seo_title?: string;
    seo_description?: string;
    seo_keywords?: string;
    og_image_url?: string;
    featured_image?: string;
    status: 'draft' | 'completed';
    completed_at?: string | null;
    author_id: string;
    platforms: string[];
    featured_platform?: string;
    config?: CustomerInterviewConfig;
    custom_instructions?: string | null;
}
export type UpdateCustomerInterviewData = Partial<CreateCustomerInterviewData>;
export interface CustomerInterviewFilters {
    platform?: string | 'all';
    industry?: string;
    company_size?: string;
    search?: string;
    featured?: boolean;
    status?: 'draft' | 'completed' | 'all';
    limit?: number;
    offset?: number;
    ids?: (number | string)[];
}
export interface CustomerInterviewListResponse {
    data: CustomerInterview[];
    count: number;
}
//# sourceMappingURL=customer-interview.d.ts.map