import { MaterialItem } from "./personal-info";

interface FileInfo {
    id: string;
    file_name: string;
    url: string;
    metadata: Record<string, any>;
}

interface VideoClip {
    clip_id: number;
    start_time: number;
    end_time: number;
    description: string;
    tags: string[];
    composition: string;
    shot_size: string;
    point_of_view: string;
    created_at: string;
}

interface VideoInfo {
    id: string;
    name: string | null;
    description: string | null;
    file_info: FileInfo;
    preview_file_info: FileInfo;
    user_id: string;
    created_at: string;
    updated_at: string;
}

export interface Video {
    video: VideoInfo;
    video_clips: VideoClip[];
}
export interface Content {
    text: string;
    image_material_infos?: MaterialItem[];
    video_material_infos?: Video[];
}
export interface Message {
    content: Content;
    role: 'User' | 'Assistant';  // 使用联合类型限制 role 的值
    timestamp: string;
    askAgain?: Array<{
        id: string;
        text: string;
    }>;
}


export interface Chat {
    created_at: string;
    session_id: string;
    title: string;
    latest_message: Message;
}