import { EntityTypes, Short, Extended, Any } from './trakt-entity.model.js'; import { TraktApiIds } from './trakt-id.model.js'; import { TraktImage } from './trakt-image.model.js'; import { TraktCast } from './trakt-people.model.js'; import '@dvcol/common-utils/common/models'; import './trakt-client.model.js'; import '@dvcol/base-http-client'; import '@dvcol/common-utils/http/fetch'; import '../api/trakt-api.filters.js'; declare const TraktShowStatus: { /** Airing right now */ ReturningSeries: string; /** Airing right now */ Continuing: string; /** Airing soon */ InProduction: string; /** In development */ Planned: string; /** In development */ Upcoming: string; Pilot: string; Canceled: string; Ended: string; }; type TraktShowStatuses = (typeof TraktShowStatus)[keyof typeof TraktShowStatus]; declare const TraktShowStatusValues: string[]; type TraktShowShort = { title: string; year: number; ids: Pick; }; type TraktShowExtended = TraktShowShort & { tagline: string; overview: string; /** Timestamp in ISO 8601 GMT format (YYYY-MM-DD'T'hh:mm:ss.sssZ) */ first_aired: string; airs: { day: string; time: string; timezone: string; }; /** In minutes */ runtime: number; certification: string; network: string; /** 2 character country code (ISO 3166-1 alpha-2) */ country: string; /** Timestamp in ISO 8601 GMT format (YYYY-MM-DD'T'hh:mm:ss.sssZ) */ updated_at: string; trailer: string; homepage: string; status: TraktShowStatuses; rating: number; votes: number; comment_count: number; /** 2 character language code. (ISO 639-1) */ language: string; /** Array of 2 character language code. (ISO 639-1) */ available_translations: string[]; genres: string[]; aired_episodes: number; images: TraktImage; }; type TraktShow = T extends Extended ? TraktShowExtended : T extends Short ? TraktShowShort : TraktShowShort & Partial; type TraktShowCast = TraktCast; type TraktShowTrending = { watchers: number; show: TraktShow; }; type TraktShowFavorited = { user_count: number; show: TraktShow; }; type TraktShowPlayed = { watcher_count: number; play_count: number; collected_count: number; show: TraktShow; }; type TraktShowAnticipated = { list_count: number; show: TraktShow; }; type TraktShowUpdate = { /** Timestamp in ISO 8601 GMT format (YYYY-MM-DD'T'hh:mm:ss.sssZ) */ updated_at: string; show: TraktShow; }; type TraktShowCertification = { certification: string; /** 2 character country code (ISO 3166-1 alpha-2) */ country: string; }; type TraktShowStats = { watchers: number; plays: number; collectors: number; collected_episodes: number; comments: number; lists: number; votes: number; favorited: number; }; export { type TraktShow, type TraktShowAnticipated, type TraktShowCast, type TraktShowCertification, type TraktShowExtended, type TraktShowFavorited, type TraktShowPlayed, type TraktShowShort, type TraktShowStats, TraktShowStatus, TraktShowStatusValues, type TraktShowStatuses, type TraktShowTrending, type TraktShowUpdate };