import { TraktApiParamsPagination, TraktApiParamsExtended, TraktApiExtended } from './trakt-client.model.cjs'; import { Any, EntityTypes } from './trakt-entity.model.cjs'; import { TraktEpisode } from './trakt-episode.model.cjs'; import { TraktMovie } from './trakt-movie.model.cjs'; import { TraktSeason } from './trakt-season.model.cjs'; import { TraktShow } from './trakt-show.model.cjs'; import { BaseSyncRequestItem } from './trakt-sync.model.cjs'; import '@dvcol/base-http-client'; import '@dvcol/common-utils/common/models'; import '@dvcol/common-utils/http/fetch'; import '../api/trakt-api.filters.cjs'; import './trakt-id.model.cjs'; import './trakt-image.model.cjs'; import './trakt-people.model.cjs'; declare const TraktRatingType: { readonly Movies: "movies"; readonly Shows: "shows"; readonly Seasons: "seasons"; readonly Episodes: "episodes"; }; type TraktRatingTypes = (typeof TraktRatingType)[keyof typeof TraktRatingType]; type TraktSyncRatingValue = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10; type TraktSyncRatingRequest = TraktApiParamsPagination & TraktApiParamsExtended & { type?: TraktRatingTypes | 'all'; /** Filter for a specific rating. */ rating?: TraktSyncRatingValue; }; type BaseTraktRatingItem = { movie: TraktMovie; show: TraktShow; season: TraktSeason; episode: TraktEpisode; }; type TraktRatingItem = { type: T extends Any ? 'movie' | 'show' | 'season' | 'episode' : T; } & (T extends 'movie' ? Pick, 'movie'> : T extends 'show' ? Pick, 'show'> : T extends 'season' ? Pick, 'season' | 'show'> : T extends 'episode' ? Pick, 'episode' | 'show'> : Pick, 'movie'> | Pick, 'show'> | Pick, 'season' | 'show'> | Pick, 'episode' | 'show'>); type TraktRating = { /** Timestamp in ISO 8601 GMT format (YYYY-MM-DD'T'hh:mm:ss.sssZ) */ rated_at: string; rating: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10; } & TraktRatingItem; type TraktRatingRequestItem = { /** * UTC datetime when the item was rated. - Timestamp in ISO 8601 GMT format (YYYY-MM-DD'T'hh:mm:ss.sssZ) */ rated_at?: string; /** Rating between 1 and 10. */ rating: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10; } & BaseSyncRequestItem; type TraktRatingRequest = { movies?: TraktRatingRequestItem<'movies'>[]; shows?: TraktRatingRequestItem<'shows'>[]; seasons?: TraktRatingRequestItem<'seasons'>[]; episodes?: TraktRatingRequestItem<'episodes'>[]; }; type TraktRatingAdded = { added: { movies: number; shows: number; seasons: number; episodes: number; }; not_found: { movies: Pick[]; shows: Pick[]; seasons: Pick[]; episodes: Pick[]; }; }; type TraktRatingRemoved = { deleted: { movies: number; shows: number; seasons: number; episodes: number; }; not_found: { movies: Pick[]; shows: Pick[]; seasons: Pick[]; episodes: Pick[]; }; }; export { type TraktRating, type TraktRatingAdded, type TraktRatingRemoved, type TraktRatingRequest, type TraktRatingRequestItem, TraktRatingType, type TraktRatingTypes, type TraktSyncRatingRequest, type TraktSyncRatingValue };