export interface PersonalCount {
    total: number,
    image_count: number,
    video_count: number,
    used_bytes: number,
    total_bytes: number
}

export interface FileInfo {
    id: string;
    file_name: string;
    url: string;
    metadata?: {
        duration?: string;
    };
}

export interface MaterialItem {
    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 type TaskStatus = 'Pending' | 'Processing' | 'Completed' | 'Failed';
export interface CreateItem {
    task_id: string;
    user_id: string;
    status: TaskStatus;
    created_at: string; // 可以使用更严格的日期时间类型如 Date 或 string
    started_at: string | null;
    completed_at: string | null;
    failure_reason: string | null;
    template_id: number;
    source_files: FileInfo[];
    output_video_file: FileInfo;
    // 如果有其他可能存在的字段
    [key: string]: any;
}


// 协议
export interface Policy {
    id: number,
    code: string,
    content: string,
    created_at: string,
    updated_at: string
}