import { Changes, Credits, Images, Keywords, Recommendations, Reviews, Translations, Videos, } from '.'; export interface LanguageOption { language?: string; } export interface RegionOption { region?: string; } export interface PageOption { page?: number; } export type AppendToResponseKeys = | 'images' | 'videos' | 'credits' | 'recommendations' | 'reviews' | 'changes' | 'keywords'; export type AppendToResponse< K, T extends AppendToResponseKeys[] | undefined > = K & (T extends undefined ? object : T extends Array ? ('credits' extends T[number] ? { credits: Omit } : object) & ('videos' extends T[number] ? { videos: Omit } : object) & ('images' extends T[number] ? { images: Omit } : object) & ('recommendations' extends T[number] ? { recommendations: Recommendations } : object) & ('reviews' extends T[number] ? { reviews: Omit } : object) & ('reviews' extends T[number] ? { reviews: Omit } : object) & ('changes' extends T[number] ? { changes: Omit } : object) & ('keywords' extends T[number] ? { keywords: Omit } : object) : never);