export interface Anime { id: string | null; name: string | null; poster: string | null; duration: string | null; type: string | null; rating: string | null; episodes: { sub: number | null; dub: number | null; }; } type CommonAnimeProps = "id" | "name" | "poster"; export interface Top10Anime extends Pick { rank: number | null; } export type Top10AnimeTimePeriod = "day" | "week" | "month"; export interface MostPopularAnime extends Pick { jname: string | null; } export interface SpotlightAnime extends MostPopularAnime, Pick { description: string | null; } export interface TrendingAnime extends Pick, Pick {} export interface LatestEpisodeAnime extends Anime {} export interface TopUpcomingAnime extends Anime {} export interface TopAiringAnime extends MostPopularAnime {} export interface AnimeGeneralAboutInfo extends Pick, Pick { stats: { quality: string | null; } & Pick; } export interface RecommendedAnime extends Anime {} export interface RelatedAnime extends MostPopularAnime {} export interface Season extends Pick { isCurrent: boolean; title: string | null; } export interface AnimeSearchSuggestion extends Omit { moreInfo: Array; } export interface AnimeEpisode extends Pick { episodeId: string | null; number: number; isFiller: boolean; } export interface SubEpisode { serverName: string; serverId: number | null; } export interface DubEpisode extends SubEpisode {} export type AnimeCategories = | "most-favorite" | "most-popular" | "subbed-anime" | "dubbed-anime" | "recently-updated" | "recently-added" | "top-upcoming" | "top-airing" | "movie" | "special" | "ova" | "ona" | "tv" | "completed"; export type AnimeServers = | "vidstreaming" | "megacloud" | "streamsb" | "streamtape" | "vidcloud"; export enum Servers { VidStreaming = "vidstreaming", MegaCloud = "megacloud", StreamSB = "streamsb", StreamTape = "streamtape", VidCloud = "vidcloud", AsianLoad = "asianload", GogoCDN = "gogocdn", MixDrop = "mixdrop", UpCloud = "upcloud", VizCloud = "vizcloud", MyCloud = "mycloud", Filemoon = "filemoon", }