import { TraktApiParamsExtended, TraktApiExtended, TraktApiParamsPagination } from './trakt-client.model.cjs'; import { Any } from './trakt-entity.model.cjs'; import { d as TraktList, g as TraktListItem } from '../trakt-list.model-DUX3arQu.cjs'; import { TraktMovie } from './trakt-movie.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-episode.model.cjs'; import './trakt-image.model.cjs'; import './trakt-people.model.cjs'; import './trakt-season.model.cjs'; type TraktFavoriteList = TraktList<'favorites'>; type TraktFavoriteItem = T extends 'movie' ? TraktListItem<'movie'> : T extends 'show' ? TraktListItem<'show'> : TraktListItem<'movie'> | TraktListItem<'show'>; type TraktFavoriteRequest = { movies?: BaseSyncRequestItem<'movies'>[]; shows?: BaseSyncRequestItem<'shows'>[]; }; type TraktFavoriteAdded = { added: { movies: number; shows: number; }; existing: { movies: number; shows: number; }; not_found: { movies: Pick[]; shows: Pick[]; }; list: { /** Timestamp in ISO 8601 GMT format (YYYY-MM-DD'T'hh:mm:ss.sssZ) */ updated_at: string; item_count: number; }; }; type TraktFavoriteRemoved = { deleted: { movies: number; shows: number; }; not_found: { movies: Pick[]; shows: Pick[]; }; list: { /** Timestamp in ISO 8601 GMT format (YYYY-MM-DD'T'hh:mm:ss.sssZ) */ updated_at: string; item_count: number; }; }; type TraktFavoriteGetQuery = { type?: 'movies' | 'shows'; /** How to sort (only if type is also sent) */ sort?: 'rank' | 'added' | 'released' | 'title'; } & TraktApiParamsExtended & TraktApiParamsPagination; export type { TraktFavoriteAdded, TraktFavoriteGetQuery, TraktFavoriteItem, TraktFavoriteList, TraktFavoriteRemoved, TraktFavoriteRequest };