import type { DateTime } from "./common.js"; import type { AnimeBasicData } from "./animes.js"; import type { ImageSet } from "./image.js"; import type { MangaBasicData } from "./manga.js"; import type { PersonBasic } from "./person.js"; import type { TopicId } from "./topic.js"; /** @interface */ export type RoleBased = T & { role: string; roles: string[]; }; export type CharacterId = number; export interface Character { id: CharacterId; name: string; russian: string; image: ImageSet; url: string; altname: string | null; japanese: string | null; description: string | null; description_html: string | null; description_source: string | null; favoured: boolean; thread_id: number; topic_id: TopicId; updated_at: DateTime; seyu: PersonBasic[]; animes: RoleBased[]; mangas: RoleBased[]; } /** @interface */ export type CharacterBasic = Pick;