import { T as TraktComment, d as TraktList, q as TraktPrivateUser } from '../../trakt-list.model-CeURmxQs.js';
import { TraktTranslation, TraktGenericRating, TraktExtendedRatings } from '../../models/trakt-entity.model.js';
import { BaseTraktPerson, TraktPersonExtended, TraktPersonJobs } from '../../models/trakt-people.model.js';
import { TraktEpisodeShort, TraktEpisodeExtended } from '../../models/trakt-episode.model.js';
import { TraktSeasonExtended, TraktSeasonEpisodes, TraktSeasonShort, TraktSeasonStats } from '../../models/trakt-season.model.js';
import { TraktClientEndpoint, TraktApiParamsExtended, TraktApiParamsPagination } from '../../models/trakt-client.model.js';
import '@dvcol/common-utils/common/models';
import '../../models/trakt-id.model.js';
import '../../models/trakt-movie.model.js';
import '../../models/trakt-image.model.js';
import '@dvcol/base-http-client';
import '@dvcol/common-utils/http/fetch';
import '../trakt-api.filters.js';
import '../../models/trakt-show.model.js';
declare const seasons: {
/**
* Returns all seasons for a show including the number of episodes in each season.
*
* * Episodes
*
* If you add ?extended=episodes to the URL, it will return all episodes for all seasons.
*
* * Note
*
* This returns a lot of data, so please only use this extended parameter if you actually need it!
*
* @extended true - {@link TraktApiExtended.Episodes} | {@link TraktApiExtended.Full} | {@link TraktApiExtended.Images}
*
* @see [get-all-seasons-for-a-show]{@link https://trakt.docs.apiary.io/#reference/seasons/summary/get-all-seasons-for-a-show}
*/
summary: TraktClientEndpoint<{
/** Trakt ID, Trakt slug, or IMDB ID */
id: string | number;
} & TraktApiParamsExtended<"full" | "episodes" | "images">, (Partial & Partial> & TraktSeasonShort)[], true>;
/**
* Returns all episodes for a specific season of a show.
*
* * Translations
*
* If you'd like to included translated episode titles and overviews in the response, include the translations parameter in the URL.
* Include all languages by setting the parameter to all or use a specific 2 digit country language code to further limit it.
*
* * 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.Images}
*
* @see [get-single-season-for-a-show]{@link https://trakt.docs.apiary.io/#reference/seasons/season/get-single-season-for-a-show}
*/
season: TraktClientEndpoint<{
/** Trakt ID, Trakt slug, or IMDB ID */
id: string | number;
/** season number */
season: number;
/** include episode translations - 2 character language code (ISO 639-1) */
translations?: string;
} & TraktApiParamsExtended<"full" | "images">, (TraktEpisodeShort & Partial)[], true>;
/**
* Returns all translations for a season, including language and translated values for title and overview.
*
* @see [get-all-season-translations]{@link https://trakt.docs.apiary.io/#reference/seasons/translations/get-all-season-translations}
*/
translations: TraktClientEndpoint<{
/** Trakt ID, Trakt slug, or IMDB ID */
id: string | number;
/** season number */
season: number;
/** 2 character language code (ISO 639-1) */
language?: string;
}, TraktTranslation[], true>;
/**
* Returns all top level comments for a season. 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-season-comments]{@link https://trakt.docs.apiary.io/#reference/seasons/comments/get-all-season-comments}
*/
comments: TraktClientEndpoint<{
/** Trakt ID, Trakt slug, or IMDB ID */
id: string | number;
/** season number */
season: number;
/** Comment sorting. */
sort?: 'newest' | 'oldest' | 'likes' | 'replies' | 'highest' | 'lowest' | 'plays' | 'watched';
} & TraktApiParamsPagination, TraktComment[], true>;
/**
* Returns all lists that contain this season. 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-season]{@link https://trakt.docs.apiary.io/#reference/seasons/lists/get-lists-containing-this-season}
*/
lists: TraktClientEndpoint<{
/** Trakt ID, Trakt slug, or IMDB ID */
id: string | number;
/** season number */
season: number;
/** Filter for a specific list type */
type?: 'all' | 'personal' | 'official' | 'watchlists';
/** Lists sorting. */
sort?: 'popular' | 'likes' | 'comments' | 'items' | 'added' | 'updated';
} & TraktApiParamsPagination, TraktList[], true>;
/**
* Returns all cast and crew for a season, including the episode_count for which they appear.
* 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, and editing (if there are people for those crew positions).
* Each of those members will have a jobs array and a standard person object.
*
* * Guest Stars
*
* If you add ?extended=guest_stars to the URL, it will return all guest stars that appeared in at least 1 episode of the season.
*
* * Note
*
* This returns a lot of data, so please only use this extended parameter if you actually need it!
*
* @extended true - {@link TraktApiExtended.GuestStars}
*
* @see [get-all-people-for-a-season]{@link https://trakt.docs.apiary.io/#reference/seasons/people/get-all-people-for-a-season}
*/
people: TraktClientEndpoint<{
/** Trakt ID, Trakt slug, or IMDB ID */
id: string | number;
/** season number */
season: number;
} & TraktApiParamsExtended<"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 season.
*
* @see [get-season-ratings]{@link https://trakt.docs.apiary.io/#reference/seasons/ratings/get-season-ratings}
*/
ratings: TraktClientEndpoint<{
/** Trakt ID, Trakt slug, or IMDB ID */
id: string | number;
/** season number */
season: number;
} & TraktApiParamsExtended<"all">, TraktGenericRating | TraktExtendedRatings, true>;
/**
* Returns lots of season stats.
*
* @see [get-season-stats]{@link https://trakt.docs.apiary.io/#reference/seasons/stats/get-season-stats}
*/
stats: TraktClientEndpoint<{
/** Trakt ID, Trakt slug, or IMDB ID */
id: string | number;
/** season number */
season: number;
}, TraktSeasonStats, true>;
/**
* Returns all users watching this season right now.
*
* @extended true - {@link TraktApiExtended.Full}
*
* @see [get-users-watching-right-now]{@link https://trakt.docs.apiary.io/#reference/seasons/watching/get-users-watching-right-now}
*/
watching: TraktClientEndpoint<{
/** Trakt ID, Trakt slug, or IMDB ID */
id: string | number;
/** season number */
season: number;
} & TraktApiParamsExtended<"full">, (TraktPrivateUser & {
name: string;
vip: boolean;
vip_ep: boolean;
} & Partial)[], true>;
};
export { seasons };