import { TraktEpisodeShort, TraktEpisodeExtended } from '../../models/trakt-episode.model.cjs'; import { T as TraktComment, d as TraktList, q as TraktPrivateUser } from '../../trakt-list.model-DUX3arQu.cjs'; import { StartDateParam, TraktAlias, TraktTranslation, TraktGenericRating, TraktExtendedRatings, TraktStudio } from '../../models/trakt-entity.model.cjs'; import { BaseTraktPerson, TraktPersonExtended, TraktPersonJobs } from '../../models/trakt-people.model.cjs'; import { TraktShowTrending, TraktShowShort, TraktShowExtended, TraktShowFavorited, TraktShowPlayed, TraktShowAnticipated, TraktShowUpdate, TraktShowCertification, TraktShowStats } from '../../models/trakt-show.model.cjs'; import { TraktCollectionProgress, TraktWatchedProgress, TraktProgressReset } from '../../models/trakt-progress.model.cjs'; import { TraktApiShowFilters } from '../trakt-api.filters.cjs'; import { TraktClientEndpoint, TraktApiParamsExtended, TraktApiParamsPagination, TraktApiExtended, TraktApiParamsFilter } from '../../models/trakt-client.model.cjs'; import '../../models/trakt-id.model.cjs'; import '../../models/trakt-image.model.cjs'; import '@dvcol/common-utils/common/models'; import '@dvcol/base-http-client'; import '@dvcol/common-utils/http/fetch'; import '../../models/trakt-movie.model.cjs'; import '../../models/trakt-season.model.cjs'; type BaseShowParams = TraktApiParamsPagination & TraktApiParamsExtended & TraktApiParamsFilter; declare const shows: { /** * Returns all shows being watched right now. Shows with the most users are returned first. * * @pagination true - {@link TraktApiPagination} * @extended true - {@link TraktApiExtended.Full} * @filters true - {@link TraktApiShowFilters} * * @see [get-trending-shows]{@link https://trakt.docs.apiary.io/#reference/shows/trending/get-trending-shows} */ trending: TraktClientEndpoint; /** * Returns the most popular shows. Popularity is calculated using the rating percentage and the number of ratings. * * @pagination true - {@link TraktApiPagination} * @extended true - {@link TraktApiExtended.Full} * @filters true - {@link TraktApiShowFilters} * * @see [get-popular-shows]{@link https://trakt.docs.apiary.io/#reference/shows/popular/get-popular-shows} */ popular: TraktClientEndpoint)[], true>; /** * Returns the most favorited shows in the specified time period, defaulting to weekly. All stats are relative to the specific time period. * * @pagination true - {@link TraktApiPagination} * @extended true - {@link TraktApiExtended.Full} * @filters true - {@link TraktApiShowFilters} * * @see [get-the-most-favorited-shows]{@link https://trakt.docs.apiary.io/#reference/shows/favorited/get-the-most-favorited-shows} */ favorited: TraktClientEndpoint<{ /** Time period. */ period?: 'daily' | 'weekly' | 'monthly' | 'yearly' | 'all'; } & BaseShowParams, TraktShowFavorited[], true>; /** * Returns the most played (a single user can watch multiple episodes multiple times) shows in the specified time period, defaulting to weekly. * All stats are relative to the specific time period. * * @pagination true - {@link TraktApiPagination} * @extended true - {@link TraktApiExtended.Full} * @filters true - {@link TraktApiShowFilters} * * @see [get-the-most-played-shows]{@link https://trakt.docs.apiary.io/#reference/shows/played/get-the-most-played-shows} */ played: TraktClientEndpoint<{ /** Time period. */ period?: 'daily' | 'weekly' | 'monthly' | 'yearly' | 'all'; } & BaseShowParams, TraktShowPlayed[], true>; /** * Returns the most watched (unique users) shows in the specified time period, defaulting to weekly. All stats are relative to the specific time period. * * @pagination true - {@link TraktApiPagination} * @extended true - {@link TraktApiExtended.Full} * @filters true - {@link TraktApiShowFilters} * * @see [get-the-most-watched-shows]{@link https://trakt.docs.apiary.io/#reference/shows/watched/get-the-most-watched-shows} */ watched: TraktClientEndpoint<{ /** Time period. */ period?: 'daily' | 'weekly' | 'monthly' | 'yearly' | 'all'; } & BaseShowParams, TraktShowPlayed[], true>; /** * Returns the most collected (unique users) shows in the specified time period, defaulting to weekly. All stats are relative to the specific time period. * * @pagination true - {@link TraktApiPagination} * @extended true - {@link TraktApiExtended.Full} * @filters true - {@link TraktApiShowFilters} * * @see [get-the-most-collected-shows]{@link https://trakt.docs.apiary.io/#reference/shows/collected/get-the-most-collected-shows} */ collected: TraktClientEndpoint<{ /** Time period. */ period?: 'daily' | 'weekly' | 'monthly' | 'yearly' | 'all'; } & BaseShowParams, TraktShowPlayed[], true>; /** * Returns the most anticipated shows based on the number of lists a show appears on. * * @pagination true - {@link TraktApiPagination} * @extended true - {@link TraktApiExtended.Full} * @filters true - {@link TraktApiShowFilters} * * @see [get-the-most-anticipated-shows]{@link https://trakt.docs.apiary.io/#reference/shows/anticipated/get-the-most-anticipated-shows} */ anticipated: TraktClientEndpoint; /** * Returns all shows updated since the specified UTC date and time. * We recommended storing the X-Start-Date header you can be efficient using this method moving forward. * By default, 10 results are returned. You can send a limit to get up to 100 results per page. * * * Important * * The start_date is only accurate to the hour, for caching purposes. * Please drop the minutes and seconds from your timestamp to help optimize our cached data. * For example, use 2021-07-17T12:00:00Z and not 2021-07-17T12:23:34Z. * * * Note * * The start_date can only be a maximum of 30 days in the past. * * @pagination true - {@link TraktApiPagination} * @extended true - {@link TraktApiExtended.Full} * * @see [get-recently-updated-shows]{@link https://trakt.docs.apiary.io/#reference/shows/updates/get-recently-updated-shows} */ updates: TraktClientEndpoint & TraktApiParamsPagination, TraktShowUpdate[], true>; /** * Returns all show Trakt IDs updated since the specified UTC date and time. * We recommended storing the X-Start-Date header you can be efficient using this method moving forward. * By default, 10 results are returned. You can send a limit to get up to 100 results per page. * * * Important * * The start_date is only accurate to the hour, for caching purposes. * Please drop the minutes and seconds from your timestamp to help optimize our cached data. * For example, use 2021-07-17T12:00:00Z and not 2021-07-17T12:23:34Z. * * * Note * * The start_date can only be a maximum of 30 days in the past. * * @pagination true - {@link TraktApiPagination} * * @see [get-recently-updated-show-trakt-ids]{@link https://trakt.docs.apiary.io/#reference/shows/updated-ids/get-recently-updated-show-trakt-ids} */ updatedIds: TraktClientEndpoint; /** * Returns a single shows's details. If you request extended info, the airs object is relative to the show's country. * You can use the day, time, and timezone to construct your own date then convert it to whatever timezone your user is in. * * * Note * * When getting full extended info, the status field can have a value of returning series (airing right now), continuing (airing right now), in production (airing soon), planned (in development), upcoming (in development), pilot, canceled, or ended. * * @extended true - {@link TraktApiExtended.Full} * * @see [get-a-single-show]{@link https://trakt.docs.apiary.io/#reference/shows/summary/get-a-single-show} */ summary: TraktClientEndpoint<{ /** Trakt ID, Trakt slug, or IMDB ID */ id: string | number; } & TraktApiParamsExtended<"full">, TraktShowShort & Partial, true>; /** * Returns all title aliases for a show. Includes country where name is different. * * @see [get-all-show-aliases]{@link https://trakt.docs.apiary.io/#reference/shows/aliases/get-all-show-aliases} */ aliases: TraktClientEndpoint<{ /** Trakt ID, Trakt slug, or IMDB ID */ id: string | number; }, TraktAlias[], true>; /** * Returns all content certifications for a show, including the country. * * @see [get-all-show-certifications]{@link https://trakt.docs.apiary.io/#reference/shows/certifications/get-all-show-certifications} */ certifications: TraktClientEndpoint<{ /** Trakt ID, Trakt slug, or IMDB ID */ id: string | number; }, TraktShowCertification[], true>; /** * Returns all translations for a show, including language and translated values for title and overview. * * @see [get-all-show-translations]{@link https://trakt.docs.apiary.io/#reference/shows/translations/get-all-show-translations} */ translations: TraktClientEndpoint<{ /** Trakt ID, Trakt slug, or IMDB ID */ id: string | number; /** 2 character language code. (ISO 639-1) */ language?: string; }, TraktTranslation[], true>; /** * Returns all top level comments for a show. By default, the newest comments are returned first. * Other sorting options include oldest, most likes, most replies, highest rated, lowest rated, most plays, and highest watched percentage. * * * Note * * If you send OAuth, comments from blocked users will be automatically filtered out. * * @pagination true - {@link TraktApiPagination} * @emoji true - [documentation]{@link https://trakt.docs.apiary.io/#introduction/emojis} * @auth optional * * @see [get-all-show-comments]{@link https://trakt.docs.apiary.io/#reference/shows/comments/get-all-show-comments} */ comments: TraktClientEndpoint<{ /** Trakt ID, Trakt slug, or IMDB ID */ id: string | number; /** Comment sorting. */ sort?: 'newest' | 'oldest' | 'likes' | 'replies' | 'highest' | 'lowest' | 'plays' | 'watched'; } & TraktApiParamsPagination, TraktComment[], true>; /** * Returns all lists that contain this show. By default, personal lists are returned sorted by the most popular. * * @pagination true - {@link TraktApiPagination} * @emoji true - [documentation]{@link https://trakt.docs.apiary.io/#introduction/emojis} * * @see [get-lists-containing-this-show]{@link https://trakt.docs.apiary.io/#reference/shows/lists/get-lists-containing-this-show} */ lists: TraktClientEndpoint<{ /** Trakt ID, Trakt slug, or IMDB ID */ id: string | number; /** Filter for a specific list type */ type?: 'all' | 'personal' | 'official' | 'watchlists' | 'favorites'; /** Lists sorting. */ sort?: 'popular' | 'likes' | 'comments' | 'items' | 'added' | 'updated'; } & TraktApiParamsPagination, TraktList[], true>; progress: { /** * Returns collection progress for a show including details on all aired seasons and episodes. * The next_episode will be the next episode the user should collect, if there are no upcoming episodes it will be set to null. * * By default, any hidden seasons will be removed from the response and stats. * To include these and adjust the completion stats, set the hidden flag to true. * * By default, specials will be excluded from the response. Set the specials flag to true to include season 0 and adjust the stats accordingly. * If you'd like to include specials, but not adjust the stats, set count_specials to false. * * By default, the last_episode and next_episode are calculated using the last aired episode the user has collected, even if they've collected older episodes more recently. * To use their last collected episode for these calculations, set the last_activity flag to collected. * * * Note * * Only aired episodes are used to calculate progress. Episodes in the future or without an air date are ignored. * * @auth required * * @see [get-show-collection-progress]{@link https://trakt.docs.apiary.io/#reference/shows/collection-progress/get-show-collection-progress} */ collection: TraktClientEndpoint<{ /** Trakt ID, Trakt slug, or IMDB ID */ id: string | number; /** include any hidden seasons */ hidden?: boolean; /** include specials as season 0 */ specials?: boolean; /** count specials in the overall stats (only applies if specials are included) */ count_specials?: boolean; }, TraktCollectionProgress, true>; /** * Returns watched progress for a show including details on all aired seasons and episodes. * The next_episode will be the next episode the user should watch, if there are no upcoming episodes it will be set to null. * If not null, the reset_at date is when the user started re-watching the show. * Your app can adjust the progress by ignoring episodes with a last_watched_at prior to the reset_at. * * By default, any hidden seasons will be removed from the response and stats. * To include these and adjust the completion stats, set the hidden flag to true. * * By default, specials will be excluded from the response. * Set the specials flag to true to include season 0 and adjust the stats accordingly. * If you'd like to include specials, but not adjust the stats, set count_specials to false. * * By default, the last_episode and next_episode are calculated using the last aired episode the user has watched, even if they've watched older episodes more recently. * To use their last watched episode for these calculations, set the last_activity flag to watched. * * * Note * * Only aired episodes are used to calculate progress. Episodes in the future or without an air date are ignored. * * @auth required * * @see [get-show-watched-progress]{@link https://trakt.docs.apiary.io/#reference/shows/watched-progress/get-show-watched-progress} */ watched: TraktClientEndpoint<{ /** Trakt ID, Trakt slug, or IMDB ID */ id: number | string; /** include any hidden seasons */ hidden?: boolean; /** include specials as season 0 */ specials?: boolean; /** count specials in the overall stats (only applies if specials are included) */ count_specials?: boolean; }, TraktWatchedProgress, true>; /** * Reset a show's progress when the user started re-watching the show. * You can optionally specify the reset_at date to have it calculate progress from that specific date onwards. * * @vip required - [Requires a paid VIP subscription]{@link https://trakt.docs.apiary.io/#introduction/vip-methods} * @auth required * * @see [reset-show-progress]{@link https://trakt.docs.apiary.io/#reference/shows/reset-watched-progress/reset-show-progress} */ reset: TraktClientEndpoint<{ /** Trakt ID, Trakt slug, or IMDB ID */ id: string | number; }, TraktProgressReset, false>; /** * Undo the reset and have watched progress use all watched history for the show. * * @vip required - [Requires a paid VIP subscription]{@link https://trakt.docs.apiary.io/#introduction/vip-methods} * @auth required * * @see [undo-reset-show-progress]{@link https://trakt.docs.apiary.io/#reference/shows/reset-watched-progress/undo-reset-show-progress} */ undoReset: TraktClientEndpoint<{ /** Trakt ID, Trakt slug, or IMDB ID */ id: string | number; }, unknown, false>; }; /** * Returns all cast and crew for a show, including the episode_count for which they appears. * Each cast member will have a characters array and a standard person object. * * The crew object will be broken up by department into production, art, crew, costume & make-up, directing, writing, sound, camera, visual effects, lighting, editing, and created by (if there are people for those crew positions). * Each of those members will have a jobs array and a standard person object. * * * Guest Starts * * If you add ?extended=guest_stars to the URL, it will return all guest stars that appeared in at least 1 episode of the show. * * * Note * * This returns a lot of data, so please only use this extended parameter if you actually need it! * * @extended true - {@link TraktApiExtended.Full}, {@link TraktApiExtended.GuestStars} * * @see [get-all-people-for-a-show]{@link https://trakt.docs.apiary.io/#reference/shows/people/get-all-people-for-a-show} */ people: TraktClientEndpoint<{ /** Trakt ID, Trakt slug, or IMDB ID */ id: string | number; } & TraktApiParamsExtended<"full" | "guest_stars">, { cast: ({ characters: string[]; person: BaseTraktPerson & Partial; } & { episode_count: number; series_regular?: boolean; })[]; crew: Partial; } & { episode_count: number; })[]>>; } & Partial<{ cast: ({ characters: string[]; person: BaseTraktPerson & Partial; } & { episode_count: number; series_regular?: boolean; })[]; crew: Partial; } & { episode_count: number; })[]>>; } & { guest_stars: ({ characters: string[]; person: BaseTraktPerson & Partial; } & { episode_count: number; series_regular?: boolean; })[]; }>, true>; /** * Returns rating (between 0 and 10) and distribution for a show. * * @see [get-show-ratings]{@link https://trakt.docs.apiary.io/#reference/shows/ratings/get-show-ratings} */ ratings: TraktClientEndpoint<{ /** Trakt ID, Trakt slug, or IMDB ID */ id: string | number; } & TraktApiParamsExtended<"all">, TraktGenericRating | TraktExtendedRatings, true>; /** * Returns related and similar shows. * * @pagination true - {@link TraktApiPagination} * @extended true - {@link TraktApiExtended.Full} * * @see [get-related-shows]{@link https://trakt.docs.apiary.io/#reference/shows/related/get-related-shows} */ related: TraktClientEndpoint<{ /** Trakt ID, Trakt slug, or IMDB ID */ id: string | number; } & TraktApiParamsExtended<"full"> & TraktApiParamsPagination, (TraktShowShort & Partial)[], true>; /** * Returns lots of show stats. * * @see [get-show-stats]{@link https://trakt.docs.apiary.io/#reference/shows/stats/get-show-stats} */ stats: TraktClientEndpoint<{ /** Trakt ID, Trakt slug, or IMDB ID */ id: string | number; }, TraktShowStats, true>; /** * Returns all studios for a show. * * @see [get-show-studios]{@link https://trakt.docs.apiary.io/#reference/shows/studios/get-show-studios} */ studios: TraktClientEndpoint<{ /** Trakt ID, Trakt slug, or IMDB ID */ id: string | number; }, TraktStudio[], true>; /** * Returns all users watching this show right now. * * @extended true - {@link TraktApiExtended.Full} * * @see [get-users-watching-right-now]{@link https://trakt.docs.apiary.io/#reference/shows/watching/get-users-watching-right-now} */ watching: TraktClientEndpoint<{ /** Trakt ID, Trakt slug, or IMDB ID */ id: string | number; } & TraktApiParamsExtended<"full">, (TraktPrivateUser & { name: string; vip: boolean; vip_ep: boolean; } & Partial)[], true>; /** * Returns the next scheduled to air episode. If no episode is found, a 204 HTTP status code will be returned. * * @extended true - {@link TraktApiExtended.Full} * * @see [get-next-episode]{@link https://trakt.docs.apiary.io/#reference/shows/next-episode/get-next-episode} */ nextEpisode: TraktClientEndpoint<{ /** Trakt ID, Trakt slug, or IMDB ID */ id: string | number; } & TraktApiParamsExtended<"full">, TraktEpisodeShort & Partial, true>; /** * Returns the most recently aired episode. If no episode is found, a 204 HTTP status code will be returned. * * @extended true - {@link TraktApiExtended.Full} * * @see [get-last-episode]{@link https://trakt.docs.apiary.io/#reference/shows/last-episode/get-last-episode} */ lastEpisode: TraktClientEndpoint<{ /** Trakt ID, Trakt slug, or IMDB ID */ id: string | number; } & TraktApiParamsExtended<"full">, TraktEpisodeShort & Partial, true>; }; export { shows };