UNPKG

78.1 kBTypeScriptView Raw
1/* eslint-disable no-shadow */
2import { IncomingHttpHeaders } from 'http2';
3
4declare namespace MovieDB {
5 namespace Objects {
6 interface Movie {
7 poster_path: string | null;
8 adult: boolean;
9 overview: string;
10 release_date: string;
11 genre_ids: number[];
12 id: number;
13 original_title: string;
14 original_language: string;
15 title: string;
16 backdrop_path: string | null;
17 popularity: number;
18 vote_count: number;
19 video: boolean;
20 vote_average: number;
21 }
22
23 interface MovieWithRating extends Movie {
24 rating: number;
25 }
26
27 interface MovieWithMediaType extends Movie {
28 media_type: 'movie';
29 }
30
31 interface TVShow {
32 poster_path: string | null;
33 popularity: number;
34 id: number;
35 backdrop_path: string | null;
36 vote_average: number;
37 overview: string;
38 first_air_date: string;
39 origin_country: string[];
40 genre_ids: number[];
41 original_language: string;
42 vote_count: number;
43 name: string;
44 original_name: string;
45 }
46
47 interface TVShowWithRating extends TVShow {
48 rating: number;
49 }
50
51 interface TVShowWithMediaType extends TVShow {
52 media_type: 'tv';
53 }
54
55 interface Status {
56 status_code: number;
57 status_message: string;
58 }
59
60 interface Image {
61 aspect_ratio: number;
62 file_path: string;
63 height: number;
64 iso_639_1: null;
65 vote_average: number;
66 vote_count: number;
67 width: number;
68 }
69
70 interface Translation {
71 iso_639_1: string;
72 iso_3166_1: string;
73 name: string;
74 english_name: string;
75 data: {
76 title: string;
77 overview: string;
78 homepage: string;
79 };
80 }
81
82 interface AccountStates {
83 id: number;
84 favorite: boolean;
85 watchlist: boolean;
86 rated: {
87 value: number;
88 } | boolean;
89 }
90
91 interface AlternativeTitles {
92 id: number;
93 titles: {
94 iso_3166_1: string;
95 title: string;
96 type: string;
97 }[];
98 }
99
100 interface ChangesTVShow {
101 changes: {
102 key: string;
103 items: {
104 id: string;
105 action: string;
106 time: string;
107 }[];
108 }[];
109 }
110
111 interface ChangesMovie {
112 changes: {
113 key: string;
114 items: {
115 id: string;
116 action: string;
117 time: string;
118 iso_639_1: string;
119 value: string;
120 original_value: string;
121 }[];
122 }[];
123 }
124
125 interface MovieExternalIDs {
126 imdb_id: string | null;
127 facebook_id: string | null;
128 instagram_id: string | null;
129 twitter_id: string | null;
130 id: number;
131 }
132
133 interface TVShowExternalIDs extends MovieExternalIDs {
134 freebase_mid: string | null;
135 freebase_id: string | null;
136 tvdb_id: number | null;
137 tvrage_id: number | null;
138 }
139
140 interface TVSeasonExternalIDs {
141 freebase_mid: string | null;
142 freebase_id: string | null;
143 tvdb_id: number | null;
144 tvrage_id: number | null;
145 id: number;
146 }
147
148 interface TVEpisodeExternalIDs {
149 imdb_id: string | null;
150 freebase_mid: string | null;
151 freebase_id: string | null;
152 tvdb_id: number | null;
153 tvrage_id: number | null;
154 id: number;
155 }
156
157 interface Videos {
158 id: number;
159 results: {
160 id: string;
161 iso_639_1: string;
162 iso_3166_1: string;
163 key: string;
164 name: string;
165 site: string;
166 size:
167 | 360
168 | 480
169 | 720
170 | 1080;
171 type:
172 | 'Trailer'
173 | 'Teaser'
174 | 'Clip'
175 | 'Featurette'
176 | 'Behind the Scenes'
177 | 'Bloopers';
178 }[];
179 }
180
181 interface Reviews {
182 id: number;
183 page: number;
184 total_pages: number;
185 total_results: number;
186 results: {
187 id: string;
188 author: string;
189 content: string;
190 url: string;
191 }[];
192 }
193
194 interface Person {
195 profile_path: string | null;
196 adult: boolean;
197 id: number;
198 known_for: (MovieWithMediaType | TVShowWithMediaType)[];
199 name: string;
200 popularity: number;
201 }
202
203 interface PersonWithMediaType extends Person {
204 media_type: 'person';
205 }
206
207 interface Episode {
208 air_date: string;
209 episode_number: number;
210 id: number;
211 name: string;
212 overview: string;
213 production_code: string;
214 season_number: number;
215 show_id: number;
216 still_path: string | null;
217 vote_average: number;
218 vote_count: number;
219 }
220 }
221
222 namespace Endpoints {
223 interface Account {
224 getDetails(sessionID: string): Response<Responses.Account.GetDetails>;
225 getCreatedList(args: Arguments.Account.GetCreatedList): Response<Responses.Account.GetCreatedList>;
226 getFavoriteMovies(args: Arguments.Account.GetFavoriteMovies): Response<Responses.Account.GetFavoriteMovies>;
227 getFavoriteTVShows(args: Arguments.Account.GetFavoriteTVShows): Response<Responses.Account.GetFavoriteTVShows>;
228 markAsFavorite(args: Arguments.Account.MarkAsFavorite): Response<Responses.Account.MarkAsFavorite>;
229 getRatedMovies(args: Arguments.Account.GetRatedMovies): Response<Responses.Account.GetRatedMovies>;
230 getRatedTVShows(args: Arguments.Account.GetRatedTVShows): Response<Responses.Account.GetRatedTVShows>;
231 getRatedTVEpisodes(args: Arguments.Account.GetRatedTVEpisodes): Response<Responses.Account.GetRatedTVEpisodes>;
232 getMovieWatchlist(args: Arguments.Account.GetMovieWatchlist): Response<Responses.Account.GetMovieWatchlist>;
233 getTVShowWatchlist(args: Arguments.Account.GetTVShowWatchlist): Response<Responses.Account.GetTVShowWatchlist>;
234 addToWatchlist(args: Arguments.Account.AddToWatchlist): Response<Responses.Account.AddToWatchlist>;
235 }
236
237 interface Authentication {
238 createGuestSession(): Response<Responses.Authentication.CreateGuestSession>;
239 createRequestToken(): Response<Responses.Authentication.CreateRequestToken>;
240 createSession(args: Arguments.Authentication.CreateSession): Response<Responses.Authentication.CreateSession>;
241 createSessionWithLogin(
242 args: Arguments.Authentication.CreateSessionWithLogin,
243 ): Response<Responses.Authentication.CreateSessionWithLogin>;
244 createSessionFromAccessToken(
245 args: Arguments.Authentication.CreateSessionFromAccessToken,
246 ): Response<Responses.Authentication.CreateSessionFromAccessToken>;
247 deleteSession(args: Arguments.Authentication.DeleteSession): Response<Responses.Authentication.DeleteSession>;
248 }
249
250 interface Certification {
251 getMovieCertifications(): Response<Responses.Certification.GetMovieCertifications>;
252 getTVCertifications(): Response<Responses.Certification.GetTVCertifications>;
253 }
254
255 interface Collection {
256 getDetails(args: Arguments.Collection.GetDetails): Response<Responses.Collection.GetDetails>;
257 getImages(args: Arguments.Collection.GetImages): Response<Responses.Collection.GetImages>;
258 getTranslations(args: Arguments.Collection.GetTranslations): Response<Responses.Collection.GetTranslations>;
259 }
260
261 interface Company {
262 getDetails(args: Arguments.Company.Common): Response<Responses.Company.GetDetails>;
263 getAlternativeNames(args: Arguments.Company.Common): Response<Responses.Company.GetAlternativeNames>;
264 getImages(args: Arguments.Company.Common): Response<Responses.Company.GetImages>;
265 }
266
267 interface Configuration {
268 getAPIConfiguration(): Response<Responses.Configuration.GetAPIConfiguration>;
269 getCountries(): Response<Responses.Configuration.GetCountries[]>;
270 getJobs(): Response<Responses.Configuration.GetJobs[]>;
271 getLanguages(): Response<Responses.Configuration.GetLanguages[]>;
272 getPrimaryTranslations(): Response<string[]>;
273 getTimezones(): Response<Responses.Configuration.GetTimezones[]>;
274 }
275
276 interface Credit {
277 getDetails(args: Arguments.Credit.GetDetails): Response<Responses.Credit.GetDetails>;
278 }
279
280 interface Discover {
281 movie(args: Arguments.Discover.Movie): Response<Responses.Discover.Movie>;
282 tv(args: Arguments.Discover.TV): Response<Responses.Discover.TV>;
283 }
284
285 interface Find {
286 byExternalID(args: Arguments.Find.ByID): Response<Responses.Find.ByExternalID>;
287 }
288
289 interface Genre {
290 getMovieList(): Response<Responses.Genre.Common>;
291 getTVList(): Response<Responses.Genre.Common>;
292 }
293
294 interface GuestSession {
295 getRatedMovies(args: Arguments.GuestSession.Common): Response<Responses.GuestSession.GetRatedMovies>;
296 getRatedTVShows(args: Arguments.GuestSession.Common): Response<Responses.GuestSession.GetRatedTVShows>;
297 getRatedTVEpisodes(args: Arguments.GuestSession.Common): Response<Responses.GuestSession.GetRatedTVEpisodes>;
298 }
299
300 interface Keyword {
301 getDetails(args: Arguments.Keyword.GetDetails): Response<Responses.Keyword.GetDetails>;
302 getMovies(args: Arguments.Keyword.GetMovies): Response<Responses.Keyword.GetMovies>;
303 }
304
305 interface List {
306 getDetails(args: Arguments.List.GetDetails): Response<Responses.List.GetDetails>;
307 checkItemStatus(args: Arguments.List.CheckItemStatus): Response<Responses.List.CheckItemStatus>;
308 createList(args: Arguments.List.CreateList): Response<Responses.List.CreateList>;
309 addMovie(args: Arguments.List.AddMovie): Response<Responses.List.AddMovie>;
310 removeMovie(args: Arguments.List.RemoveMovie): Response<Responses.List.RemoveMovie>;
311 clearList(args: Arguments.List.ClearList): Response<Responses.List.ClearList>;
312 deleteList(args: Arguments.List.DeleteList): Response<Responses.List.DeleteList>;
313 }
314
315 interface Movie {
316 getDetails(args: Arguments.Movie.GetDetails): Response<Responses.Movie.GetDetails>;
317 getAccountStates(args: Arguments.Movie.GetAccountStates): Response<Responses.Movie.GetAccountStates>;
318 getAlternativeTitles(args: Arguments.Movie.GetAlternativeTitles): Response<Responses.Movie.GetAlternativeTitles>;
319 getChanges(args: Arguments.Movie.GetChanges): Response<Responses.Movie.GetChanges>;
320 getCredits(args: Arguments.Movie.GetCredits): Response<Responses.Movie.GetCredits>;
321 getExternalIDs(args: Arguments.Movie.GetExternalIDs): Response<Responses.Movie.GetExternalIDs>;
322 getImages(args: Arguments.Movie.GetImages): Response<Responses.Movie.GetImages>;
323 getKeywords(args: Arguments.Movie.GetKeywords): Response<Responses.Movie.GetKeywords>;
324 getReleaseDates(args: Arguments.Movie.GetReleaseDates): Response<Responses.Movie.GetReleaseDates>;
325 getVideos(args: Arguments.Movie.GetVideos): Response<Responses.Movie.GetVideos>;
326 getTranslations(args: Arguments.Movie.GetTranslations): Response<Responses.Movie.GetTranslations>;
327 getRecommendations(args: Arguments.Movie.GetRecommendations): Response<Responses.Movie.GetRecommendations>;
328 getSimilarMovies(args: Arguments.Movie.GetSimilarMovies): Response<Responses.Movie.GetSimilarMovies>;
329 getReviews(args: Arguments.Movie.GetReviews): Response<Responses.Movie.GetReviews>;
330 getLists(args: Arguments.Movie.GetLists): Response<Responses.Movie.GetLists>;
331 rateMovie(args: Arguments.Movie.RateMovie): Response<Responses.Movie.RateMovie>;
332 deleteRating(args: Arguments.Movie.DeleteRating): Response<Responses.Movie.DeleteRating>;
333 getLatest(): Response<Responses.Movie.GetLatest>;
334 getNowPlaying(args: Arguments.Movie.GetNowPlaying): Response<Responses.Movie.GetNowPlaying>;
335 getPopular(args: Arguments.Movie.GetPopular): Response<Responses.Movie.GetPopular>;
336 getTopRated(args: Arguments.Movie.GetTopRated): Response<Responses.Movie.GetTopRated>;
337 getUpcoming(args: Arguments.Movie.GetUpcoming): Response<Responses.Movie.GetUpcoming>;
338 getChangeList(args: Arguments.Movie.GetChangeList): Response<Responses.Movie.GetChangeList>;
339 }
340
341 interface Network {
342 getDetails(args: Arguments.Network.GetDetails): Response<Responses.Network.GetDetails>;
343 getAlternativeNames(args: Arguments.Network.GetAlternativeNames): Response<Responses.Network.GetAlternativeNames>;
344 getImages(args: Arguments.Network.GetImages): Response<Responses.Network.GetImages>;
345 }
346
347 interface Trending {
348 getTrending(args: Arguments.Trending.GetTrending): Response<Responses.Trending.GetTrending>;
349 }
350
351 interface Person {
352 getDetails(args: Arguments.Person.GetDetails): Response<Responses.Person.GetDetails>;
353 getChanges(args: Arguments.Person.GetChanges): Response<Responses.Person.GetChanges>;
354 getMovieCredits(args: Arguments.Person.GetMovieCredits): Response<Responses.Person.GetMovieCredits>;
355 getTVCredits(args: Arguments.Person.GetTVCredits): Response<Responses.Person.GetTVCredits>;
356 getCombinedCredits(args: Arguments.Person.GetCombinedCredits): Response<Responses.Person.GetCombinedCredits>;
357 getExternalIDs(args: Arguments.Person.GetExternalIDs): Response<Responses.Person.GetExternalIDs>;
358 getImages(args: Arguments.Person.GetImages): Response<Responses.Person.GetImages>;
359 getTaggedImages(args: Arguments.Person.GetTaggedImages): Response<Responses.Person.GetTaggedImages>;
360 getTranslations(args: Arguments.Person.GetTranslations): Response<Responses.Person.GetTranslations>;
361 getLatest(): Response<Responses.Person.GetLatest>;
362 getPopular(args: Arguments.Person.GetPopular): Response<Responses.Person.GetPopular>;
363 getChangeList(args: Arguments.Person.GetChangeList): Response<Responses.Person.GetChangeList>;
364 }
365
366 interface Review {
367 getDetails(args: Arguments.Review.GetDetails): Response<Responses.Review.GetDetails>;
368 }
369
370 interface Search {
371 companies(args: Arguments.Search.Companies): Response<Responses.Search.Companies>;
372 collections(args: Arguments.Search.Collections): Response<Responses.Search.Collections>;
373 keywords(args: Arguments.Search.Keywords): Response<Responses.Search.Keywords>;
374 movies(args: Arguments.Search.Movies): Response<Responses.Search.Movies>;
375 multi(args: Arguments.Search.Multi): Response<Responses.Search.Multi>;
376 people(args: Arguments.Search.People): Response<Responses.Search.People>;
377 TVShows(args: Arguments.Search.TVShows): Response<Responses.Search.TVShows>;
378 }
379
380 interface TV {
381 season: {
382 getDetails(args: Arguments.TV.Season.GetDetails): Response<Responses.TV.Season.GetDetails>;
383 getChanges(args: Arguments.TV.Season.GetChanges): Response<Responses.TV.Season.GetChanges>;
384 getAccountStates(args: Arguments.TV.Season.GetAccountStates): Response<Responses.TV.Season.GetAccountStates>;
385 getCredits(args: Arguments.TV.Season.GetCredits): Response<Responses.TV.Season.GetCredits>;
386 getExternalIDs(args: Arguments.TV.Season.GetExternalIDs): Response<Responses.TV.Season.GetExternalIDs>;
387 getImages(args: Arguments.TV.Season.GetImages): Response<Responses.TV.Season.GetImages>;
388 getVideos(args: Arguments.TV.Season.GetVideos): Response<Responses.TV.Season.GetVideos>;
389 };
390 episode: {
391 getDetails(args: Arguments.TV.Episode.GetDetails): Response<Responses.TV.Episode.GetDetails>;
392 getChanges(args: Arguments.TV.Episode.GetChanges): Response<Responses.TV.Episode.GetChanges>;
393 getAccountStates(args: Arguments.TV.Episode.GetAccountStates): Response<Responses.TV.Episode.GetAccountStates>;
394 getCredits(args: Arguments.TV.Episode.GetCredits): Response<Responses.TV.Episode.GetCredits>;
395 getExternalIDs(args: Arguments.TV.Episode.GetExternalIDs): Response<Responses.TV.Episode.GetExternalIDs>;
396 getImages(args: Arguments.TV.Episode.GetImages): Response<Responses.TV.Episode.GetImages>;
397 getTranslations(args: Arguments.TV.Episode.GetTranslations): Response<Responses.TV.Episode.GetTranslations>;
398 rateTVEpisode(args: Arguments.TV.Episode.RateTVEpisode): Response<Responses.TV.Episode.RateTVEpisode>;
399 deleteRating(args: Arguments.TV.Episode.DeleteRating): Response<Responses.TV.Episode.DeleteRating>;
400 getVideos(args: Arguments.TV.Episode.GetVideos): Response<Responses.TV.Episode.GetVideos>;
401 };
402 group: {
403 getDetails(args: Arguments.TV.Group.GetDetails): Response<Responses.TV.Group.GetDetails>;
404 };
405 getDetails(args: Arguments.TV.GetDetails): Response<Responses.TV.GetDetails>;
406 getAccountStates(args: Arguments.TV.GetAccountStates): Response<Responses.TV.GetAccountStates>;
407 getAlternativeTitles(args: Arguments.TV.GetAlternativeTitles): Response<Responses.TV.GetAlternativeTitles>;
408 getChanges(args: Arguments.TV.GetChanges): Response<Responses.TV.GetChanges>;
409 getContentRatings(args: Arguments.TV.GetContentRatings): Response<Responses.TV.GetContentRatings>;
410 getCredits(args: Arguments.TV.GetCredits): Response<Responses.TV.GetCredits>;
411 getEpisodeGroups(args: Arguments.TV.GetEpisodeGroups): Response<Responses.TV.GetEpisodeGroups>;
412 getExternalIDs(args: Arguments.TV.GetExternalIDs): Response<Responses.TV.GetExternalIDs>;
413 getImages(args: Arguments.TV.GetImages): Response<Responses.TV.GetImages>;
414 getKeywords(args: Arguments.TV.GetKeywords): Response<Responses.TV.GetKeywords>;
415 getRecommendations(args: Arguments.TV.GetRecommendations): Response<Responses.TV.GetRecommendations>;
416 getReviews(args: Arguments.TV.GetReviews): Response<Responses.TV.GetReviews>;
417 getScreenedTheatrically(
418 args: Arguments.TV.GetScreenedTheatrically,
419 ): Response<Responses.TV.GetScreenedTheatrically>;
420 getSimilarTVShows(args: Arguments.TV.GetSimilarTVShows): Response<Responses.TV.GetSimilarTVShows>;
421 getTranslations(args: Arguments.TV.GetTranslations): Response<Responses.TV.GetTranslations>;
422 getVideos(args: Arguments.TV.GetVideos): Response<Responses.TV.GetVideos>;
423 rateTVShow(args: Arguments.TV.RateTVShow): Response<Responses.TV.RateTVShow>;
424 deleteRating(args: Arguments.TV.DeleteRating): Response<Responses.TV.DeleteRating>;
425 getLatest(): Response<Responses.TV.GetLatest>;
426 getAiringToday(args: Arguments.TV.GetAiringToday): Response<Responses.TV.GetAiringToday>;
427 getOnAir(args: Arguments.TV.GetOnAir): Response<Responses.TV.GetOnAir>;
428 getPopular(args: Arguments.TV.GetPopular): Response<Responses.TV.GetPopular>;
429 getTopRated(args: Arguments.TV.GetTopRated): Response<Responses.TV.GetTopRated>;
430 getChangeList(args: Arguments.TV.GetChangeList): Response<Responses.TV.GetChangeList>;
431 }
432 }
433
434 namespace Arguments {
435 namespace Account {
436 interface GetCreatedList {
437 query: {
438 session_id: string;
439 page?: number | string;
440 };
441 pathParameters: {
442 account_id: number | string;
443 };
444 }
445
446 interface GetFavoriteMovies {
447 query: {
448 session_id: string;
449 sort_by?: 'created_at.asc' | 'created_at.desc';
450 page?: number | string;
451 };
452 pathParameters: {
453 account_id: number | string;
454 };
455 }
456
457 interface GetFavoriteTVShows {
458 query: {
459 session_id: number | string;
460 sort_by?: 'created_at.asc' | 'created_at.desc';
461 page?: number | string;
462 };
463 pathParameters: {
464 account_id: number | string;
465 };
466 }
467
468 interface MarkAsFavorite {
469 query: {
470 session_id: string;
471 };
472 pathParameters: {
473 account_id: number | string;
474 };
475 body: {
476 media_type: 'movie' | 'tv';
477 media_id: number;
478 favorite: boolean;
479 };
480 }
481
482 interface GetRatedMovies {
483 query: {
484 session_id: string;
485 sort_by?: 'created_at.asc' | 'created_at.desc';
486 page?: number | string;
487 };
488 pathParameters: {
489 account_id: number | string;
490 };
491 }
492
493 interface GetRatedTVShows {
494 query: {
495 session_id: string;
496 sort_by?: 'created_at.asc' | 'created_at.desc';
497 page?: number;
498 };
499 pathParameters: {
500 account_id: number | string;
501 };
502 }
503
504 interface GetRatedTVEpisodes {
505 query: {
506 session_id: string;
507 sort_by?: 'created_at.asc' | 'created_at.desc';
508 page?: number | string;
509 };
510 pathParameters: {
511 account_id: number | string;
512 };
513 }
514
515 interface GetMovieWatchlist {
516 query: {
517 session_id: string;
518 sort_by?: 'created_at.asc' | 'created_at.desc';
519 page?: number | string;
520 };
521 pathParameters: {
522 account_id: number | string;
523 };
524 }
525
526 interface GetTVShowWatchlist {
527 query: {
528 session_id: string;
529 sort_by?: 'created_at.asc' | 'created_at.desc';
530 page?: number | string;
531 };
532 pathParameters: {
533 account_id: number | string;
534 };
535 }
536
537 interface AddToWatchlist {
538 query: {
539 session_id: string;
540 };
541 pathParameters: {
542 account_id: number | string;
543 };
544 body: {
545 media_type: 'movie' | 'tv';
546 media_id: number;
547 watchlist: boolean;
548 };
549 }
550 }
551
552 namespace Authentication {
553 interface CreateSession {
554 body: {
555 request_token: string;
556 };
557 }
558
559 interface CreateSessionWithLogin {
560 body: {
561 username: string;
562 password: string;
563 request_token: string;
564 };
565 }
566
567 interface CreateSessionFromAccessToken {
568 body: {
569 access_token: string;
570 };
571 }
572
573 interface DeleteSession {
574 body: {
575 session_id: string;
576 };
577 }
578 }
579
580 namespace Collection {
581 interface GetDetails {
582 pathParameters: {
583 collection_id: number | string;
584 };
585 }
586
587 interface GetImages {
588 pathParameters: {
589 collection_id: number | string;
590 };
591 }
592
593 interface GetTranslations {
594 pathParameters: {
595 collection_id: number | string;
596 };
597 }
598 }
599
600 namespace Company {
601 interface Common {
602 pathParamaters: {
603 company_id: number | string;
604 };
605 }
606 }
607
608 namespace Credit {
609 interface GetDetails {
610 pathParameters: {
611 credit_id: string;
612 };
613 }
614 }
615
616 namespace Discover {
617 interface Movie {
618 query?: {
619 region?: string;
620 sort_by?:
621 | 'popularity.asc' | 'popularity.desc'
622 | 'release_date.asc' | 'release_date.desc'
623 | 'revenue.asc' | 'revenue.desc'
624 | 'primary_release_date.asc' | 'primary_release_date.desc'
625 | 'original_title.asc' | 'original_title.desc'
626 | 'vote_average.asc' | 'vote_average.desc'
627 | 'vote_count.asc' | 'vote_count.desc';
628 certification_country?: string;
629 certification?: string;
630 'certification.let'?: string;
631 include_adult?: boolean;
632 include_video?: boolean;
633 page?: number | string;
634 primary_release_year?: number | string;
635 'primary_release_date.lte'?: string;
636 'primary_release_date.gte'?: string;
637 'release_date.gte'?: string;
638 'release_date.lte'?: string;
639 'vote_count.gte'?: number | string;
640 'vote_count.lte'?: number | string;
641 'vote_average.gte'?: number | string;
642 'vote_average.lte'?: number | string;
643 with_cast?: string;
644 with_crew?: string;
645 with_companies?: string;
646 with_genres?: string;
647 with_keywords?: string;
648 with_people?: string;
649 year?: number | string;
650 without_genres?: string;
651 'with_runtime.gte'?: number | string;
652 'with_runtime.lte'?: number | string;
653 with_release_type?: string;
654 with_original_language?: string;
655 without_keywords?: string;
656 };
657 }
658
659 interface TV {
660 query?: {
661 'vote_average.gte'?: number | string;
662 'vote_average.lte'?: number | string;
663 with_genres?: string;
664 without_genres?: string;
665 'with_runtime.gte'?: number | string;
666 'with_runtime.lte'?: number | string;
667 with_original_language?: string;
668 without_keywords?: string;
669 with_companies?: string;
670 sort_by?:
671 | 'vote_average.asc' | 'vote_average.desc'
672 | 'first_air_date.asc' | 'first_air_date.desc'
673 | 'popularity.asc' | 'popularity.desc';
674 'air_date.gte'?: string;
675 'air_date.lte'?: string;
676 'first_air_date.gte'?: string;
677 'first_air_date.lte'?: string;
678 first_air_date_year?: number | string;
679 page?: number | string;
680 timezone?: string;
681 with_networks?: string;
682 include_null_first_air_dates?: boolean;
683 screened_theatrically?: boolean;
684 };
685 }
686 }
687
688 namespace Find {
689 interface ByID {
690 query: {
691 external_source:
692 | 'imdb_id'
693 | 'freebase_mid'
694 | 'freebase_id'
695 | 'tvdb_id'
696 | 'tvrage_id'
697 | 'facebook_id'
698 | 'twitter_id'
699 | 'instagram_id';
700 };
701 pathParameters: {
702 external_id: string;
703 };
704 }
705 }
706
707 namespace GuestSession {
708 interface Common {
709 query?: {
710 sort_by?: 'created_at.asc' | 'created_at.desc';
711 };
712 pathParameters: {
713 guest_session_id: string;
714 };
715 }
716 }
717
718 namespace Keyword {
719 interface GetDetails {
720 pathParameters: {
721 keyword_id: number | string;
722 };
723 }
724
725 interface GetMovies extends GetDetails {
726 query?: {
727 include_adult?: boolean;
728 };
729 }
730 }
731
732 namespace List {
733 interface Common {
734 pathParameters: {
735 list_id: number | string;
736 };
737 }
738
739 interface GetDetails extends Common {}
740
741 interface CheckItemStatus extends Common {
742 query: {
743 movie_id: number;
744 };
745 }
746
747 interface CreateList {
748 query: {
749 session_id: string;
750 };
751 body: {
752 name?: string;
753 description?: string;
754 language?: string;
755 };
756 }
757
758 interface AddMovie {
759 query: {
760 session_id: string;
761 };
762 pathParameters: {
763 list_id: number | string;
764 };
765 body: {
766 media_id: number;
767 };
768 }
769
770 interface RemoveMovie extends AddMovie {}
771
772 interface ClearList {
773 query: {
774 session_id: string;
775 confirm: boolean;
776 };
777 pathParameters: {
778 list_id: number | string;
779 };
780 }
781
782 interface DeleteList {
783 query: {
784 session_id: string;
785 };
786 pathParameters: {
787 list_id: number | string;
788 };
789 }
790 }
791
792 namespace Movie {
793 interface Common {
794 pathParameters: {
795 movie_id: number | string;
796 };
797 }
798
799 interface GetDetails extends Common {
800 query?: {
801 append_to_response?: string;
802 };
803 }
804
805 interface GetAccountStates extends Common {
806 query: {
807 session_id?: string;
808 guest_session_id?: string;
809 };
810 }
811
812 interface GetAlternativeTitles extends Common {
813 query?: {
814 country?: string;
815 };
816 }
817
818 interface GetChanges extends Common {
819 query?: {
820 start_date?: string;
821 end_date?: string;
822 page?: number | string;
823 };
824 }
825
826 interface GetCredits extends Common {}
827
828 interface GetExternalIDs extends Common {}
829
830 interface GetImages extends Common {
831 query?: {
832 include_image_language?: string;
833 };
834 }
835
836 interface GetKeywords extends Common {}
837
838 interface GetReleaseDates extends Common {}
839
840 interface GetVideos extends Common {}
841
842 interface GetTranslations extends Common {}
843
844 interface GetRecommendations extends Common {
845 query?: {
846 page?: number | string;
847 };
848 }
849
850 interface GetSimilarMovies extends Common {
851 query?: {
852 page?: number | string;
853 };
854 }
855
856 interface GetReviews extends Common {
857 query?: {
858 page?: number | string;
859 };
860 }
861
862 interface GetLists extends Common {
863 query?: {
864 page?: number | string;
865 };
866 }
867
868 interface RateMovie extends Common {
869 query?: {
870 guest_session_id?: string;
871 session_id?: string;
872 };
873 body: {
874 value: number;
875 };
876 }
877
878 interface DeleteRating extends Common {
879 query?: {
880 guest_session_id?: string;
881 session_id?: string;
882 };
883 }
884
885 interface GetNowPlaying {
886 query?: {
887 page?: number | string;
888 region?: string;
889 };
890 }
891
892 interface GetPopular extends GetNowPlaying {}
893
894 interface GetTopRated extends GetNowPlaying {}
895
896 interface GetUpcoming extends GetNowPlaying {}
897
898 interface GetChangeList {
899 query?: {
900 end_date?: string;
901 start_date?: string;
902 page?: number | string;
903 };
904 }
905 }
906
907 namespace Network {
908 interface Common {
909 pathParameters: {
910 network_id: number | string;
911 };
912 }
913
914 interface GetDetails extends Common {}
915
916 interface GetAlternativeNames extends Common {}
917
918 interface GetImages extends Common {}
919 }
920
921 namespace Trending {
922 interface GetTrending {
923 pathParameters: {
924 media_type:
925 | 'all'
926 | 'movie'
927 | 'tv'
928 | 'person';
929 time_window:
930 | 'day'
931 | 'week';
932 };
933 }
934 }
935
936 namespace Person {
937 interface Common {
938 pathParameters: {
939 person_id: number;
940 };
941 }
942
943 interface GetDetails extends Common {
944 query?: {
945 language?: string;
946 append_to_response?: string;
947 };
948 }
949
950 interface GetChanges extends Common {
951 query?: {
952 end_date?: string;
953 start_date?: string;
954 page?: number | string;
955 };
956 }
957
958 interface GetMovieCredits extends Common {}
959
960 interface GetTVCredits extends Common {}
961
962 interface GetCombinedCredits extends Common {}
963
964 interface GetExternalIDs extends Common {}
965
966 interface GetImages extends Common {}
967
968 interface GetTaggedImages extends Common {
969 query?: {
970 page?: number | string;
971 };
972 }
973
974 interface GetTranslations extends Common {}
975
976 interface GetPopular {
977 query?: {
978 page?: number | string;
979 };
980 }
981
982 interface GetChangeList {
983 query?: {
984 end_date?: string;
985 start_date?: string;
986 page?: number | string;
987 };
988 }
989 }
990
991 namespace Review {
992 interface GetDetails {
993 pathParameters: {
994 review_id: string;
995 };
996 }
997 }
998
999 namespace Search {
1000 interface Companies {
1001 query: {
1002 query: string;
1003 page?: number | string;
1004 };
1005 }
1006
1007 interface Collections {
1008 query: {
1009 query: string;
1010 page?: number | string;
1011 };
1012 }
1013
1014 interface Keywords {
1015 query: {
1016 query: string;
1017 page?: number | string;
1018 };
1019 }
1020
1021 interface Movies {
1022 query: {
1023 query: string;
1024 page?: number | string;
1025 include_adult?: boolean;
1026 region?: string;
1027 year?: number;
1028 primary_release_year?: number;
1029 };
1030 }
1031
1032 interface Multi {
1033 query: {
1034 query: string;
1035 page?: number | string;
1036 include_adult?: boolean;
1037 region?: string;
1038 };
1039 }
1040
1041 interface People {
1042 query: {
1043 query: string;
1044 page?: number | string;
1045 include_adult?: boolean;
1046 region?: string;
1047 };
1048 }
1049
1050 interface TVShows {
1051 query: {
1052 query: string;
1053 page?: number | string;
1054 first_air_date?: number | string;
1055 };
1056 }
1057 }
1058
1059 namespace TV {
1060 interface Common {
1061 pathParameters: {
1062 tv_id: number | string;
1063 };
1064 }
1065
1066 interface GetDetails extends Common {
1067 query?: {
1068 append_to_response?: string;
1069 };
1070 }
1071
1072 interface GetAccountStates extends Common {
1073 query?: {
1074 guest_session_id?: string;
1075 session_id?: string;
1076 };
1077 }
1078
1079 interface GetAlternativeTitles extends Common {
1080 query?: {
1081 country?: string;
1082 };
1083 }
1084
1085 interface GetChanges extends Common {
1086 query?: {
1087 start_date?: string;
1088 end_date?: string;
1089 page?: number | string;
1090 };
1091 }
1092
1093 interface GetContentRatings extends Common {}
1094
1095 interface GetCredits extends Common {}
1096
1097 interface GetEpisodeGroups extends Common {}
1098
1099 interface GetExternalIDs extends Common {}
1100
1101 interface GetImages extends Common {}
1102
1103 interface GetKeywords extends Common {}
1104
1105 interface GetRecommendations extends Common {
1106 query?: {
1107 page?: number | string;
1108 };
1109 }
1110
1111 interface GetReviews extends Common {
1112 query?: {
1113 page?: number | string;
1114 };
1115 }
1116
1117 interface GetScreenedTheatrically extends Common {}
1118
1119 interface GetSimilarTVShows extends Common {
1120 query?: {
1121 page?: number | string;
1122 };
1123 }
1124
1125 interface GetTranslations extends Common {}
1126
1127 interface GetVideos extends Common {}
1128
1129 interface RateTVShow extends Common {
1130 query?: {
1131 guest_session_id?: string;
1132 session_id?: string;
1133 };
1134 body: {
1135 value: number;
1136 };
1137 }
1138
1139 interface DeleteRating extends Common {
1140 query?: {
1141 guest_session_id?: string;
1142 session_id?: string;
1143 };
1144 }
1145
1146 interface GetAiringToday {
1147 query?: {
1148 page?: number | string;
1149 timezone?: string;
1150 };
1151 }
1152
1153 interface GetOnAir extends GetAiringToday {}
1154
1155 interface GetPopular extends GetAiringToday {}
1156
1157 interface GetTopRated extends GetAiringToday {}
1158
1159 interface GetChangeList {
1160 query?: {
1161 start_date?: string;
1162 end_date?: string;
1163 page?: number | string;
1164 };
1165 }
1166
1167 namespace Season {
1168 interface Common {
1169 pathParameters: {
1170 tv_id: number | string;
1171 season_number: number | string;
1172 };
1173 }
1174
1175 interface GetDetails extends Common {
1176 query?: {
1177 append_to_response?: string;
1178 };
1179 }
1180
1181 interface GetChanges {
1182 pathParameters: {
1183 season_id: number | string;
1184 };
1185 query?: {
1186 start_date?: string;
1187 end_date?: string;
1188 page?: number | string;
1189 };
1190 }
1191
1192 interface GetAccountStates extends Common {
1193 query?: {
1194 guest_session_id?: string;
1195 session_id?: string;
1196 };
1197 }
1198
1199 interface GetCredits extends Common {}
1200
1201 interface GetExternalIDs extends Common {}
1202
1203 interface GetImages extends Common {}
1204
1205 interface GetVideos extends Common {}
1206 }
1207
1208 namespace Episode {
1209 interface Common {
1210 pathParameters: {
1211 tv_id: number | string;
1212 season_number: number | string;
1213 episode_number: number | string;
1214 };
1215 }
1216
1217 interface GetDetails extends Common {
1218 query?: {
1219 append_to_response?: string;
1220 };
1221 }
1222
1223 interface GetChanges {
1224 pathParameters: {
1225 episode_id: number | string;
1226 };
1227 query?: {
1228 start_date?: string;
1229 end_date?: string;
1230 page?: number | string;
1231 };
1232 }
1233
1234 interface GetAccountStates extends Common {
1235 query?: {
1236 guest_session_id?: string;
1237 session_id?: string;
1238 };
1239 }
1240
1241 interface GetCredits extends Common {}
1242
1243 interface GetExternalIDs extends Common {}
1244
1245 interface GetImages extends Common {}
1246
1247 interface GetTranslations extends Common {}
1248
1249 interface RateTVEpisode extends Common {
1250 query?: {
1251 guest_session_id?: string;
1252 session_id?: string;
1253 };
1254 body: {
1255 value: number;
1256 };
1257 }
1258
1259 interface DeleteRating extends Common {
1260 query?: {
1261 guest_session_id?: string;
1262 session_id?: string;
1263 };
1264 }
1265
1266 interface GetVideos extends Common {}
1267 }
1268
1269 namespace Group {
1270 interface GetDetails {
1271 pathParameters: {
1272 id: string;
1273 };
1274 }
1275 }
1276 }
1277 }
1278
1279 namespace Responses {
1280 interface ResponseWithPage {
1281 page: number;
1282 total_pages: number;
1283 total_results: number;
1284 }
1285
1286 namespace Account {
1287 interface GetDetails {
1288 avatar: {
1289 gravatar: {
1290 hash: string;
1291 };
1292 };
1293 id: number;
1294 iso_639_1: string;
1295 iso_3166_1: string;
1296 name: string;
1297 include_adult: boolean;
1298 username: string;
1299 }
1300
1301 interface GetCreatedList extends ResponseWithPage {
1302 results: {
1303 description: string;
1304 favorite_count: number;
1305 id: number;
1306 item_count: number;
1307 iso_639_1: string;
1308 list_type: string;
1309 name: string;
1310 poster_path: null;
1311 }[];
1312 }
1313
1314 interface GetFavoriteMovies extends ResponseWithPage {
1315 results: Objects.Movie[];
1316 }
1317
1318 interface GetFavoriteTVShows extends ResponseWithPage {
1319 results: Objects.TVShow[];
1320 }
1321
1322 interface MarkAsFavorite extends Objects.Status {}
1323
1324 interface GetRatedMovies extends ResponseWithPage {
1325 results: Objects.MovieWithRating[];
1326 }
1327
1328 interface GetRatedTVShows extends ResponseWithPage {
1329 results: Objects.TVShowWithRating[];
1330 }
1331
1332 interface GetRatedTVEpisodes extends ResponseWithPage {
1333 results: {
1334 air_date: string;
1335 episode_number: number;
1336 id: number;
1337 name: string;
1338 overview: string;
1339 production_code: string | null;
1340 season_number: number;
1341 show_id: number;
1342 still_path: string | null;
1343 vote_average: number;
1344 vote_count: number;
1345 rating: number;
1346 }[];
1347 }
1348
1349 interface GetMovieWatchlist extends ResponseWithPage {
1350 results: Objects.Movie[];
1351 }
1352
1353 interface GetTVShowWatchlist extends ResponseWithPage {
1354 results: Objects.TVShow[];
1355 }
1356
1357 interface AddToWatchlist extends Objects.Status {}
1358 }
1359
1360 namespace Authentication {
1361 interface CreateGuestSession {
1362 success: boolean;
1363 guest_session_id: string;
1364 expires_at: string;
1365 }
1366
1367 interface CreateRequestToken {
1368 success: boolean;
1369 expires_at: string;
1370 request_token: string;
1371 }
1372
1373 interface CreateSession {
1374 success: boolean;
1375 session_id: string;
1376 }
1377
1378 interface CreateSessionWithLogin {
1379 success: boolean;
1380 expires_at: string;
1381 request_token: string;
1382 }
1383
1384 interface CreateSessionFromAccessToken {
1385 success: boolean;
1386 session_id: string;
1387 }
1388
1389 interface DeleteSession {
1390 success: boolean;
1391 }
1392 }
1393
1394 namespace Certification {
1395 interface Certification {
1396 certification: string;
1397 meaning: string;
1398 order: number;
1399 }
1400
1401 interface GetMovieCertifications {
1402 certifications: {
1403 US: Certification;
1404 CA: Certification;
1405 DE: Certification;
1406 GB: Certification;
1407 AU: Certification;
1408 BR: Certification;
1409 FR: Certification;
1410 NZ: Certification;
1411 IN: Certification;
1412 };
1413 }
1414
1415 interface GetTVCertifications {
1416 sertifications: {
1417 US: Certification;
1418 CA: Certification;
1419 AU: Certification;
1420 FR: Certification;
1421 RU: Certification;
1422 DE: Certification;
1423 TH: Certification;
1424 KR: Certification;
1425 GB: Certification;
1426 BR: Certification;
1427 };
1428 }
1429 }
1430
1431 namespace Collection {
1432 interface GetDetails {
1433 id: number;
1434 name: string;
1435 overview: string;
1436 poster_path: null;
1437 backdrop_path: string;
1438 parts: {
1439 adult: boolean;
1440 backdrop_path: null;
1441 original_language: string;
1442 original_title: string;
1443 overview: string;
1444 release_date: string;
1445 poster_path: string;
1446 popularity: number;
1447 title: string;
1448 video: boolean;
1449 vote_average: number;
1450 vote_count: number;
1451 }[];
1452 }
1453
1454 interface GetImages {
1455 id: number;
1456 backdrops: Objects.Image[];
1457 posters: Objects.Image[];
1458 }
1459
1460 interface GetTranslations {
1461 id: number;
1462 translations: Objects.Translation[];
1463 }
1464 }
1465
1466 namespace Company {
1467 interface Company {
1468 description: string;
1469 headquarters: string;
1470 homepage: string;
1471 id: number;
1472 logo_path: string;
1473 name: string;
1474 origin_country: string;
1475 parent_company: Company | null;
1476 }
1477
1478 interface GetDetails extends Company {}
1479
1480 interface GetAlternativeNames {
1481 id: number;
1482 results: {
1483 name: string;
1484 type: string;
1485 }[];
1486 }
1487
1488 interface GetImages {
1489 id: number;
1490 logos: {
1491 aspect_ration: number;
1492 file_path: string;
1493 height: number;
1494 id: number;
1495 file_type: '.svg' | '.png';
1496 vote_average: number;
1497 vote_count: number;
1498 width: number;
1499 }[];
1500 }
1501 }
1502
1503 namespace Configuration {
1504 interface GetAPIConfiguration {
1505 images: {
1506 base_url: string;
1507 secure_base_url: string;
1508 backdrop_sizes: string[];
1509 logo_sizes: string[];
1510 poster_sizes: string[];
1511 profile_sizes: string[];
1512 still_sizes: string;
1513 };
1514 change_keys: string[];
1515 }
1516
1517 interface GetCountries {
1518 iso_3166_1: string;
1519 english_name: string;
1520 }
1521
1522 interface GetJobs {
1523 department: string;
1524 jobs: string[];
1525 }
1526
1527 interface GetLanguages {
1528 iso_639_1: string;
1529 english_name: string;
1530 name: string;
1531 }
1532
1533 interface GetTimezones {
1534 iso_3166_1: string;
1535 zones: string[];
1536 }
1537 }
1538
1539 namespace Credit {
1540 type GetDetails = GetDetailsForTV | GetDetailsForMovie;
1541
1542 interface GetDetailsCommon {
1543 credit_type: string;
1544 department: string;
1545 job: string;
1546 id: string;
1547 person: {
1548 adult: boolean;
1549 gender: number;
1550 name: string;
1551 id: number;
1552 known_for: {
1553 original_name: string;
1554 id: number;
1555 name: string;
1556 vote_count: number;
1557 vote_average: number;
1558 first_air_date: string;
1559 poster_path: string | null;
1560 genre_ids: number[];
1561 original_language: string;
1562 backdrop_path: string | null;
1563 overview: string;
1564 origin_country: string[];
1565 popularity: number;
1566 media_type: 'movie' | 'tv';
1567 }[];
1568 known_for_department: string;
1569 profile_path: string;
1570 popularity: number;
1571 };
1572 }
1573
1574 interface GetDetailsForTV extends GetDetailsCommon {
1575 media: {
1576 id: number;
1577 original_language: string;
1578 overview: string;
1579 backdrop_path: string | null;
1580 poster_path: string | null;
1581 vote_count: number;
1582 vote_average: number;
1583 popularity: number;
1584 original_name: string;
1585 name: string;
1586 first_air_date: string;
1587 genre_ids: number[];
1588 origin_country: string[];
1589 episodes: Record<string, unknown>[]; // TODO
1590 seasons: {
1591 air_date: string;
1592 episode_count: number;
1593 id: number;
1594 name: string;
1595 overview: string;
1596 poster_path: string | null;
1597 season_number: number;
1598 show_id: number;
1599 }[];
1600 };
1601 media_type: 'tv';
1602 }
1603
1604 interface GetDetailsForMovie extends GetDetailsCommon {
1605 media: {
1606 id: number;
1607 original_language: string;
1608 overview: string;
1609 backdrop_path: string | null;
1610 poster_path: string | null;
1611 vote_count: number;
1612 vote_average: number;
1613 popularity: number;
1614 adult: boolean;
1615 genre_ids: number[];
1616 original_title: string;
1617 release_date: string;
1618 title: string;
1619 video: boolean;
1620 character: string;
1621 };
1622 media_type: 'movie';
1623 }
1624 }
1625
1626 namespace Discover {
1627 interface Movie extends ResponseWithPage {
1628 results: Objects.Movie[];
1629 }
1630
1631 interface TV extends ResponseWithPage {
1632 results: Objects.TVShow[];
1633 }
1634 }
1635
1636 namespace Find {
1637 type ByExternalID =
1638 | ByExternalIDMovie
1639 | ByExternalIDTV
1640 | ByExternalIDTVEpisode
1641 | ByExternalIDPerson;
1642
1643 interface ByExternalIDTV {
1644 tv_results: Objects.TVShow[];
1645 }
1646
1647 // eslint-disable-next-line @typescript-eslint/no-empty-interface
1648 interface ByExternalIDTVSeason {} // TODO
1649
1650 interface ByExternalIDMovie {
1651 movie_results: Objects.Movie[];
1652 }
1653
1654 interface ByExternalIDTVEpisode {
1655 tv_episode_results: {
1656 air_date: string;
1657 episode_number: number;
1658 id: number;
1659 name: string;
1660 overview: string;
1661 production_code: string | null;
1662 season_number: number;
1663 show_id: number;
1664 still_path: string | null;
1665 vote_average: number;
1666 vote_count: number;
1667 }[];
1668 }
1669
1670 interface ByExternalIDPerson {
1671 person_results: {
1672 adult: boolean;
1673 gender: number;
1674 name: string;
1675 id: number;
1676 known_for: Objects.MovieWithMediaType[] | Objects.TVShowWithMediaType[];
1677 known_for_department: string;
1678 profile_path: string | null;
1679 popularity: number;
1680 }[];
1681 }
1682 }
1683
1684 namespace Genre {
1685 interface Common {
1686 genres: {
1687 id: number;
1688 name: string;
1689 }[];
1690 }
1691 }
1692
1693 namespace GuestSession {
1694 interface GetRatedMovies extends ResponseWithPage {
1695 results: Objects.MovieWithRating[];
1696 }
1697
1698 interface GetRatedTVShows extends ResponseWithPage {
1699 results: Objects.TVShowWithRating[];
1700 }
1701
1702 interface GetRatedTVEpisodes extends ResponseWithPage {
1703 results: {
1704 air_date: string;
1705 episode_number: number;
1706 id: number;
1707 name: string;
1708 overview: string;
1709 production_code: string | null;
1710 season_number: number;
1711 show_id: number;
1712 still_path: string | null;
1713 vote_average: number;
1714 vote_count: number;
1715 rating: number;
1716 }[];
1717 }
1718 }
1719
1720 namespace Keyword {
1721 interface GetDetails {
1722 id: number;
1723 name: string;
1724 }
1725
1726 interface GetMovies extends ResponseWithPage {
1727 id: number;
1728 results: Objects.Movie[];
1729 }
1730 }
1731
1732 namespace List {
1733 interface GetDetails {
1734 created_by: string;
1735 description: string;
1736 favorite_count: number;
1737 id: string;
1738 item_count: number;
1739 iso_639_1: string;
1740 name: string;
1741 poster_path: string | null;
1742 items: Objects.Movie[];
1743 }
1744
1745 interface CheckItemStatus {
1746 id: string;
1747 item_present: boolean;
1748 }
1749
1750 interface CreateList extends Objects.Status {
1751 success: boolean;
1752 lsit_id: number;
1753 }
1754
1755 interface AddMovie extends Objects.Status {}
1756
1757 interface RemoveMovie extends Objects.Status {}
1758
1759 interface ClearList extends Objects.Status {}
1760
1761 interface DeleteList extends Objects.Status {}
1762 }
1763
1764 namespace Movie {
1765 interface Image {
1766 aspect_ratio: number;
1767 file_path: string;
1768 height: number;
1769 iso_639_1: string | null;
1770 vote_average: number;
1771 vote_count: number;
1772 width: number;
1773 }
1774
1775 interface GetDetails {
1776 adult: boolean;
1777 backdrop_path: string | null;
1778 belongs_to_collection: {
1779 id: number;
1780 name: string;
1781 poster_path: string | null;
1782 backdrop_path: string | null;
1783 } | null;
1784 budget: number;
1785 genres: {
1786 id: number;
1787 name: string;
1788 }[];
1789 homepage: string | null;
1790 id: number;
1791 imdb_id: string | null;
1792 original_language: string;
1793 original_title: string;
1794 overview: string | null;
1795 popularity: number;
1796 poster_path: string | null;
1797 production_companies: {
1798 name: string;
1799 id: number;
1800 logo_path: string | null;
1801 origin_country: string;
1802 }[];
1803 production_countries: {
1804 iso_3166_1: string;
1805 name: string;
1806 }[];
1807 release_date: string;
1808 revenue: string;
1809 runtime: number | null;
1810 spoken_language: {
1811 iso_639_1: string;
1812 name: string;
1813 }[];
1814 status:
1815 | 'Rumored'
1816 | 'Planned'
1817 | 'In Production'
1818 | 'Post Production'
1819 | 'Released'
1820 | 'Canceled';
1821 tagline: string | null;
1822 title: string;
1823 video: boolean;
1824 vote_average: number;
1825 vote_count: number;
1826 }
1827
1828 interface GetAccountStates extends Objects.AccountStates {}
1829
1830 interface GetAlternativeTitles extends Objects.AlternativeTitles {}
1831
1832 interface GetChanges extends Objects.ChangesMovie {}
1833
1834 interface GetCredits {
1835 id: number;
1836 cast: {
1837 cast_id: number;
1838 character: string;
1839 credit_id: string;
1840 gender: number | null;
1841 id: number;
1842 name: string;
1843 order: number;
1844 profile_path: string | null;
1845 }[];
1846 crew: {
1847 credit_id: string;
1848 department: string;
1849 gender: number | null;
1850 id: number;
1851 job: string;
1852 name: string;
1853 profile_path: string | null;
1854 }[];
1855 }
1856
1857 interface GetExternalIDs extends Objects.MovieExternalIDs {}
1858
1859 interface GetImages {
1860 id: number;
1861 backdrops: Image[];
1862 posters: Image[];
1863 }
1864
1865 interface GetKeywords {
1866 id: number;
1867 keywords: {
1868 id: number;
1869 name: string;
1870 }[];
1871 }
1872
1873 interface GetReleaseDates {
1874 id: number;
1875 results: {
1876 iso_3166_1: string;
1877 release_dates: {
1878 certification: string;
1879 iso_639_1: string;
1880 release_date: string;
1881 type: number;
1882 note: string;
1883 }[];
1884 }[];
1885 }
1886
1887 interface GetVideos extends Objects.Videos {}
1888
1889 interface GetTranslations {
1890 id: number;
1891 translations: {
1892 iso_639_1: string;
1893 iso_3166_1: string;
1894 name: string;
1895 english_name: string;
1896 data: {
1897 title: string;
1898 overview: string;
1899 homepage: string;
1900 };
1901 }[];
1902 }
1903
1904 interface GetRecommendations extends ResponseWithPage {
1905 results: Objects.Movie[];
1906 }
1907
1908 interface GetSimilarMovies extends ResponseWithPage {
1909 results: Objects.Movie[];
1910 }
1911
1912 interface GetReviews extends Objects.Reviews {}
1913
1914 interface GetLists extends ResponseWithPage {
1915 id: number;
1916 results: {
1917 description: string;
1918 favorite_count: number;
1919 id: number;
1920 item_count: number;
1921 iso_639_1: string;
1922 list_type: string;
1923 name: string;
1924 poster_path: string | null;
1925 }[];
1926 }
1927
1928 interface RateMovie extends Objects.Status {}
1929
1930 interface DeleteRating extends Objects.Status {}
1931
1932 interface GetLatest {
1933 adult: boolean;
1934 backdrop_path: string | null;
1935 belongs_to_collection: null;
1936 budget: number;
1937 genre_ids: {
1938 id: number;
1939 name: string;
1940 }[];
1941 homepage: string;
1942 id: number;
1943 imdb_id: string;
1944 original_language: string;
1945 original_title: string;
1946 overview: string;
1947 popularity: number;
1948 poster_path: string | null;
1949 // eslint-disable-next-line @typescript-eslint/ban-types
1950 production_companies: {}[];
1951 // eslint-disable-next-line @typescript-eslint/ban-types
1952 production_countries: {}[];
1953 release_date: string;
1954 revenue: number;
1955 runtime: number;
1956 // eslint-disable-next-line @typescript-eslint/ban-types
1957 spoken_languages: {}[];
1958 status: string;
1959 tagline: string;
1960 title: string;
1961 video: boolean;
1962 vote_average: number;
1963 vote_count: number;
1964 }
1965
1966 interface GetNowPlaying extends ResponseWithPage {
1967 results: Objects.Movie[];
1968 dates: {
1969 maximum: string;
1970 minimum: string;
1971 };
1972 }
1973
1974 interface GetPopular extends ResponseWithPage {
1975 results: Objects.Movie[];
1976 }
1977
1978 interface GetTopRated extends GetPopular {}
1979
1980 interface GetUpcoming extends GetNowPlaying {}
1981
1982 interface GetChangeList extends ResponseWithPage {
1983 results: {
1984 id: number;
1985 adult: boolean | null;
1986 }[];
1987 }
1988 }
1989
1990 namespace Network {
1991 interface GetDetails {
1992 headquarters: string;
1993 homepage: string;
1994 id: number;
1995 name: string;
1996 origin_country: string;
1997 }
1998
1999 interface GetAlternativeNames {
2000 id: number;
2001 results: {
2002 name: string;
2003 type: string;
2004 }[];
2005 }
2006
2007 interface GetImages {
2008 id: number;
2009 logos: {
2010 aspect_ratio: number;
2011 file_path: string;
2012 height: number;
2013 id: string;
2014 file_type:
2015 | '.svg'
2016 | '.png';
2017 vote_average: number;
2018 vote_count: number;
2019 width: number;
2020 }[];
2021 }
2022 }
2023
2024 namespace Trending {
2025 interface GetTrending extends ResponseWithPage {
2026 results: Objects.Movie[];
2027 }
2028 }
2029
2030 namespace Person {
2031 interface GetDetails {
2032 birthdate: string | null;
2033 known_for_department: string;
2034 deathday: string | null;
2035 id: number;
2036 also_known_as: string[];
2037 gender: 0 | 1 | 2;
2038 biography: string;
2039 popularity: number;
2040 place_of_birth: string | null;
2041 profile_path: string | null;
2042 adult: boolean;
2043 imdb_id: string;
2044 homepage: string | null;
2045 }
2046
2047 interface GetChanges {
2048 changes: {
2049 key: string;
2050 items: {
2051 id: string;
2052 action: string;
2053 time: string;
2054 original_value: {
2055 profile: {
2056 file_path: string;
2057 };
2058 };
2059 }[];
2060 }[];
2061 }
2062
2063 interface GetMovieCredits {
2064 cast: {
2065 character: string;
2066 credit_id: string;
2067 release_date: string;
2068 vote_count: number;
2069 video: boolean;
2070 adult: boolean;
2071 vote_average: number;
2072 title: string;
2073 genre_ids: number[];
2074 original_language: string;
2075 original_title: string;
2076 popularity: number;
2077 id: number;
2078 backdrop_path: string | null;
2079 overview: string;
2080 poster_path: string | null;
2081 }[];
2082 crew: {
2083 id: number;
2084 department: string;
2085 original_language: string;
2086 original_title: string;
2087 job: string;
2088 overview: string;
2089 vote_count: number;
2090 video: boolean;
2091 poster_path: string | null;
2092 backdrop_path: string | null;
2093 title: string;
2094 popularity: number;
2095 genre_ids: number[];
2096 vote_average: number;
2097 adult: boolean;
2098 release_date: string;
2099 credit_id: string;
2100 }[];
2101 id: number;
2102 }
2103
2104 interface GetTVCredits {
2105 cast: {
2106 credit_id: string;
2107 original_name: string;
2108 id: number;
2109 genre_ids: number[];
2110 character: string;
2111 name: string;
2112 poster_path: string | null;
2113 vote_count: number;
2114 vote_average: number;
2115 popularity: number;
2116 episode_count: number;
2117 original_language: string;
2118 first_air_date: string;
2119 backdrop_path: string | null;
2120 overview: string;
2121 origin_country: string[];
2122 }[];
2123 crew: {
2124 id: number;
2125 department: string;
2126 original_language: string;
2127 episode_count: number;
2128 job: string;
2129 overview: string;
2130 origin_country: string[];
2131 original_name: string;
2132 genre_ids: number[];
2133 name: string;
2134 first_air_date: string;
2135 backrop_path: string | null;
2136 popularity: number;
2137 vote_count: number;
2138 vote_average: number;
2139 poster_path: string | null;
2140 credit_id: string;
2141 }[];
2142 id: number;
2143 }
2144
2145 interface GetCombinedCredits {
2146 cast: {
2147 id: number;
2148 original_language: string;
2149 episode_count: number;
2150 overview: string;
2151 origin_country: string[];
2152 original_name: string;
2153 genre_ids: number[];
2154 name: string;
2155 media_type: string;
2156 poster_path: string | null;
2157 first_air_date: string;
2158 vote_average: number;
2159 vote_count: number;
2160 character: string;
2161 backdrop_path: string | null;
2162 popularity: number;
2163 credit_id: string;
2164 original_title: string;
2165 video: boolean;
2166 release_date: string;
2167 title: string;
2168 adult: boolean;
2169 }[];
2170 crew: {
2171 id: number;
2172 department: string;
2173 original_language: string;
2174 episode_count: number;
2175 job: string;
2176 overview: string;
2177 origin_country: string[];
2178 original_name: string;
2179 vote_count: number;
2180 name: string;
2181 media_type: string;
2182 popularity: number;
2183 credit_id: string;
2184 backdrop_path: string | null;
2185 first_air_date: string;
2186 vote_average: number;
2187 genre_ids: number[];
2188 poster_path: string | null;
2189 original_title: string;
2190 video: boolean;
2191 title: string;
2192 adult: boolean;
2193 release_date: string;
2194 }[];
2195 id: number;
2196 }
2197
2198 interface GetExternalIDs {
2199 imdb_id: string | null;
2200 facebook_id: string | null;
2201 freebase_mid: string | null;
2202 freebase_id: string | null;
2203 tvrage_id: number | null;
2204 twitter_id: string | null;
2205 instagram_id: string | null;
2206 id: number;
2207 }
2208
2209 interface GetImages {
2210 id: number;
2211 profiles: Objects.Image[];
2212 }
2213
2214 interface GetTaggedImages extends ResponseWithPage {
2215 id: number;
2216 results: {
2217 aspect_ratio: number;
2218 file_path: string;
2219 height: number;
2220 id: string;
2221 iso_639_1: string | null;
2222 vote_average: number;
2223 vote_count: number;
2224 width: number;
2225 media: Objects.Movie | Objects.TVShow;
2226 media_type: 'tv' | 'movie';
2227 }[];
2228 }
2229
2230 interface GetTranslations {
2231 id: number;
2232 translations: {
2233 iso_639_1: string;
2234 iso_3166_1: string;
2235 name: string;
2236 data: {
2237 biography: string;
2238 };
2239 english_name: string;
2240 }[];
2241 }
2242
2243 interface GetLatest {
2244 adult: boolean;
2245 also_known_as: Record<string, unknown>;
2246 biography: string | null;
2247 birthday: string | null;
2248 deathday: string | null;
2249 gender: 0 | 1 | 2;
2250 homepage: string | null;
2251 id: number;
2252 imdb_id: string | null;
2253 name: string;
2254 place_of_birth: string | null;
2255 popularity: number;
2256 profile_path: string | null;
2257 }
2258
2259 interface GetPopular extends ResponseWithPage {
2260 results: {
2261 profile_path: string;
2262 adult: boolean;
2263 id: number;
2264 known_for: (Objects.MovieWithMediaType | Objects.TVShowWithMediaType)[];
2265 name: string;
2266 popularity: number;
2267 }[];
2268 }
2269
2270 interface GetChangeList extends ResponseWithPage {
2271 results: {
2272 id: number;
2273 adult: boolean | null;
2274 }[];
2275 }
2276 }
2277
2278 namespace Review {
2279 interface GetDetails {
2280 id: string;
2281 author: string;
2282 content: string;
2283 iso_639_1: string;
2284 media_id: number;
2285 media_title: string;
2286 media_type: string;
2287 url: string;
2288 }
2289 }
2290
2291 namespace Search {
2292 interface Companies extends ResponseWithPage {
2293 results: {
2294 id: number;
2295 logo_path: string | null;
2296 name: string;
2297 }[];
2298 }
2299
2300 interface Collections extends ResponseWithPage {
2301 results: {
2302 id: number;
2303 backdrop_path: string | null;
2304 name: string;
2305 }[];
2306 }
2307
2308 interface Keywords extends ResponseWithPage {
2309 results: {
2310 id: number;
2311 name: string;
2312 }[];
2313 }
2314
2315 interface Movies extends ResponseWithPage {
2316 results: Objects.Movie[];
2317 }
2318
2319 interface Multi extends ResponseWithPage {
2320 results: (
2321 | Objects.MovieWithMediaType
2322 | Objects.TVShowWithMediaType
2323 | Objects.PersonWithMediaType
2324 )[];
2325 }
2326
2327 interface People extends ResponseWithPage {
2328 results: Objects.Person[];
2329 }
2330
2331 interface TVShows extends ResponseWithPage {
2332 results: Objects.TVShow[];
2333 }
2334 }
2335
2336 namespace TV {
2337 interface GetDetails {
2338 backdrop_path: string | null;
2339 created_by: {
2340 id: number;
2341 credit_id: string;
2342 name: string;
2343 gender: 0 | 1 | 2;
2344 profile_path: string;
2345 }[];
2346 episode_run_time: number[];
2347 first_air_date: string;
2348 genres: {
2349 id: number;
2350 name: string;
2351 }[];
2352 homepage: string;
2353 id: number;
2354 in_production: boolean;
2355 languages: string[];
2356 last_air_date: string;
2357 last_episode_to_air: Objects.Episode;
2358 name: string;
2359 next_episode_to_air: Objects.Episode | null;
2360 networks: {
2361 name: string;
2362 id: number;
2363 logo_path: string;
2364 origin_country: string;
2365 }[];
2366 number_of_episodes: number;
2367 number_of_seasons: number;
2368 origin_country: string[];
2369 original_language: string;
2370 original_name: string;
2371 overview: string;
2372 popularity: number;
2373 poster_path: string | null;
2374 production_companies: {
2375 id: number;
2376 logo_path: string | null;
2377 name: string;
2378 origin_country: string;
2379 }[];
2380 seasons: {
2381 air_date: string;
2382 episode_count: number;
2383 id: number;
2384 name: string;
2385 overview: string;
2386 poster_path: string | null;
2387 season_number: number;
2388 }[];
2389 status: string;
2390 type: string;
2391 vote_average: number;
2392 vote_count: number;
2393 }
2394
2395 interface GetAccountStates extends Objects.AccountStates {}
2396
2397 interface GetAlternativeTitles extends Objects.AlternativeTitles {}
2398
2399 interface GetChanges {
2400 changes: {
2401 key: string;
2402 items: {
2403 id: string;
2404 action: string;
2405 time: string;
2406 }[];
2407 }[];
2408 }
2409
2410 interface GetContentRatings {
2411 results: {
2412 iso_3166_1: string;
2413 rating: string;
2414 }[];
2415 id: number;
2416 }
2417
2418 interface GetCredits {
2419 cast: {
2420 character: string;
2421 credit_id: string;
2422 gender: 0 | 1 | 2 | null;
2423 id: number;
2424 name: string;
2425 order: number;
2426 profile_path: string | null;
2427 }[];
2428 crew: {
2429 credit_id: string;
2430 department: string;
2431 gender: 0 | 1 | 2 | null;
2432 id: number;
2433 job: string;
2434 name: string;
2435 profile_path: string | null;
2436 }[];
2437 id: number;
2438 }
2439
2440 interface GetEpisodeGroups {
2441 results: {
2442 description: string;
2443 episode_count: number;
2444 group_count: number;
2445 id: string;
2446 name: string;
2447 network: {
2448 id: number;
2449 logo_path: string;
2450 name: string;
2451 origin_country: string;
2452 } | null;
2453 type: string;
2454 }[];
2455 id: number;
2456 }
2457
2458 interface GetExternalIDs extends Objects.TVShowExternalIDs {}
2459
2460 interface GetImages {
2461 backdrops: Objects.Image[];
2462 id: number;
2463 posters: Objects.Image[];
2464 }
2465
2466 interface GetKeywords {
2467 id: number;
2468 results: {
2469 id: number;
2470 name: string;
2471 }[];
2472 }
2473
2474 interface GetRecommendations extends ResponseWithPage {
2475 results: Objects.TVShow[];
2476 }
2477
2478 interface GetReviews extends Objects.Reviews {}
2479
2480 interface GetScreenedTheatrically {
2481 id: number;
2482 results: {
2483 id: number;
2484 episode_number: number;
2485 season_number: number;
2486 }[];
2487 }
2488
2489 interface GetSimilarTVShows extends ResponseWithPage {
2490 results: Objects.TVShow[];
2491 }
2492
2493 interface GetTranslations {
2494 id: number;
2495 translations: {
2496 iso_639_1: string;
2497 iso_3166_1: string;
2498 name: string;
2499 english_name: string;
2500 data: {
2501 name: string;
2502 overview: string;
2503 homepage: string;
2504 };
2505 }[];
2506 }
2507
2508 interface GetVideos extends Objects.Videos {}
2509
2510 interface RateTVShow extends Objects.Status {}
2511
2512 interface DeleteRating extends Objects.Status {}
2513
2514 interface GetLatest {
2515 backdrop_path: string | null;
2516 created_by: {
2517 id: number;
2518 credit_id: string;
2519 name: string;
2520 gender: 0 | 1 | 2;
2521 profile_path: string;
2522 };
2523 episode_run_time: number[];
2524 first_air_date: string;
2525 genres: {
2526 id: number;
2527 name: string;
2528 }[];
2529 homepage: string;
2530 id: number;
2531 in_production: boolean;
2532 languages: string[];
2533 last_air_date: string;
2534 name: string;
2535 networs: {
2536 id: number;
2537 name: string;
2538 }[];
2539 number_of_episodes: number;
2540 number_of_seasons: number;
2541 origin_country: string[];
2542 original_language: string;
2543 original_name: string;
2544 overview: string | null;
2545 popularity: number;
2546 poster_path: string | null;
2547 production_companies: Record<string, unknown>[]; // TODO
2548 seasons: {
2549 air_date: string;
2550 episode_count: number;
2551 id: number;
2552 poster_path: string | null;
2553 season_number: number;
2554 }[];
2555 status: string;
2556 type: string;
2557 vote_average: number;
2558 vote_count: number;
2559 }
2560
2561 interface GetAiringToday extends ResponseWithPage {
2562 results: Objects.TVShow[];
2563 }
2564
2565 interface GetOnAir extends GetAiringToday {}
2566
2567 interface GetPopular extends GetAiringToday {}
2568
2569 interface GetTopRated extends GetAiringToday {}
2570
2571 interface GetChangeList extends ResponseWithPage {
2572 results: {
2573 id: number;
2574 adult: boolean | null;
2575 }[];
2576 }
2577
2578 namespace Season {
2579 interface GetDetails {
2580 // eslint-disable-next-line @typescript-eslint/naming-convention
2581 _id: string;
2582 air_date: string;
2583 episodes: {
2584 air_date: string;
2585 crew: {
2586 id: number;
2587 credit_id: string;
2588 name: string;
2589 department: string;
2590 job: string;
2591 profile_path: string | null;
2592 }[];
2593 episode_number: number;
2594 guest_stars: {
2595 id: number;
2596 name: string;
2597 credit_id: string;
2598 character: string;
2599 order: number;
2600 gender: 0 | 1 | 2;
2601 profile_path: string | null;
2602 }[];
2603 name: string;
2604 overview: string;
2605 id: number;
2606 production_code: string | null;
2607 season_number: number;
2608 still_path: string | null;
2609 vote_average: number;
2610 vote_count: number;
2611 }[];
2612 name: string;
2613 overview: string;
2614 id: number;
2615 poster_path: string | null;
2616 season_number: number;
2617 }
2618
2619 interface GetChanges {
2620 changes: {
2621 key: string;
2622 items: {
2623 id: string;
2624 action: string;
2625 time: string;
2626 value: {
2627 episode_id: number;
2628 episode_season: number;
2629 } | string;
2630 iso_639_1: string;
2631 original_value: string;
2632 }[];
2633 }[];
2634 }
2635
2636 interface GetAccountStates {
2637 id: number;
2638 results: {
2639 id: number;
2640 episode_number: number;
2641 rated: {
2642 value: number;
2643 } | boolean;
2644 }[];
2645 }
2646
2647 interface GetCredits {
2648 cast: {
2649 character: string;
2650 credit_id: string;
2651 gender: 0 | 1 | 2 | null;
2652 id: number;
2653 name: string;
2654 order: number;
2655 profile_path: string | null;
2656 }[];
2657 crew: {
2658 credit_id: string;
2659 department: string;
2660 gender: 0 | 1 | 2 | null;
2661 id: number;
2662 job: string;
2663 name: string;
2664 profile_path: string | null;
2665 }[];
2666 id: number;
2667 }
2668
2669 interface GetExternalIDs {
2670 freebase_mid: string | null;
2671 freebase_id: string | null;
2672 tvdb_id: number | null;
2673 tvrage_id: number | null;
2674 id: number;
2675 }
2676
2677 interface GetImages {
2678 id: number;
2679 posters: Objects.Image[];
2680 }
2681
2682 interface GetVideos extends Objects.Videos {}
2683 }
2684
2685 namespace Episode {
2686 interface GetDetails {
2687 air_date: string;
2688 crew: {
2689 id: number;
2690 credit_id: string;
2691 name: string;
2692 department: string;
2693 job: string;
2694 profile_path: string | null;
2695 }[];
2696 episode_number: number;
2697 guest_stars: {
2698 id: number;
2699 name: string;
2700 credit_id: string;
2701 character: string;
2702 order: number;
2703 profile_path: string | null;
2704 }[];
2705 name: string;
2706 overview: string;
2707 id: number;
2708 production_code: string | null;
2709 season_number: number;
2710 still_path: string | null;
2711 vote_average: number;
2712 vote_count: number;
2713 }
2714
2715 interface GetChanges {
2716 changes: {
2717 key: string;
2718 items: {
2719 id: string;
2720 action: string;
2721 time: string;
2722 value: string;
2723 iso_639_1: string;
2724 }[];
2725 }[];
2726 }
2727
2728 interface GetAccountStates {
2729 id: number;
2730 rated: {
2731 value: number;
2732 } | boolean;
2733 }
2734
2735 interface GetCredits {
2736 id: number;
2737 cast: {
2738 character: string;
2739 credit_id: string;
2740 gender: 0 | 1 | 2;
2741 id: number;
2742 name: string;
2743 order: number;
2744 profile_path: string | null;
2745 }[];
2746 crew: {
2747 id: number;
2748 credit_id: string;
2749 name: string;
2750 department: string;
2751 job: string;
2752 gender: 0 | 1 | 2;
2753 profile_path: string | null;
2754 }[];
2755 guest_stars: {
2756 id: number;
2757 name: string;
2758 credit_id: string;
2759 character: string;
2760 order: number;
2761 gender: 0 | 1 | 2;
2762 profile_path: string | null;
2763 }[];
2764 }
2765
2766 interface GetExternalIDs {
2767 imdb_id: string | null;
2768 freebase_mid: string | null;
2769 freebase_id: string | null;
2770 tvdb_id: number | null;
2771 tvrage_id: number | null;
2772 id: number;
2773 }
2774
2775 interface GetImages {
2776 id: number;
2777 stills: Objects.Image[];
2778 }
2779
2780 interface GetTranslations {
2781 id: number;
2782 translations: {
2783 iso_3166_1: string;
2784 iso_639_1: string;
2785 name: string;
2786 english_name: string;
2787 data: {
2788 name: string;
2789 overview: string;
2790 };
2791 }[];
2792 }
2793
2794 interface RateTVEpisode extends Objects.Status {}
2795
2796 interface DeleteRating extends Objects.Status {}
2797
2798 interface GetVideos extends Objects.Videos {}
2799 }
2800
2801 namespace Group {
2802 interface GetDetails {
2803 description: string;
2804 episode_count: number;
2805 group_count: number;
2806 groups: {
2807 id: string;
2808 name: string;
2809 order: number;
2810 episodes: {
2811 air_date: string;
2812 episode_number: number;
2813 id: number;
2814 name: string;
2815 overview: string;
2816 production_code: null;
2817 season_number: number;
2818 show_id: number;
2819 still_path: string | null;
2820 vote_average: number;
2821 vote_count: number;
2822 order: number;
2823 }[];
2824 locked: boolean;
2825 }[];
2826 id: string;
2827 name: string;
2828 network: {
2829 id: number;
2830 logo_path: string | null;
2831 name: string;
2832 origin_country: string;
2833 };
2834 type: number;
2835 }
2836 }
2837 }
2838 }
2839
2840 namespace Errors {
2841 interface BadRequest extends Error {
2842 code: number;
2843 errorCode: 400;
2844 }
2845
2846 interface UnauthorizedError extends Error {
2847 code: number;
2848 errorCode: 401;
2849 }
2850
2851 interface NotFoundError extends Error {
2852 code: number;
2853 errorCode: 404;
2854 }
2855
2856 interface RequestTimeout extends Error {
2857 code: number;
2858 errorCode: 408;
2859 }
2860
2861 /**
2862 * @deprecated Because limits does not exists anymore in API
2863 */
2864 interface TooManyRequests extends Error {
2865 code: number;
2866 errorCode: 429;
2867 }
2868 }
2869
2870 type Response<T> = Promise<{
2871 data: T;
2872 headers: IncomingHttpHeaders;
2873 }>;
2874
2875 interface ConstructorOptions {
2876 language?: string;
2877 }
2878}
2879
2880declare class MovieDB {
2881 public account: MovieDB.Endpoints.Account;
2882 public authentication: MovieDB.Endpoints.Authentication;
2883 public certification: MovieDB.Endpoints.Certification;
2884 public collection: MovieDB.Endpoints.Collection;
2885 public company: MovieDB.Endpoints.Company;
2886 public configuration: MovieDB.Endpoints.Configuration;
2887 public credit: MovieDB.Endpoints.Credit;
2888 public discover: MovieDB.Endpoints.Discover;
2889 public find: MovieDB.Endpoints.Find;
2890 public genre: MovieDB.Endpoints.Genre;
2891 public guestSession: MovieDB.Endpoints.GuestSession;
2892 public keyword: MovieDB.Endpoints.Keyword;
2893 public list: MovieDB.Endpoints.List;
2894 public movie: MovieDB.Endpoints.Movie;
2895 public network: MovieDB.Endpoints.Network;
2896 public trending: MovieDB.Endpoints.Trending;
2897 public person: MovieDB.Endpoints.Person;
2898 public review: MovieDB.Endpoints.Review;
2899 public search: MovieDB.Endpoints.Search;
2900 public tv: MovieDB.Endpoints.TV;
2901
2902 public constructor(apiKey: string, options?: MovieDB.ConstructorOptions);
2903 public setApiKey(apiKey: string): void;
2904 public setLanguage(language: string): void;
2905}
2906
2907export = MovieDB;