export interface CaseLibraryFile {
  type: string
  type_name: string
  name: string
  url: string
  size?: string
  source_id?: string
  created_at: string
  updated_at: string
}

export interface CaseLibraryItem {
  id: string
  name: string
  description: string
  files: CaseLibraryFile[]
  operator: { id: string; name: string }
  created_at: string
  updated_at: string
}

export interface CaseAuthorizeCreateItem {
  experiment_id: string
  status: string
  name: string
  type: string
  url: string
  size: string
}

export interface BookAuthorizeCreateItem {
  experiment_id: string
  status: string
  name: string
  type: string
  url: string
  size: string
}

export interface VideoAuthorizeCreateItem {
  experiment_id: string
  status: string
  name: string
  source_id: string
}

export interface VideoUploadAuthParams {
  title: string
  file_name: string
}

export interface VideoUploadRefreshParams {
  source_id: string
}
