import { Primitive } from '@dvcol/common-utils/common/models'; /** Applying these filters refines the results and helps your users to more easily discover new items. Add a query string (i.e. ?years=2016&genres=action) with any filters you want to use. Some filters allow multiples which can be sent as comma delimited parameters. * * Note: Make sure to properly URL encode the parameters including spaces and special characters. * * @see [filters]{@link https://trakt.docs.apiary.io/#introduction/filters} */ declare const TraktApiCommonFilter: { /** Search titles and descriptions. */ readonly Query: "query"; /** 4 digit year or range of years. */ readonly Years: "years"; /** Range in minutes (dash separated digits, i.e. \d+-\d+). */ readonly Runtimes: "runtimes"; /** Genre slugs. (supports comma separated multiple values) */ readonly Genres: "genres"; /** 2 character (ISO 639-1) language code. (supports comma separated multiple values) */ readonly Languages: "languages"; /** 2 character (ISO 3166-1 alpha-2) country code. (supports comma separated multiple values) */ readonly Countries: "countries"; /** Trakt studio ID. (supports comma separated multiple values) */ readonly StudioIds: "studio_ids"; }; /** @see [filters]{@link https://trakt.docs.apiary.io/#introduction/filters} */ type TraktApiCommonFilters = (typeof TraktApiCommonFilter)[keyof typeof TraktApiCommonFilter]; declare const TraktApiCommonFilterValues: TraktApiCommonFilters[]; /** * Applying these filters refines the results and helps your users to more easily discover new items. * Add a query string (i.e. ?ratings=0-100) with any filters you want to use. * * Trakt, TMDB, and IMDB ratings apply to movies, shows, and episodes. Rotten Tomatoes and Metacritic apply to movies. * * @see [filters]{@link https://trakt.docs.apiary.io/#introduction/filters} */ declare const TraktApiRatingFilter: { /** Trakt rating range between 0 and 100. */ readonly Ratings: "ratings"; /** Trakt vote count between 0 and 100 0000. */ readonly Votes: "votes"; /** TMDB vote count between 0 and 100 0000. */ readonly TmdbVotes: "tmdb_votes"; /** IMDB vote count between 0 and 300 0000. */ readonly ImdbVotes: "imdb_votes"; /** TMDB rating range between 0.0 and 10.0. */ readonly TmdbRatings: "tmdb_ratings"; /** IMDB rating range between 0.0 and 10.0. */ readonly ImdbRatings: "imdb_ratings"; }; /** @see [filters]{@link https://trakt.docs.apiary.io/#introduction/filters} */ type TraktApiRatingFilters = (typeof TraktApiRatingFilter)[keyof typeof TraktApiRatingFilter]; declare const TraktApiRatingFilterValues: TraktApiRatingFilters[]; /** * Applying these filters refines the results and helps your users to more easily discover new items. * Add a query string (i.e. ?rt_meters=0-100) with any filters you want to use. * * @see [filters]{@link https://trakt.docs.apiary.io/#introduction/filters} */ declare const TraktApiMovieRatingFilter: { /** Rotten Tomatoes tomatometer range between 0 and 100. */ readonly RtMeters: "rt_meters"; /** Rotten Tomatoes audience score range between 0 and 100. */ readonly RtUserMeters: "rt_user_meters"; /** Metacritic score range between 0 and 100. */ readonly Metascores: "metascores"; /** Trakt rating range between 0 and 100. */ readonly Ratings: "ratings"; /** Trakt vote count between 0 and 100 0000. */ readonly Votes: "votes"; /** TMDB vote count between 0 and 100 0000. */ readonly TmdbVotes: "tmdb_votes"; /** IMDB vote count between 0 and 300 0000. */ readonly ImdbVotes: "imdb_votes"; /** TMDB rating range between 0.0 and 10.0. */ readonly TmdbRatings: "tmdb_ratings"; /** IMDB rating range between 0.0 and 10.0. */ readonly ImdbRatings: "imdb_ratings"; }; /** @see [filters]{@link https://trakt.docs.apiary.io/#introduction/filters} */ type TraktApiMovieRatingFilters = (typeof TraktApiMovieRatingFilter)[keyof typeof TraktApiMovieRatingFilter]; declare const TraktApiMovieRatingFilterValues: TraktApiMovieRatingFilters[]; /** * Applying these filters refines the results and helps your users to more easily discover new items. * Add a query string (i.e. ?certifications=us) with any filters you want to use. * * @see [filters]{@link https://trakt.docs.apiary.io/#introduction/filters} */ declare const TraktApiMovieFilter: { /** US content certification. (supports comma separated multiple values) */ readonly Certifications: "certifications"; }; /** @see [filters]{@link https://trakt.docs.apiary.io/#introduction/filters} */ type TraktApiMovieFilters = TraktApiCommonFilters | TraktApiMovieRatingFilters | (typeof TraktApiMovieFilter)[keyof typeof TraktApiMovieFilter]; declare const TraktApiMovieFilterValues: TraktApiMovieFilters[]; /** * Applying these filters refines the results and helps your users to more easily discover new items. * Add a query string (i.e. ?certifications=us) with any filters you want to use. * * @see [filters]{@link https://trakt.docs.apiary.io/#introduction/filters} */ declare const TraktApiShowFilter: { /** US content certification. (supports comma separated multiple values) */ readonly Certifications: "certifications"; /** Trakt network ID. (supports comma separated multiple values) */ readonly NetworkIds: "network_ids"; /** Set to returning series, continuing, in production, planned, upcoming, pilot, canceled, or ended. (supports comma separated multiple values) */ readonly Status: "status"; }; /** @see [filters]{@link https://trakt.docs.apiary.io/#introduction/filters} */ type TraktApiShowFilters = TraktApiCommonFilters | TraktApiRatingFilters | (typeof TraktApiShowFilter)[keyof typeof TraktApiShowFilter]; declare const TraktApiShowFilterValues: TraktApiShowFilters[]; /** * Applying these filters refines the results and helps your users to more easily discover new items. * Add a query string (i.e. ?certifications=us) with any filters you want to use. * * @see [filters]{@link https://trakt.docs.apiary.io/#introduction/filters} */ declare const TraktApiEpisodeFilter: { /** US content certification. (supports comma separated multiple values) */ readonly Certifications: "certifications"; /** Trakt network ID. (supports comma separated multiple values) */ readonly NetworkIds: "network_ids"; /** Set to standard, series_premiere, season_premiere, mid_season_finale, mid_season_premiere, season_finale, or series_finale. (supports comma separated multiple values) */ readonly EpisodeTypes: "episode_types"; }; /** @see [filters]{@link https://trakt.docs.apiary.io/#introduction/filters} */ type TraktApiEpisodeFilters = TraktApiCommonFilters | TraktApiRatingFilters | (typeof TraktApiEpisodeFilter)[keyof typeof TraktApiEpisodeFilter]; declare const TraktApiEpisodeFilterValues: TraktApiEpisodeFilters[]; declare const TraktApiFilter: { /** US content certification. (supports comma separated multiple values) */ readonly Certifications: "certifications"; /** Trakt network ID. (supports comma separated multiple values) */ readonly NetworkIds: "network_ids"; /** Set to standard, series_premiere, season_premiere, mid_season_finale, mid_season_premiere, season_finale, or series_finale. (supports comma separated multiple values) */ readonly EpisodeTypes: "episode_types"; /** Set to returning series, continuing, in production, planned, upcoming, pilot, canceled, or ended. (supports comma separated multiple values) */ readonly Status: "status"; /** Trakt rating range between 0 and 100. */ readonly Ratings: "ratings"; /** Trakt vote count between 0 and 100 0000. */ readonly Votes: "votes"; /** TMDB vote count between 0 and 100 0000. */ readonly TmdbVotes: "tmdb_votes"; /** IMDB vote count between 0 and 300 0000. */ readonly ImdbVotes: "imdb_votes"; /** TMDB rating range between 0.0 and 10.0. */ readonly TmdbRatings: "tmdb_ratings"; /** IMDB rating range between 0.0 and 10.0. */ readonly ImdbRatings: "imdb_ratings"; /** Search titles and descriptions. */ readonly Query: "query"; /** 4 digit year or range of years. */ readonly Years: "years"; /** Range in minutes (dash separated digits, i.e. \d+-\d+). */ readonly Runtimes: "runtimes"; /** Genre slugs. (supports comma separated multiple values) */ readonly Genres: "genres"; /** 2 character (ISO 639-1) language code. (supports comma separated multiple values) */ readonly Languages: "languages"; /** 2 character (ISO 3166-1 alpha-2) country code. (supports comma separated multiple values) */ readonly Countries: "countries"; /** Trakt studio ID. (supports comma separated multiple values) */ readonly StudioIds: "studio_ids"; }; declare const TraktApiFilterValues: ("query" | "years" | "runtimes" | "genres" | "languages" | "countries" | "studio_ids" | "ratings" | "votes" | "tmdb_votes" | "imdb_votes" | "tmdb_ratings" | "imdb_ratings" | "certifications" | "network_ids" | "status" | "episode_types")[]; /** @see [filters]{@link https://trakt.docs.apiary.io/#introduction/filters} */ type TraktApiFilters = TraktApiCommonFilters | TraktApiRatingFilters | TraktApiMovieFilters | TraktApiShowFilters | TraktApiEpisodeFilters; declare const isFilter: (filter: string) => filter is TraktApiFilters; declare const TraktApiFilterValidator: { common: (filter: TraktApiCommonFilters, value: Primitive | Primitive[], error?: boolean) => boolean; rating: (filter: TraktApiMovieFilters, value: Primitive | Primitive[], error?: boolean) => boolean; shows: (filter: TraktApiShowFilters, value: Primitive | Primitive[], error?: boolean) => boolean; episodes: (filter: TraktApiEpisodeFilters, value: Primitive | Primitive[], error?: boolean) => boolean; validate: (filter: TraktApiFilters, value: Primitive | Primitive[], error?: boolean) => boolean; }; export { TraktApiCommonFilter, TraktApiCommonFilterValues, type TraktApiCommonFilters, TraktApiEpisodeFilter, TraktApiEpisodeFilterValues, type TraktApiEpisodeFilters, TraktApiFilter, TraktApiFilterValidator, TraktApiFilterValues, type TraktApiFilters, TraktApiMovieFilter, TraktApiMovieFilterValues, type TraktApiMovieFilters, TraktApiMovieRatingFilter, TraktApiMovieRatingFilterValues, type TraktApiMovieRatingFilters, TraktApiRatingFilter, TraktApiRatingFilterValues, type TraktApiRatingFilters, TraktApiShowFilter, TraktApiShowFilterValues, type TraktApiShowFilters, isFilter };