export interface Artist {
  id: string;
  name: string;
}

export interface Worktype {
  id: string;
  name: string;
}

export interface Publisher {
  id: string;
  name: string;
}

export interface Comic {
  id: string;
  title: string;
  completed: boolean;
}

export interface Volume {
  id: string;
  name: string;
}

export interface Issue {
  id: string;
  issue_number: string;
  in_stock: boolean;
  is_read: boolean;
  comic: Comic;
  volume: Volume;
}

export interface ComicWork {
  worktype: string;
}

export interface ComicWorktypeArtists {
  worktype: Worktype;
  artists: Artist[];
}

export interface PublisherDetails {
  id: string;
  name: string;
  parent_publisher: Publisher;
  imprints: Publisher[];
  comics: Comic[];
}

export interface ComicDetails {
  id: string;
  created: string;
  title: string;
  completed: boolean;
  current_order: boolean;
  weblink: string;
  publisher: Publisher;
  issues: Issue[];
  volumes: Volume[];
  works: ComicWorktypeArtists[];
}

export interface ArtistWorktypeComics {
  worktype: Worktype;
  comics: Comic[];
}

export interface ArtistWorktypeIssues {
  worktype: Worktype;
  issues: Issue[];
}
export interface ArtistDetails {
  id: string;
  name: string;
  weblink: string;
  comic_works: ArtistWorktypeComics[];
  issue_works: ArtistWorktypeIssues[];
}
