UNPKG

@tdanks2000/anilist-wrapper

Version:

A comprehensive and easy-to-use TypeScript wrapper for the Anilist GraphQL API (v2). Simplifies fetching anime/manga data and managing user lists in Node.js applications.

1,869 lines (1,866 loc) 120 kB
// Generated by dts-bundle-generator v9.5.1 import { GraphQLClient, RequestOptions } from 'graphql-request'; export type Maybe<T> = T | null; export type InputMaybe<T> = Maybe<T>; export type Exact<T extends { [key: string]: unknown; }> = { [K in keyof T]: T[K]; }; export type GraphQLClientRequestHeaders = RequestOptions["requestHeaders"]; /** All built-in and custom scalars, mapped to their actual values */ export type Scalars = { ID: { input: string; output: string; }; String: { input: string; output: string; }; Boolean: { input: boolean; output: boolean; }; Int: { input: number; output: number; }; Float: { input: number; output: number; }; CountryCode: { input: any; output: any; }; FuzzyDateInt: { input: any; output: any; }; Json: { input: any; output: any; }; }; declare enum CharacterRole { /** A background character in the media */ Background = "BACKGROUND", /** A primary character role in the media */ Main = "MAIN", /** A supporting character role in the media */ Supporting = "SUPPORTING" } declare enum ExternalLinkType { Info = "INFO", Social = "SOCIAL", Streaming = "STREAMING" } declare enum MediaFormat { /** Professionally published manga with more than one chapter */ Manga = "MANGA", /** Anime movies with a theatrical release */ Movie = "MOVIE", /** Short anime released as a music video */ Music = "MUSIC", /** Written books released as a series of light novels */ Novel = "NOVEL", /** (Original Net Animation) Anime that have been originally released online or are only available through streaming services. */ Ona = "ONA", /** Manga with just one chapter */ OneShot = "ONE_SHOT", /** (Original Video Animation) Anime that have been released directly on DVD/Blu-ray without originally going through a theatrical release or television broadcast */ Ova = "OVA", /** Special episodes that have been included in DVD/Blu-ray releases, picture dramas, pilots, etc */ Special = "SPECIAL", /** Anime broadcast on television */ Tv = "TV", /** Anime which are under 15 minutes in length and broadcast on television */ TvShort = "TV_SHORT" } declare enum MediaListStatus { /** Finished watching/reading */ Completed = "COMPLETED", /** Currently watching/reading */ Current = "CURRENT", /** Stopped watching/reading before completing */ Dropped = "DROPPED", /** Paused watching/reading */ Paused = "PAUSED", /** Planning to watch/read */ Planning = "PLANNING", /** Re-watching/reading */ Repeating = "REPEATING" } declare enum MediaRelation { /** An adaption of this media into a different format */ Adaptation = "ADAPTATION", /** An alternative version of the same media */ Alternative = "ALTERNATIVE", /** Shares at least 1 character */ Character = "CHARACTER", /** Version 2 only. */ Compilation = "COMPILATION", /** Version 2 only. */ Contains = "CONTAINS", /** Other */ Other = "OTHER", /** The media a side story is from */ Parent = "PARENT", /** Released before the relation */ Prequel = "PREQUEL", /** Released after the relation */ Sequel = "SEQUEL", /** A side story of the parent media */ SideStory = "SIDE_STORY", /** Version 2 only. The source material the media was adapted from */ Source = "SOURCE", /** An alternative version of the media with a different primary focus */ SpinOff = "SPIN_OFF", /** A shortened and summarized version */ Summary = "SUMMARY" } declare enum MediaSeason { /** Months September to November */ Fall = "FALL", /** Months March to May */ Spring = "SPRING", /** Months June to August */ Summer = "SUMMER", /** Months December to February */ Winter = "WINTER" } declare enum MediaSource$1 { /** Version 2+ only. Japanese Anime */ Anime = "ANIME", /** Version 3 only. Comics excluding manga */ Comic = "COMIC", /** Version 2+ only. Self-published works */ Doujinshi = "DOUJINSHI", /** Version 3 only. Games excluding video games */ Game = "GAME", /** Written work published in volumes */ LightNovel = "LIGHT_NOVEL", /** Version 3 only. Live action media such as movies or TV show */ LiveAction = "LIVE_ACTION", /** Asian comic book */ Manga = "MANGA", /** Version 3 only. Multimedia project */ MultimediaProject = "MULTIMEDIA_PROJECT", /** Version 2+ only. Written works not published in volumes */ Novel = "NOVEL", /** An original production not based of another work */ Original = "ORIGINAL", /** Other */ Other = "OTHER", /** Version 3 only. Picture book */ PictureBook = "PICTURE_BOOK", /** Video game */ VideoGame = "VIDEO_GAME", /** Video game driven primary by text and narrative */ VisualNovel = "VISUAL_NOVEL", /** Version 3 only. Written works published online */ WebNovel = "WEB_NOVEL" } declare enum MediaStatus { /** Ended before the work could be finished */ Cancelled = "CANCELLED", /** Has completed and is no longer being released */ Finished = "FINISHED", /** Version 2 only. Is currently paused from releasing and will resume at a later date */ Hiatus = "HIATUS", /** To be released at a later date */ NotYetReleased = "NOT_YET_RELEASED", /** Currently releasing */ Releasing = "RELEASING" } declare enum MediaType { /** Japanese Anime */ Anime = "ANIME", /** Asian comic */ Manga = "MANGA" } declare enum ModRole { /** An AniList administrator */ Admin = "ADMIN", /** An anime data moderator */ AnimeData = "ANIME_DATA", /** A character data moderator */ CharacterData = "CHARACTER_DATA", /** A community moderator */ Community = "COMMUNITY", /** An AniList developer */ Developer = "DEVELOPER", /** A discord community moderator */ DiscordCommunity = "DISCORD_COMMUNITY", /** A lead anime data moderator */ LeadAnimeData = "LEAD_ANIME_DATA", /** A lead community moderator */ LeadCommunity = "LEAD_COMMUNITY", /** A head developer of AniList */ LeadDeveloper = "LEAD_DEVELOPER", /** A lead manga data moderator */ LeadMangaData = "LEAD_MANGA_DATA", /** A lead social media moderator */ LeadSocialMedia = "LEAD_SOCIAL_MEDIA", /** A manga data moderator */ MangaData = "MANGA_DATA", /** A retired moderator */ Retired = "RETIRED", /** A social media moderator */ SocialMedia = "SOCIAL_MEDIA", /** A staff data moderator */ StaffData = "STAFF_DATA" } declare enum NotificationType { /** A user has liked your activity */ ActivityLike = "ACTIVITY_LIKE", /** A user has mentioned you in their activity */ ActivityMention = "ACTIVITY_MENTION", /** A user has sent you message */ ActivityMessage = "ACTIVITY_MESSAGE", /** A user has replied to your activity */ ActivityReply = "ACTIVITY_REPLY", /** A user has liked your activity reply */ ActivityReplyLike = "ACTIVITY_REPLY_LIKE", /** A user has replied to activity you have also replied to */ ActivityReplySubscribed = "ACTIVITY_REPLY_SUBSCRIBED", /** An anime you are currently watching has aired */ Airing = "AIRING", /** A user has followed you */ Following = "FOLLOWING", /** An anime or manga has had a data change that affects how a user may track it in their lists */ MediaDataChange = "MEDIA_DATA_CHANGE", /** An anime or manga on the user's list has been deleted from the site */ MediaDeletion = "MEDIA_DELETION", /** Anime or manga entries on the user's list have been merged into a single entry */ MediaMerge = "MEDIA_MERGE", /** A new anime or manga has been added to the site where its related media is on the user's list */ RelatedMediaAddition = "RELATED_MEDIA_ADDITION", /** A user has liked your forum comment */ ThreadCommentLike = "THREAD_COMMENT_LIKE", /** A user has mentioned you in a forum comment */ ThreadCommentMention = "THREAD_COMMENT_MENTION", /** A user has replied to your forum comment */ ThreadCommentReply = "THREAD_COMMENT_REPLY", /** A user has liked your forum thread */ ThreadLike = "THREAD_LIKE", /** A user has commented in one of your subscribed forum threads */ ThreadSubscribed = "THREAD_SUBSCRIBED" } declare enum ScoreFormat { /** An integer from 0-3. Should be represented in Smileys. 0 => No Score, 1 => :(, 2 => :|, 3 => :) */ Point_3 = "POINT_3", /** An integer from 0-5. Should be represented in Stars */ Point_5 = "POINT_5", /** An integer from 0-10 */ Point_10 = "POINT_10", /** A float from 0-10 with 1 decimal place */ Point_10Decimal = "POINT_10_DECIMAL", /** An integer from 0-100 */ Point_100 = "POINT_100" } declare enum UserStaffNameLanguage { /** The staff or character's name in their native language */ Native = "NATIVE", /** The romanization of the staff or character's native name */ Romaji = "ROMAJI", /** The romanization of the staff or character's native name, with western name ordering */ RomajiWestern = "ROMAJI_WESTERN" } declare enum UserTitleLanguage { /** The official english title */ English = "ENGLISH", /** The official english title, stylised by media creator */ EnglishStylised = "ENGLISH_STYLISED", /** Official title in it's native language */ Native = "NATIVE", /** Official title in it's native language, stylised by media creator */ NativeStylised = "NATIVE_STYLISED", /** The romanization of the native language title */ Romaji = "ROMAJI", /** The romanization of the native language title, stylised by media creator */ RomajiStylised = "ROMAJI_STYLISED" } export type GetAnimeByIdQueryVariables = Exact<{ id: InputMaybe<Scalars["Int"]["input"]>; }>; export type GetAnimeByIdQuery = { Media: { id: number; idMal: number | null; bannerImage: string | null; description: string | null; format: MediaFormat | null; status: MediaStatus | null; type: MediaType | null; episodes: number | null; chapters: number | null; volumes: number | null; duration: number | null; genres: Array<string | null> | null; averageScore: number | null; meanScore: number | null; popularity: number | null; favourites: number | null; trending: number | null; source: MediaSource$1 | null; countryOfOrigin: any | null; isAdult: boolean | null; isLicensed: boolean | null; isLocked: boolean | null; isFavourite: boolean; isFavouriteBlocked: boolean; hashtag: string | null; synonyms: Array<string | null> | null; season: MediaSeason | null; seasonYear: number | null; siteUrl: string | null; updatedAt: number | null; autoCreateForumThread: boolean | null; isRecommendationBlocked: boolean | null; isReviewBlocked: boolean | null; modNotes: string | null; characters: { edges: Array<{ role: CharacterRole | null; node: { id: number; description: string | null; gender: string | null; age: string | null; bloodType: string | null; isFavourite: boolean; isFavouriteBlocked: boolean; favourites: number | null; siteUrl: string | null; name: { alternative: Array<string | null> | null; alternativeSpoiler: Array<string | null> | null; first: string | null; full: string | null; last: string | null; middle: string | null; native: string | null; userPreferred: string | null; } | null; image: { large: string | null; medium: string | null; } | null; dateOfBirth: { year: number | null; month: number | null; day: number | null; } | null; } | null; } | null> | null; } | null; staff: { edges: Array<{ role: string | null; node: { id: number; description: string | null; primaryOccupations: Array<string | null> | null; gender: string | null; bloodType: string | null; homeTown: string | null; languageV2: string | null; yearsActive: Array<number | null> | null; favourites: number | null; isFavourite: boolean; isFavouriteBlocked: boolean; age: number | null; siteUrl: string | null; name: { full: string | null; native: string | null; first: string | null; middle: string | null; last: string | null; userPreferred: string | null; } | null; image: { large: string | null; medium: string | null; } | null; dateOfBirth: { year: number | null; month: number | null; day: number | null; } | null; dateOfDeath: { year: number | null; month: number | null; day: number | null; } | null; } | null; } | null> | null; } | null; studios: { edges: Array<{ node: { id: number; name: string; isAnimationStudio: boolean; favourites: number | null; isFavourite: boolean; siteUrl: string | null; media: { pageInfo: { total: number | null; perPage: number | null; currentPage: number | null; lastPage: number | null; hasNextPage: boolean | null; } | null; } | null; } | null; } | null> | null; } | null; nextAiringEpisode: { id: number; airingAt: number; timeUntilAiring: number; episode: number; mediaId: number; } | null; tags: Array<{ id: number; name: string; description: string | null; category: string | null; rank: number | null; } | null> | null; externalLinks: Array<{ id: number; url: string | null; site: string; siteId: number | null; type: ExternalLinkType | null; } | null> | null; title: { romaji: string | null; english: string | null; native: string | null; userPreferred: string | null; } | null; coverImage: { large: string | null; medium: string | null; extraLarge: string | null; color: string | null; } | null; startDate: { year: number | null; month: number | null; day: number | null; } | null; endDate: { year: number | null; month: number | null; day: number | null; } | null; } | null; }; export type GetAnimeByTitleQueryVariables = Exact<{ title: InputMaybe<Scalars["String"]["input"]>; }>; export type GetAnimeByTitleQuery = { Page: { media: Array<{ id: number; idMal: number | null; bannerImage: string | null; description: string | null; format: MediaFormat | null; status: MediaStatus | null; type: MediaType | null; episodes: number | null; chapters: number | null; volumes: number | null; duration: number | null; genres: Array<string | null> | null; averageScore: number | null; meanScore: number | null; popularity: number | null; favourites: number | null; trending: number | null; source: MediaSource$1 | null; countryOfOrigin: any | null; isAdult: boolean | null; isLicensed: boolean | null; isLocked: boolean | null; isFavourite: boolean; isFavouriteBlocked: boolean; hashtag: string | null; synonyms: Array<string | null> | null; season: MediaSeason | null; seasonYear: number | null; siteUrl: string | null; updatedAt: number | null; autoCreateForumThread: boolean | null; isRecommendationBlocked: boolean | null; isReviewBlocked: boolean | null; modNotes: string | null; nextAiringEpisode: { id: number; airingAt: number; timeUntilAiring: number; episode: number; mediaId: number; } | null; tags: Array<{ id: number; name: string; description: string | null; category: string | null; rank: number | null; } | null> | null; externalLinks: Array<{ id: number; url: string | null; site: string; siteId: number | null; type: ExternalLinkType | null; } | null> | null; title: { romaji: string | null; english: string | null; native: string | null; userPreferred: string | null; } | null; coverImage: { large: string | null; medium: string | null; extraLarge: string | null; color: string | null; } | null; startDate: { year: number | null; month: number | null; day: number | null; } | null; endDate: { year: number | null; month: number | null; day: number | null; } | null; } | null> | null; } | null; }; export type GetAnimeCharactersQueryVariables = Exact<{ id: InputMaybe<Scalars["Int"]["input"]>; }>; export type GetAnimeCharactersQuery = { Media: { characters: { edges: Array<{ role: CharacterRole | null; node: { id: number; description: string | null; gender: string | null; age: string | null; bloodType: string | null; isFavourite: boolean; isFavouriteBlocked: boolean; favourites: number | null; siteUrl: string | null; name: { alternative: Array<string | null> | null; alternativeSpoiler: Array<string | null> | null; first: string | null; full: string | null; last: string | null; middle: string | null; native: string | null; userPreferred: string | null; } | null; image: { large: string | null; medium: string | null; } | null; dateOfBirth: { year: number | null; month: number | null; day: number | null; } | null; } | null; } | null> | null; } | null; } | null; }; export type GetAnimeListByGenreQueryVariables = Exact<{ genre: Scalars["String"]["input"]; page?: InputMaybe<Scalars["Int"]["input"]>; perPage?: InputMaybe<Scalars["Int"]["input"]>; }>; export type GetAnimeListByGenreQuery = { Page: { media: Array<{ id: number; idMal: number | null; bannerImage: string | null; description: string | null; format: MediaFormat | null; status: MediaStatus | null; type: MediaType | null; episodes: number | null; chapters: number | null; volumes: number | null; duration: number | null; genres: Array<string | null> | null; averageScore: number | null; meanScore: number | null; popularity: number | null; favourites: number | null; trending: number | null; source: MediaSource$1 | null; countryOfOrigin: any | null; isAdult: boolean | null; isLicensed: boolean | null; isLocked: boolean | null; isFavourite: boolean; isFavouriteBlocked: boolean; hashtag: string | null; synonyms: Array<string | null> | null; season: MediaSeason | null; seasonYear: number | null; siteUrl: string | null; updatedAt: number | null; autoCreateForumThread: boolean | null; isRecommendationBlocked: boolean | null; isReviewBlocked: boolean | null; modNotes: string | null; nextAiringEpisode: { id: number; airingAt: number; timeUntilAiring: number; episode: number; mediaId: number; } | null; tags: Array<{ id: number; name: string; description: string | null; category: string | null; rank: number | null; } | null> | null; externalLinks: Array<{ id: number; url: string | null; site: string; siteId: number | null; type: ExternalLinkType | null; } | null> | null; title: { romaji: string | null; english: string | null; native: string | null; userPreferred: string | null; } | null; coverImage: { large: string | null; medium: string | null; extraLarge: string | null; color: string | null; } | null; startDate: { year: number | null; month: number | null; day: number | null; } | null; endDate: { year: number | null; month: number | null; day: number | null; } | null; } | null> | null; } | null; }; export type GetAnimePopularQueryVariables = Exact<{ page?: InputMaybe<Scalars["Int"]["input"]>; perPage?: InputMaybe<Scalars["Int"]["input"]>; }>; export type GetAnimePopularQuery = { Page: { media: Array<{ id: number; idMal: number | null; bannerImage: string | null; description: string | null; format: MediaFormat | null; status: MediaStatus | null; type: MediaType | null; episodes: number | null; chapters: number | null; volumes: number | null; duration: number | null; genres: Array<string | null> | null; averageScore: number | null; meanScore: number | null; popularity: number | null; favourites: number | null; trending: number | null; source: MediaSource$1 | null; countryOfOrigin: any | null; isAdult: boolean | null; isLicensed: boolean | null; isLocked: boolean | null; isFavourite: boolean; isFavouriteBlocked: boolean; hashtag: string | null; synonyms: Array<string | null> | null; season: MediaSeason | null; seasonYear: number | null; siteUrl: string | null; updatedAt: number | null; autoCreateForumThread: boolean | null; isRecommendationBlocked: boolean | null; isReviewBlocked: boolean | null; modNotes: string | null; nextAiringEpisode: { id: number; airingAt: number; timeUntilAiring: number; episode: number; mediaId: number; } | null; tags: Array<{ id: number; name: string; description: string | null; category: string | null; rank: number | null; } | null> | null; externalLinks: Array<{ id: number; url: string | null; site: string; siteId: number | null; type: ExternalLinkType | null; } | null> | null; title: { romaji: string | null; english: string | null; native: string | null; userPreferred: string | null; } | null; coverImage: { large: string | null; medium: string | null; extraLarge: string | null; color: string | null; } | null; startDate: { year: number | null; month: number | null; day: number | null; } | null; endDate: { year: number | null; month: number | null; day: number | null; } | null; } | null> | null; } | null; }; export type GetAnimeRecommendationsQueryVariables = Exact<{ id: InputMaybe<Scalars["Int"]["input"]>; }>; export type GetAnimeRecommendationsQuery = { Media: { recommendations: { edges: Array<{ node: { media: { id: number; idMal: number | null; bannerImage: string | null; description: string | null; format: MediaFormat | null; status: MediaStatus | null; type: MediaType | null; episodes: number | null; chapters: number | null; volumes: number | null; duration: number | null; genres: Array<string | null> | null; averageScore: number | null; meanScore: number | null; popularity: number | null; favourites: number | null; trending: number | null; source: MediaSource$1 | null; countryOfOrigin: any | null; isAdult: boolean | null; isLicensed: boolean | null; isLocked: boolean | null; isFavourite: boolean; isFavouriteBlocked: boolean; hashtag: string | null; synonyms: Array<string | null> | null; season: MediaSeason | null; seasonYear: number | null; siteUrl: string | null; updatedAt: number | null; autoCreateForumThread: boolean | null; isRecommendationBlocked: boolean | null; isReviewBlocked: boolean | null; modNotes: string | null; nextAiringEpisode: { id: number; airingAt: number; timeUntilAiring: number; episode: number; mediaId: number; } | null; tags: Array<{ id: number; name: string; description: string | null; category: string | null; rank: number | null; } | null> | null; externalLinks: Array<{ id: number; url: string | null; site: string; siteId: number | null; type: ExternalLinkType | null; } | null> | null; title: { romaji: string | null; english: string | null; native: string | null; userPreferred: string | null; } | null; coverImage: { large: string | null; medium: string | null; extraLarge: string | null; color: string | null; } | null; startDate: { year: number | null; month: number | null; day: number | null; } | null; endDate: { year: number | null; month: number | null; day: number | null; } | null; } | null; } | null; } | null> | null; } | null; } | null; }; export type GetAnimeRelationsQueryVariables = Exact<{ id: InputMaybe<Scalars["Int"]["input"]>; }>; export type GetAnimeRelationsQuery = { Media: { relations: { edges: Array<{ relationType: MediaRelation | null; node: { id: number; idMal: number | null; bannerImage: string | null; description: string | null; format: MediaFormat | null; status: MediaStatus | null; type: MediaType | null; episodes: number | null; chapters: number | null; volumes: number | null; duration: number | null; genres: Array<string | null> | null; averageScore: number | null; meanScore: number | null; popularity: number | null; favourites: number | null; trending: number | null; source: MediaSource$1 | null; countryOfOrigin: any | null; isAdult: boolean | null; isLicensed: boolean | null; isLocked: boolean | null; isFavourite: boolean; isFavouriteBlocked: boolean; hashtag: string | null; synonyms: Array<string | null> | null; season: MediaSeason | null; seasonYear: number | null; siteUrl: string | null; updatedAt: number | null; autoCreateForumThread: boolean | null; isRecommendationBlocked: boolean | null; isReviewBlocked: boolean | null; modNotes: string | null; nextAiringEpisode: { id: number; airingAt: number; timeUntilAiring: number; episode: number; mediaId: number; } | null; tags: Array<{ id: number; name: string; description: string | null; category: string | null; rank: number | null; } | null> | null; externalLinks: Array<{ id: number; url: string | null; site: string; siteId: number | null; type: ExternalLinkType | null; } | null> | null; title: { romaji: string | null; english: string | null; native: string | null; userPreferred: string | null; } | null; coverImage: { large: string | null; medium: string | null; extraLarge: string | null; color: string | null; } | null; startDate: { year: number | null; month: number | null; day: number | null; } | null; endDate: { year: number | null; month: number | null; day: number | null; } | null; } | null; } | null> | null; } | null; } | null; }; export type GetAnimeStaffQueryVariables = Exact<{ id: InputMaybe<Scalars["Int"]["input"]>; }>; export type GetAnimeStaffQuery = { Media: { staff: { edges: Array<{ role: string | null; node: { id: number; description: string | null; primaryOccupations: Array<string | null> | null; gender: string | null; bloodType: string | null; homeTown: string | null; languageV2: string | null; yearsActive: Array<number | null> | null; favourites: number | null; isFavourite: boolean; isFavouriteBlocked: boolean; age: number | null; siteUrl: string | null; name: { full: string | null; native: string | null; first: string | null; middle: string | null; last: string | null; userPreferred: string | null; } | null; image: { large: string | null; medium: string | null; } | null; dateOfBirth: { year: number | null; month: number | null; day: number | null; } | null; dateOfDeath: { year: number | null; month: number | null; day: number | null; } | null; } | null; } | null> | null; } | null; } | null; }; export type GetAnimeTrendingQueryVariables = Exact<{ page?: InputMaybe<Scalars["Int"]["input"]>; perPage?: InputMaybe<Scalars["Int"]["input"]>; }>; export type GetAnimeTrendingQuery = { Page: { media: Array<{ id: number; idMal: number | null; bannerImage: string | null; description: string | null; format: MediaFormat | null; status: MediaStatus | null; type: MediaType | null; episodes: number | null; chapters: number | null; volumes: number | null; duration: number | null; genres: Array<string | null> | null; averageScore: number | null; meanScore: number | null; popularity: number | null; favourites: number | null; trending: number | null; source: MediaSource$1 | null; countryOfOrigin: any | null; isAdult: boolean | null; isLicensed: boolean | null; isLocked: boolean | null; isFavourite: boolean; isFavouriteBlocked: boolean; hashtag: string | null; synonyms: Array<string | null> | null; season: MediaSeason | null; seasonYear: number | null; siteUrl: string | null; updatedAt: number | null; autoCreateForumThread: boolean | null; isRecommendationBlocked: boolean | null; isReviewBlocked: boolean | null; modNotes: string | null; nextAiringEpisode: { id: number; airingAt: number; timeUntilAiring: number; episode: number; mediaId: number; } | null; tags: Array<{ id: number; name: string; description: string | null; category: string | null; rank: number | null; } | null> | null; externalLinks: Array<{ id: number; url: string | null; site: string; siteId: number | null; type: ExternalLinkType | null; } | null> | null; title: { romaji: string | null; english: string | null; native: string | null; userPreferred: string | null; } | null; coverImage: { large: string | null; medium: string | null; extraLarge: string | null; color: string | null; } | null; startDate: { year: number | null; month: number | null; day: number | null; } | null; endDate: { year: number | null; month: number | null; day: number | null; } | null; } | null> | null; } | null; }; export type SearchAnimeQueryVariables = Exact<{ query: InputMaybe<Scalars["String"]["input"]>; page: InputMaybe<Scalars["Int"]["input"]>; perPage: InputMaybe<Scalars["Int"]["input"]>; }>; export type SearchAnimeQuery = { Page: { media: Array<{ id: number; idMal: number | null; bannerImage: string | null; description: string | null; format: MediaFormat | null; status: MediaStatus | null; type: MediaType | null; episodes: number | null; chapters: number | null; volumes: number | null; duration: number | null; genres: Array<string | null> | null; averageScore: number | null; meanScore: number | null; popularity: number | null; favourites: number | null; trending: number | null; source: MediaSource$1 | null; countryOfOrigin: any | null; isAdult: boolean | null; isLicensed: boolean | null; isLocked: boolean | null; isFavourite: boolean; isFavouriteBlocked: boolean; hashtag: string | null; synonyms: Array<string | null> | null; season: MediaSeason | null; seasonYear: number | null; siteUrl: string | null; updatedAt: number | null; autoCreateForumThread: boolean | null; isRecommendationBlocked: boolean | null; isReviewBlocked: boolean | null; modNotes: string | null; nextAiringEpisode: { id: number; airingAt: number; timeUntilAiring: number; episode: number; mediaId: number; } | null; tags: Array<{ id: number; name: string; description: string | null; category: string | null; rank: number | null; } | null> | null; externalLinks: Array<{ id: number; url: string | null; site: string; siteId: number | null; type: ExternalLinkType | null; } | null> | null; title: { romaji: string | null; english: string | null; native: string | null; userPreferred: string | null; } | null; coverImage: { large: string | null; medium: string | null; extraLarge: string | null; color: string | null; } | null; startDate: { year: number | null; month: number | null; day: number | null; } | null; endDate: { year: number | null; month: number | null; day: number | null; } | null; } | null> | null; } | null; }; export type CharactersBirthdayTodayQueryVariables = Exact<{ page: InputMaybe<Scalars["Int"]["input"]>; perPage: InputMaybe<Scalars["Int"]["input"]>; }>; export type CharactersBirthdayTodayQuery = { Page: { characters: Array<{ id: number; description: string | null; gender: string | null; age: string | null; bloodType: string | null; isFavourite: boolean; isFavouriteBlocked: boolean; favourites: number | null; siteUrl: string | null; name: { alternative: Array<string | null> | null; alternativeSpoiler: Array<string | null> | null; first: string | null; full: string | null; last: string | null; middle: string | null; native: string | null; userPreferred: string | null; } | null; image: { large: string | null; medium: string | null; } | null; dateOfBirth: { year: number | null; month: number | null; day: number | null; } | null; } | null> | null; } | null; }; export type GetCharacterByIdQueryVariables = Exact<{ id: Scalars["Int"]["input"]; }>; export type GetCharacterByIdQuery = { Character: { isFavourite: boolean; favourites: number | null; id: number; description: string | null; gender: string | null; age: string | null; bloodType: string | null; isFavouriteBlocked: boolean; siteUrl: string | null; media: { nodes: Array<{ id: number; type: MediaType | null; title: { romaji: string | null; english: string | null; native: string | null; userPreferred: string | null; } | null; } | null> | null; } | null; name: { alternative: Array<string | null> | null; alternativeSpoiler: Array<string | null> | null; first: string | null; full: string | null; last: string | null; middle: string | null; native: string | null; userPreferred: string | null; } | null; image: { large: string | null; medium: string | null; } | null; dateOfBirth: { year: number | null; month: number | null; day: number | null; } | null; } | null; }; export type ToggleFavoriteCharacterMutationVariables = Exact<{ charID: InputMaybe<Scalars["Int"]["input"]>; }>; export type ToggleFavoriteCharacterMutation = { ToggleFavourite: { characters: { nodes: Array<{ id: number; } | null> | null; } | null; } | null; }; export type GetMangaByIdQueryVariables = Exact<{ id: InputMaybe<Scalars["Int"]["input"]>; }>; export type GetMangaByIdQuery = { Media: { id: number; idMal: number | null; bannerImage: string | null; description: string | null; format: MediaFormat | null; status: MediaStatus | null; type: MediaType | null; episodes: number | null; chapters: number | null; volumes: number | null; duration: number | null; genres: Array<string | null> | null; averageScore: number | null; meanScore: number | null; popularity: number | null; favourites: number | null; trending: number | null; source: MediaSource$1 | null; countryOfOrigin: any | null; isAdult: boolean | null; isLicensed: boolean | null; isLocked: boolean | null; isFavourite: boolean; isFavouriteBlocked: boolean; hashtag: string | null; synonyms: Array<string | null> | null; season: MediaSeason | null; seasonYear: number | null; siteUrl: string | null; updatedAt: number | null; autoCreateForumThread: boolean | null; isRecommendationBlocked: boolean | null; isReviewBlocked: boolean | null; modNotes: string | null; nextAiringEpisode: { id: number; airingAt: number; timeUntilAiring: number; episode: number; mediaId: number; } | null; tags: Array<{ id: number; name: string; description: string | null; category: string | null; rank: number | null; } | null> | null; externalLinks: Array<{ id: number; url: string | null; site: string; siteId: number | null; type: ExternalLinkType | null; } | null> | null; title: { romaji: string | null; english: string | null; native: string | null; userPreferred: string | null; } | null; coverImage: { large: string | null; medium: string | null; extraLarge: string | null; color: string | null; } | null; startDate: { year: number | null; month: number | null; day: number | null; } | null; endDate: { year: number | null; month: number | null; day: number | null; } | null; } | null; }; export type GetMangaByTitleQueryVariables = Exact<{ title: Scalars["String"]["input"]; }>; export type GetMangaByTitleQuery = { Page: { media: Array<{ id: number; idMal: number | null; bannerImage: string | null; description: string | null; format: MediaFormat | null; status: MediaStatus | null; type: MediaType | null; episodes: number | null; chapters: number | null; volumes: number | null; duration: number | null; genres: Array<string | null> | null; averageScore: number | null; meanScore: number | null; popularity: number | null; favourites: number | null; trending: number | null; source: MediaSource$1 | null; countryOfOrigin: any | null; isAdult: boolean | null; isLicensed: boolean | null; isLocked: boolean | null; isFavourite: boolean; isFavouriteBlocked: boolean; hashtag: string | null; synonyms: Array<string | null> | null; season: MediaSeason | null; seasonYear: number | null; siteUrl: string | null; updatedAt: number | null; autoCreateForumThread: boolean | null; isRecommendationBlocked: boolean | null; isReviewBlocked: boolean | null; modNotes: string | null; nextAiringEpisode: { id: number; airingAt: number; timeUntilAiring: number; episode: number; mediaId: number; } | null; tags: Array<{ id: number; name: string; description: string | null; category: string | null; rank: number | null; } | null> | null; externalLinks: Array<{ id: number; url: string | null; site: string; siteId: number | null; type: ExternalLinkType | null; } | null> | null; title: { romaji: string | null; english: string | null; native: string | null; userPreferred: string | null; } | null; coverImage: { large: string | null; medium: string | null; extraLarge: string | null; color: string | null; } | null; startDate: { year: number | null; month: number | null; day: number | null; } | null; endDate: { year: number | null; month: number | null; day: number | null; } | null; } | null> | null; } | null; }; export type GetMangaCharactersQueryVariables = Exact<{ id: InputMaybe<Scalars["Int"]["input"]>; }>; export type GetMangaCharactersQuery = { Media: { characters: { edges: Array<{ role: CharacterRole | null; node: { id: number; description: string | null; gender: string | null; age: string | null; bloodType: string | null; isFavourite: boolean; isFavouriteBlocked: boolean; favourites: number | null; siteUrl: string | null; name: { alternative: Array<string | null> | null; alternativeSpoiler: Array<string | null> | null; first: string | null; full: string | null; last: string | null; middle: string | null; native: string | null; userPreferred: string | null; } | null; image: { large: string | null; medium: string | null; } | null; dateOfBirth: { year: number | null; month: number | null; day: number | null; } | null; } | null; } | null> | null; } | null; } | null; }; export type GetMangaListByGenreQueryVariables = Exact<{ genre: InputMaybe<Scalars["String"]["input"]>; page?: InputMaybe<Scalars["Int"]["input"]>; perPage?: InputMaybe<Scalars["Int"]["input"]>; }>; export type GetMangaListByGenreQuery = { Page: { media: Array<{ id: number; idMal: number | null; bannerImage: string | null; description: string | null; format: MediaFormat | null; status: MediaStatus | null; type: MediaType | null; episodes: number | null; chapters: number | null; volumes: number | null; duration: number | null; genres: Array<string | null> | null; averageScore: number | null; meanScore: number | null; popularity: number | null; favourites: number | null; trending: number | null; source: MediaSource$1 | null; countryOfOrigin: any | null; isAdult: boolean | null; isLicensed: boolean | null; isLocked: boolean | null; isFavourite: boolean; isFavouriteBlocked: boolean; hashtag: string | null; synonyms: Array<string | null> | null; season: MediaSeason | null; seasonYear: number | null; siteUrl: string | null; updatedAt: number | null; autoCreateForumThread: boolean | null; isRecommendationBlocked: boolean | null; isReviewBlocked: boolean | null; modNotes: string | null; nextAiringEpisode: { id: number; airingAt: number; timeUntilAiring: number; episode: number; mediaId: number; } | null; tags: Array<{ id: number; name: string; description: string | null; category: string | null; rank: number | null; } | null> | null; externalLinks: Array<{ id: number; url: string | null; site: string; siteId: number | null; type: ExternalLinkType | null; } | null> | null; title: { romaji: string | null; english: string | null; native: string | null; userPreferred: string | null; } | null; coverImage: { large: string | null; medium: string | null; extraLarge: string | null; color: string | null; } | null; startDate: { year: number | null; month: number | null; day: number | null; } | null; endDate: { year: number | null; month: number | null; day: number | null; } | null; } | null> | null; } | null; }; export type GetMangaPopularQueryVariables = Exact<{ page?: InputMaybe<Scalars["Int"]["input"]>; perPage?: InputMaybe<Scalars["Int"]["input"]>; }>; export type GetMangaPopularQuery = { Page: { media: Array<{ id: number; idMal: number | null; bannerImage: string | null; description: string | null; format: MediaFormat | null; status: MediaStatus | null; type: MediaType | null; episodes: number | null; chapters: number | null; volumes: number | null; duration: number | null; genres: Array<string | null> | null; averageScore: number | null; meanScore: number | null; popularity: number | null; favourites: number | null; trending: number | null; source: MediaSource$1 | null; countryOfOrigin: any | null; isAdult: boolean | null; isLicensed: boolean | null; isLocked: boolean | null; isFavourite: boolean; isFavouriteBlocked: boolean; hashtag: string | null; synonyms: Array<string | null> | null; season: MediaSeason | null; seasonYear: number | null; siteUrl: string | null; updatedAt: number | null; autoCreateForumThread: boolean | null; isRecommendationBlocked: boolean | null; isReviewBlocked: boolean | null; modNotes: string | null; nextAiringEpisode: { id: number; airingAt: number; timeUntilAiring: number; episode: number; mediaId: number; } | null; tags: Array<{ id: number; name: string; description: string | null; category: string | null; rank: number | null; } | null> | null; externalLinks: Array<{ id: number; url: string | null; site: string; siteId: number | null; type: ExternalLinkType | null; } | null> | null; title: { romaji: string | null; english: string | null; native: string | null; userPreferred: string | null; } | null; coverImage: { large: string | null; medium: string | null; extraLarge: string | null; color: string | null; } | null; startDate: { year: number | null; month: number | null; day: number | null; } | null; endDate: { year: number | null; month: number | null; day: number | null; } | null; } | null> | null; } | null; }; export type GetMangaRecommendationsQueryVariables = Exact<{ id: InputMaybe<Scalars["Int"]["input"]>; }>; export type GetMangaRecommendationsQuery = { Media: { recommendations: { edges: Array<{ node: { media: { id: number; idMal: number | null; bannerImage: string | null; description: string | null; format: MediaFormat | null; status: MediaStatus | null; type: MediaType | null; episodes: number | null; chapters: number | null; volumes: number | null; duration: number | null; genres: Array<string | null> | null; averageScore: number | null; meanScore: number | null; popularity: number | null; favourites: number | null; trending: number | null; source: MediaSource$1 | null; countryOfOrigin: any | null; isAdult: boolean | null; isLicensed: boolean | null; isLocked: boolean | null; isFavourite: boolean; isFavouriteBlocked: boolean; hashtag: string | null; synonyms: Array<string | null> | null; season: MediaSeason | null; seasonYear: number | null; siteUrl: string | null; updatedAt: number | null; autoCreateForumThread: boolean | null; isRecommendationBlocked: boolean | null; isReviewBlocked: boolean | null; modNotes: string | null; nextAiringEpisode: { id: number; airingAt: number; timeUntilAiring: number; episode: number; mediaId: number; } | null; tags: Array<{ id: number; name: string; description: string | null; category: string | null; rank: number | null; } | null> | null; externalLinks: Array<{ id: number; url: string | null; site: string; siteId: number | null; type: ExternalLinkType | null; } | null> | null; title: { romaji: string | null; english: string | null; native: string | null; userPreferred: string | null; } | null; coverImage: { large: string | null; medium: string | null; extraLarge: string | null; color: string | null; } | null; startDate: { year: number | null; month: number | null; day: number | null; } | null; endDate: { year: number | null; month: number | null; day: number | null; } | null; } | null; } | null; } | null> | null; } | null; } | null; }; export type GetMangaRelationsQueryVariables = Exact<{ id: InputMaybe<Scalars["Int"]["input"]>; }>; export type GetMangaRelationsQuery = { Media: { relations: { edges: Array<{ relationType: MediaRelation | null; node: { id: number; idMal: number | null; bannerImage: string | null; description: string | null; format: MediaFormat | null; status: MediaStatus | null; type: MediaType | null; episodes: number | null; chapters: number | null; volumes: number | null; duration: number | null; genres: Array<string | null> | null; averageScore: number | null; meanScore: number | null; popularity: number | null; favourites: number | null; trending: number | null; source: MediaSource$1 | null; countryOfOrigin: any | null; isAdult: boolean | null; isLicensed: boolean | null; isLocked: boolean | null; isFavourite: boolean; isFavouriteBlocked: boolean; hashtag: string | null; synonyms: Array<string | null> | null; season: MediaSeason | null; seasonYear: number | null; siteUrl: string | null; updatedAt: number | null; autoCreateForumThread: boolean | null; isRecommendationBlocked: boolean | null; isReviewBlocked: boolean | null; modNotes: string | null; nextAiringEpisode: { id: number; airingAt: number; timeUntilAiring: number; episode: number; mediaId: number; } | null; tags: Array<{ id: number; name: string; description: string | null; category: string | null; rank: number | null; } | null> | null; externalLinks: Array<{ id: number; url: string | null; site: string; siteId: number | null; type: ExternalLinkType | null; } | null> | null; title: { romaji: string | null; english: string | null; native: string | null; userPreferred: string | null; } | null; coverImage: { large: string | null; medium: string | null; extraLarge: string | null; color: string | null; } | null; startDate: { year: number | null; month: number | null; day: number | null; } | null; endDate: { year: number | null; month: number | null; day: number | null; } | null; } | null; } | null> | null; } | null; } | null; }; export type GetMangaStaffQueryVariables = Exact<{ id: InputMaybe<Scalars["Int"]["input"]>; }>; export type GetMangaStaffQuery = { Media: { staff: { edges: Array<{ role: string | null; node: { id: number; description: string | null; primaryOccupations: Array<string | null> | null; gender: string | null; bloodType: string | null; homeTown: string | null; languageV2: string | null; yearsActive: Array<number | null> | null; favourites: number | null; isFavourite: boolean; isFavouriteBlocked: boolean; age: number | null; siteUrl: string | null; name: {