spotted 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (677) hide show
  1. checksums.yaml +7 -0
  2. data/.ignore +2 -0
  3. data/CHANGELOG.md +25 -0
  4. data/README.md +236 -0
  5. data/SECURITY.md +27 -0
  6. data/lib/spotted/client.rb +169 -0
  7. data/lib/spotted/errors.rb +228 -0
  8. data/lib/spotted/file_part.rb +58 -0
  9. data/lib/spotted/internal/cursor_url_page.rb +86 -0
  10. data/lib/spotted/internal/oauth2.rb +87 -0
  11. data/lib/spotted/internal/transport/base_client.rb +567 -0
  12. data/lib/spotted/internal/transport/pooled_net_requester.rb +204 -0
  13. data/lib/spotted/internal/type/array_of.rb +168 -0
  14. data/lib/spotted/internal/type/base_model.rb +529 -0
  15. data/lib/spotted/internal/type/base_page.rb +55 -0
  16. data/lib/spotted/internal/type/boolean.rb +77 -0
  17. data/lib/spotted/internal/type/converter.rb +327 -0
  18. data/lib/spotted/internal/type/enum.rb +131 -0
  19. data/lib/spotted/internal/type/file_input.rb +111 -0
  20. data/lib/spotted/internal/type/hash_of.rb +188 -0
  21. data/lib/spotted/internal/type/request_parameters.rb +42 -0
  22. data/lib/spotted/internal/type/union.rb +237 -0
  23. data/lib/spotted/internal/type/unknown.rb +81 -0
  24. data/lib/spotted/internal/util.rb +915 -0
  25. data/lib/spotted/internal.rb +20 -0
  26. data/lib/spotted/models/album_list_params.rb +43 -0
  27. data/lib/spotted/models/album_list_response.rb +297 -0
  28. data/lib/spotted/models/album_list_tracks_params.rb +50 -0
  29. data/lib/spotted/models/album_restriction_object.rb +39 -0
  30. data/lib/spotted/models/album_retrieve_params.rb +33 -0
  31. data/lib/spotted/models/album_retrieve_response.rb +287 -0
  32. data/lib/spotted/models/artist_list_albums_params.rb +61 -0
  33. data/lib/spotted/models/artist_list_albums_response.rb +195 -0
  34. data/lib/spotted/models/artist_list_params.rb +27 -0
  35. data/lib/spotted/models/artist_list_related_artists_params.rb +14 -0
  36. data/lib/spotted/models/artist_list_related_artists_response.rb +16 -0
  37. data/lib/spotted/models/artist_list_response.rb +16 -0
  38. data/lib/spotted/models/artist_list_top_tracks_params.rb +33 -0
  39. data/lib/spotted/models/artist_list_top_tracks_response.rb +16 -0
  40. data/lib/spotted/models/artist_object.rb +108 -0
  41. data/lib/spotted/models/artist_retrieve_params.rb +14 -0
  42. data/lib/spotted/models/audio_analysis_retrieve_params.rb +14 -0
  43. data/lib/spotted/models/audio_analysis_retrieve_response.rb +628 -0
  44. data/lib/spotted/models/audio_feature_list_params.rb +27 -0
  45. data/lib/spotted/models/audio_feature_list_response.rb +214 -0
  46. data/lib/spotted/models/audio_feature_retrieve_params.rb +14 -0
  47. data/lib/spotted/models/audio_feature_retrieve_response.rb +203 -0
  48. data/lib/spotted/models/audiobook_list_chapters_params.rb +50 -0
  49. data/lib/spotted/models/audiobook_list_params.rb +43 -0
  50. data/lib/spotted/models/audiobook_list_response.rb +266 -0
  51. data/lib/spotted/models/audiobook_retrieve_params.rb +33 -0
  52. data/lib/spotted/models/audiobook_retrieve_response.rb +255 -0
  53. data/lib/spotted/models/author_object.rb +19 -0
  54. data/lib/spotted/models/browse/category_get_playlists_params.rb +36 -0
  55. data/lib/spotted/models/browse/category_get_playlists_response.rb +29 -0
  56. data/lib/spotted/models/browse/category_list_params.rb +51 -0
  57. data/lib/spotted/models/browse/category_list_response.rb +121 -0
  58. data/lib/spotted/models/browse/category_retrieve_params.rb +34 -0
  59. data/lib/spotted/models/browse/category_retrieve_response.rb +47 -0
  60. data/lib/spotted/models/browse_get_featured_playlists_params.rb +49 -0
  61. data/lib/spotted/models/browse_get_featured_playlists_response.rb +27 -0
  62. data/lib/spotted/models/browse_get_new_releases_params.rb +34 -0
  63. data/lib/spotted/models/browse_get_new_releases_response.rb +245 -0
  64. data/lib/spotted/models/chapter_list_params.rb +43 -0
  65. data/lib/spotted/models/chapter_list_response.rb +408 -0
  66. data/lib/spotted/models/chapter_restriction_object.rb +29 -0
  67. data/lib/spotted/models/chapter_retrieve_params.rb +33 -0
  68. data/lib/spotted/models/chapter_retrieve_response.rb +398 -0
  69. data/lib/spotted/models/copyright_object.rb +28 -0
  70. data/lib/spotted/models/episode_list_params.rb +43 -0
  71. data/lib/spotted/models/episode_list_response.rb +16 -0
  72. data/lib/spotted/models/episode_object.rb +382 -0
  73. data/lib/spotted/models/episode_restriction_object.rb +28 -0
  74. data/lib/spotted/models/episode_retrieve_params.rb +33 -0
  75. data/lib/spotted/models/external_id_object.rb +35 -0
  76. data/lib/spotted/models/external_url_object.rb +20 -0
  77. data/lib/spotted/models/followers_object.rb +28 -0
  78. data/lib/spotted/models/image_object.rb +35 -0
  79. data/lib/spotted/models/linked_track_object.rb +53 -0
  80. data/lib/spotted/models/market_list_params.rb +14 -0
  81. data/lib/spotted/models/market_list_response.rb +16 -0
  82. data/lib/spotted/models/me/album_check_params.rb +29 -0
  83. data/lib/spotted/models/me/album_check_response.rb +10 -0
  84. data/lib/spotted/models/me/album_list_params.rb +52 -0
  85. data/lib/spotted/models/me/album_list_response.rb +318 -0
  86. data/lib/spotted/models/me/album_remove_params.rb +31 -0
  87. data/lib/spotted/models/me/album_save_params.rb +31 -0
  88. data/lib/spotted/models/me/audiobook_check_params.rb +29 -0
  89. data/lib/spotted/models/me/audiobook_check_response.rb +10 -0
  90. data/lib/spotted/models/me/audiobook_list_params.rb +36 -0
  91. data/lib/spotted/models/me/audiobook_list_response.rb +287 -0
  92. data/lib/spotted/models/me/audiobook_remove_params.rb +29 -0
  93. data/lib/spotted/models/me/audiobook_save_params.rb +29 -0
  94. data/lib/spotted/models/me/context_object.rb +46 -0
  95. data/lib/spotted/models/me/device_object.rb +82 -0
  96. data/lib/spotted/models/me/episode_check_params.rb +29 -0
  97. data/lib/spotted/models/me/episode_check_response.rb +10 -0
  98. data/lib/spotted/models/me/episode_list_params.rb +52 -0
  99. data/lib/spotted/models/me/episode_list_response.rb +32 -0
  100. data/lib/spotted/models/me/episode_remove_params.rb +31 -0
  101. data/lib/spotted/models/me/episode_save_params.rb +31 -0
  102. data/lib/spotted/models/me/following_check_params.rb +49 -0
  103. data/lib/spotted/models/me/following_check_response.rb +10 -0
  104. data/lib/spotted/models/me/following_follow_params.rb +50 -0
  105. data/lib/spotted/models/me/following_list_params.rb +53 -0
  106. data/lib/spotted/models/me/following_list_response.rb +94 -0
  107. data/lib/spotted/models/me/following_unfollow_params.rb +50 -0
  108. data/lib/spotted/models/me/player/queue_add_params.rb +38 -0
  109. data/lib/spotted/models/me/player/queue_get_params.rb +18 -0
  110. data/lib/spotted/models/me/player/queue_get_response.rb +59 -0
  111. data/lib/spotted/models/me/player_get_currently_playing_params.rb +48 -0
  112. data/lib/spotted/models/me/player_get_currently_playing_response.rb +175 -0
  113. data/lib/spotted/models/me/player_get_devices_params.rb +16 -0
  114. data/lib/spotted/models/me/player_get_devices_response.rb +18 -0
  115. data/lib/spotted/models/me/player_get_state_params.rb +48 -0
  116. data/lib/spotted/models/me/player_get_state_response.rb +200 -0
  117. data/lib/spotted/models/me/player_list_recently_played_params.rb +45 -0
  118. data/lib/spotted/models/me/player_list_recently_played_response.rb +35 -0
  119. data/lib/spotted/models/me/player_pause_playback_params.rb +28 -0
  120. data/lib/spotted/models/me/player_seek_to_position_params.rb +38 -0
  121. data/lib/spotted/models/me/player_set_repeat_mode_params.rb +38 -0
  122. data/lib/spotted/models/me/player_set_volume_params.rb +36 -0
  123. data/lib/spotted/models/me/player_skip_next_params.rb +28 -0
  124. data/lib/spotted/models/me/player_skip_previous_params.rb +28 -0
  125. data/lib/spotted/models/me/player_start_playback_params.rb +68 -0
  126. data/lib/spotted/models/me/player_toggle_shuffle_params.rb +37 -0
  127. data/lib/spotted/models/me/player_transfer_params.rb +40 -0
  128. data/lib/spotted/models/me/playlist_list_params.rb +36 -0
  129. data/lib/spotted/models/me/show_check_params.rb +29 -0
  130. data/lib/spotted/models/me/show_check_response.rb +10 -0
  131. data/lib/spotted/models/me/show_list_params.rb +36 -0
  132. data/lib/spotted/models/me/show_list_response.rb +197 -0
  133. data/lib/spotted/models/me/show_remove_params.rb +47 -0
  134. data/lib/spotted/models/me/show_save_params.rb +31 -0
  135. data/lib/spotted/models/me/top_list_top_artists_params.rb +47 -0
  136. data/lib/spotted/models/me/top_list_top_tracks_params.rb +47 -0
  137. data/lib/spotted/models/me/track_check_params.rb +29 -0
  138. data/lib/spotted/models/me/track_check_response.rb +10 -0
  139. data/lib/spotted/models/me/track_list_params.rb +52 -0
  140. data/lib/spotted/models/me/track_list_response.rb +34 -0
  141. data/lib/spotted/models/me/track_remove_params.rb +31 -0
  142. data/lib/spotted/models/me/track_save_params.rb +74 -0
  143. data/lib/spotted/models/me_retrieve_params.rb +14 -0
  144. data/lib/spotted/models/me_retrieve_response.rb +157 -0
  145. data/lib/spotted/models/narrator_object.rb +19 -0
  146. data/lib/spotted/models/paging_playlist_object.rb +66 -0
  147. data/lib/spotted/models/playlist_retrieve_params.rb +63 -0
  148. data/lib/spotted/models/playlist_retrieve_response.rb +217 -0
  149. data/lib/spotted/models/playlist_track_object.rb +64 -0
  150. data/lib/spotted/models/playlist_tracks_ref_object.rb +28 -0
  151. data/lib/spotted/models/playlist_update_params.rb +56 -0
  152. data/lib/spotted/models/playlist_user_object.rb +65 -0
  153. data/lib/spotted/models/playlists/follower_check_params.rb +29 -0
  154. data/lib/spotted/models/playlists/follower_check_response.rb +10 -0
  155. data/lib/spotted/models/playlists/follower_follow_params.rb +30 -0
  156. data/lib/spotted/models/playlists/follower_unfollow_params.rb +16 -0
  157. data/lib/spotted/models/playlists/image_list_params.rb +16 -0
  158. data/lib/spotted/models/playlists/image_list_response.rb +10 -0
  159. data/lib/spotted/models/playlists/image_update_params.rb +24 -0
  160. data/lib/spotted/models/playlists/track_add_params.rb +45 -0
  161. data/lib/spotted/models/playlists/track_add_response.rb +18 -0
  162. data/lib/spotted/models/playlists/track_list_params.rb +82 -0
  163. data/lib/spotted/models/playlists/track_remove_params.rb +52 -0
  164. data/lib/spotted/models/playlists/track_remove_response.rb +18 -0
  165. data/lib/spotted/models/playlists/track_update_params.rb +67 -0
  166. data/lib/spotted/models/playlists/track_update_response.rb +18 -0
  167. data/lib/spotted/models/recommendation_get_params.rb +549 -0
  168. data/lib/spotted/models/recommendation_get_response.rb +86 -0
  169. data/lib/spotted/models/recommendation_list_available_genre_seeds_params.rb +14 -0
  170. data/lib/spotted/models/recommendation_list_available_genre_seeds_response.rb +16 -0
  171. data/lib/spotted/models/resume_point_object.rb +27 -0
  172. data/lib/spotted/models/search_retrieve_params.rb +120 -0
  173. data/lib/spotted/models/search_retrieve_response.rb +930 -0
  174. data/lib/spotted/models/show_list_episodes_params.rb +50 -0
  175. data/lib/spotted/models/show_list_params.rb +43 -0
  176. data/lib/spotted/models/show_list_response.rb +176 -0
  177. data/lib/spotted/models/show_retrieve_params.rb +33 -0
  178. data/lib/spotted/models/show_retrieve_response.rb +238 -0
  179. data/lib/spotted/models/simplified_artist_object.rb +73 -0
  180. data/lib/spotted/models/simplified_chapter_object.rb +209 -0
  181. data/lib/spotted/models/simplified_episode_object.rb +211 -0
  182. data/lib/spotted/models/simplified_playlist_object.rb +147 -0
  183. data/lib/spotted/models/simplified_track_object.rb +161 -0
  184. data/lib/spotted/models/time_interval_object.rb +32 -0
  185. data/lib/spotted/models/track_list_params.rb +43 -0
  186. data/lib/spotted/models/track_list_response.rb +16 -0
  187. data/lib/spotted/models/track_object.rb +375 -0
  188. data/lib/spotted/models/track_restriction_object.rb +28 -0
  189. data/lib/spotted/models/track_retrieve_params.rb +33 -0
  190. data/lib/spotted/models/user_retrieve_profile_params.rb +14 -0
  191. data/lib/spotted/models/user_retrieve_profile_response.rb +90 -0
  192. data/lib/spotted/models/users/playlist_create_params.rb +65 -0
  193. data/lib/spotted/models/users/playlist_create_response.rb +219 -0
  194. data/lib/spotted/models/users/playlist_list_params.rb +36 -0
  195. data/lib/spotted/models.rb +168 -0
  196. data/lib/spotted/request_options.rb +77 -0
  197. data/lib/spotted/resources/albums.rb +102 -0
  198. data/lib/spotted/resources/artists.rb +150 -0
  199. data/lib/spotted/resources/audio_analysis.rb +41 -0
  200. data/lib/spotted/resources/audio_features.rb +67 -0
  201. data/lib/spotted/resources/audiobooks.rb +105 -0
  202. data/lib/spotted/resources/browse/categories.rb +105 -0
  203. data/lib/spotted/resources/browse.rb +78 -0
  204. data/lib/spotted/resources/chapters.rb +72 -0
  205. data/lib/spotted/resources/episodes.rb +69 -0
  206. data/lib/spotted/resources/markets.rb +32 -0
  207. data/lib/spotted/resources/me/albums.rb +127 -0
  208. data/lib/spotted/resources/me/audiobooks.rb +121 -0
  209. data/lib/spotted/resources/me/episodes.rb +138 -0
  210. data/lib/spotted/resources/me/following.rb +133 -0
  211. data/lib/spotted/resources/me/player/queue.rb +65 -0
  212. data/lib/spotted/resources/me/player.rb +382 -0
  213. data/lib/spotted/resources/me/playlists.rb +44 -0
  214. data/lib/spotted/resources/me/shows.rb +127 -0
  215. data/lib/spotted/resources/me/top.rb +76 -0
  216. data/lib/spotted/resources/me/tracks.rb +121 -0
  217. data/lib/spotted/resources/me.rb +69 -0
  218. data/lib/spotted/resources/playlists/followers.rb +93 -0
  219. data/lib/spotted/resources/playlists/images.rb +67 -0
  220. data/lib/spotted/resources/playlists/tracks.rb +157 -0
  221. data/lib/spotted/resources/playlists.rb +91 -0
  222. data/lib/spotted/resources/recommendations.rb +160 -0
  223. data/lib/spotted/resources/search.rb +51 -0
  224. data/lib/spotted/resources/shows.rb +102 -0
  225. data/lib/spotted/resources/tracks.rb +69 -0
  226. data/lib/spotted/resources/users/playlists.rb +82 -0
  227. data/lib/spotted/resources/users.rb +41 -0
  228. data/lib/spotted/version.rb +5 -0
  229. data/lib/spotted.rb +257 -0
  230. data/manifest.yaml +15 -0
  231. data/rbi/spotted/client.rbi +104 -0
  232. data/rbi/spotted/errors.rbi +205 -0
  233. data/rbi/spotted/file_part.rbi +37 -0
  234. data/rbi/spotted/internal/cursor_url_page.rbi +22 -0
  235. data/rbi/spotted/internal/oauth2.rbi +34 -0
  236. data/rbi/spotted/internal/transport/base_client.rbi +292 -0
  237. data/rbi/spotted/internal/transport/pooled_net_requester.rbi +79 -0
  238. data/rbi/spotted/internal/type/array_of.rbi +104 -0
  239. data/rbi/spotted/internal/type/base_model.rbi +302 -0
  240. data/rbi/spotted/internal/type/base_page.rbi +42 -0
  241. data/rbi/spotted/internal/type/boolean.rbi +58 -0
  242. data/rbi/spotted/internal/type/converter.rbi +216 -0
  243. data/rbi/spotted/internal/type/enum.rbi +82 -0
  244. data/rbi/spotted/internal/type/file_input.rbi +59 -0
  245. data/rbi/spotted/internal/type/hash_of.rbi +104 -0
  246. data/rbi/spotted/internal/type/request_parameters.rbi +29 -0
  247. data/rbi/spotted/internal/type/union.rbi +128 -0
  248. data/rbi/spotted/internal/type/unknown.rbi +58 -0
  249. data/rbi/spotted/internal/util.rbi +484 -0
  250. data/rbi/spotted/internal.rbi +16 -0
  251. data/rbi/spotted/models/album_list_params.rbi +74 -0
  252. data/rbi/spotted/models/album_list_response.rbi +479 -0
  253. data/rbi/spotted/models/album_list_tracks_params.rbi +86 -0
  254. data/rbi/spotted/models/album_restriction_object.rbi +82 -0
  255. data/rbi/spotted/models/album_retrieve_params.rbi +59 -0
  256. data/rbi/spotted/models/album_retrieve_response.rbi +439 -0
  257. data/rbi/spotted/models/artist_list_albums_params.rbi +103 -0
  258. data/rbi/spotted/models/artist_list_albums_response.rbi +338 -0
  259. data/rbi/spotted/models/artist_list_params.rbi +44 -0
  260. data/rbi/spotted/models/artist_list_related_artists_params.rbi +30 -0
  261. data/rbi/spotted/models/artist_list_related_artists_response.rbi +30 -0
  262. data/rbi/spotted/models/artist_list_response.rbi +27 -0
  263. data/rbi/spotted/models/artist_list_top_tracks_params.rbi +59 -0
  264. data/rbi/spotted/models/artist_list_top_tracks_response.rbi +30 -0
  265. data/rbi/spotted/models/artist_object.rbi +166 -0
  266. data/rbi/spotted/models/artist_retrieve_params.rbi +27 -0
  267. data/rbi/spotted/models/audio_analysis_retrieve_params.rbi +30 -0
  268. data/rbi/spotted/models/audio_analysis_retrieve_response.rbi +1080 -0
  269. data/rbi/spotted/models/audio_feature_list_params.rbi +44 -0
  270. data/rbi/spotted/models/audio_feature_list_response.rbi +382 -0
  271. data/rbi/spotted/models/audio_feature_retrieve_params.rbi +27 -0
  272. data/rbi/spotted/models/audio_feature_retrieve_response.rbi +338 -0
  273. data/rbi/spotted/models/audiobook_list_chapters_params.rbi +89 -0
  274. data/rbi/spotted/models/audiobook_list_params.rbi +74 -0
  275. data/rbi/spotted/models/audiobook_list_response.rbi +377 -0
  276. data/rbi/spotted/models/audiobook_retrieve_params.rbi +59 -0
  277. data/rbi/spotted/models/audiobook_retrieve_response.rbi +332 -0
  278. data/rbi/spotted/models/author_object.rbi +30 -0
  279. data/rbi/spotted/models/browse/category_get_playlists_params.rbi +64 -0
  280. data/rbi/spotted/models/browse/category_get_playlists_response.rbi +51 -0
  281. data/rbi/spotted/models/browse/category_list_params.rbi +89 -0
  282. data/rbi/spotted/models/browse/category_list_response.rbi +204 -0
  283. data/rbi/spotted/models/browse/category_retrieve_params.rbi +62 -0
  284. data/rbi/spotted/models/browse/category_retrieve_response.rbi +68 -0
  285. data/rbi/spotted/models/browse_get_featured_playlists_params.rbi +87 -0
  286. data/rbi/spotted/models/browse_get_featured_playlists_response.rbi +49 -0
  287. data/rbi/spotted/models/browse_get_new_releases_params.rbi +59 -0
  288. data/rbi/spotted/models/browse_get_new_releases_response.rbi +423 -0
  289. data/rbi/spotted/models/chapter_list_params.rbi +74 -0
  290. data/rbi/spotted/models/chapter_list_response.rbi +588 -0
  291. data/rbi/spotted/models/chapter_restriction_object.rbi +50 -0
  292. data/rbi/spotted/models/chapter_retrieve_params.rbi +59 -0
  293. data/rbi/spotted/models/chapter_retrieve_response.rbi +551 -0
  294. data/rbi/spotted/models/copyright_object.rbi +41 -0
  295. data/rbi/spotted/models/episode_list_params.rbi +74 -0
  296. data/rbi/spotted/models/episode_list_response.rbi +30 -0
  297. data/rbi/spotted/models/episode_object.rbi +485 -0
  298. data/rbi/spotted/models/episode_restriction_object.rbi +48 -0
  299. data/rbi/spotted/models/episode_retrieve_params.rbi +59 -0
  300. data/rbi/spotted/models/external_id_object.rbi +50 -0
  301. data/rbi/spotted/models/external_url_object.rbi +32 -0
  302. data/rbi/spotted/models/followers_object.rbi +42 -0
  303. data/rbi/spotted/models/image_object.rbi +47 -0
  304. data/rbi/spotted/models/linked_track_object.rbi +88 -0
  305. data/rbi/spotted/models/market_list_params.rbi +27 -0
  306. data/rbi/spotted/models/market_list_response.rbi +26 -0
  307. data/rbi/spotted/models/me/album_check_params.rbi +46 -0
  308. data/rbi/spotted/models/me/album_check_response.rbi +13 -0
  309. data/rbi/spotted/models/me/album_list_params.rbi +88 -0
  310. data/rbi/spotted/models/me/album_list_response.rbi +529 -0
  311. data/rbi/spotted/models/me/album_remove_params.rbi +56 -0
  312. data/rbi/spotted/models/me/album_save_params.rbi +56 -0
  313. data/rbi/spotted/models/me/audiobook_check_params.rbi +46 -0
  314. data/rbi/spotted/models/me/audiobook_check_response.rbi +13 -0
  315. data/rbi/spotted/models/me/audiobook_list_params.rbi +61 -0
  316. data/rbi/spotted/models/me/audiobook_list_response.rbi +414 -0
  317. data/rbi/spotted/models/me/audiobook_remove_params.rbi +49 -0
  318. data/rbi/spotted/models/me/audiobook_save_params.rbi +46 -0
  319. data/rbi/spotted/models/me/context_object.rbi +77 -0
  320. data/rbi/spotted/models/me/device_object.rbi +123 -0
  321. data/rbi/spotted/models/me/episode_check_params.rbi +46 -0
  322. data/rbi/spotted/models/me/episode_check_response.rbi +13 -0
  323. data/rbi/spotted/models/me/episode_list_params.rbi +88 -0
  324. data/rbi/spotted/models/me/episode_list_response.rbi +55 -0
  325. data/rbi/spotted/models/me/episode_remove_params.rbi +56 -0
  326. data/rbi/spotted/models/me/episode_save_params.rbi +53 -0
  327. data/rbi/spotted/models/me/following_check_params.rbi +86 -0
  328. data/rbi/spotted/models/me/following_check_response.rbi +13 -0
  329. data/rbi/spotted/models/me/following_follow_params.rbi +91 -0
  330. data/rbi/spotted/models/me/following_list_params.rbi +89 -0
  331. data/rbi/spotted/models/me/following_list_response.rbi +187 -0
  332. data/rbi/spotted/models/me/following_unfollow_params.rbi +97 -0
  333. data/rbi/spotted/models/me/player/queue_add_params.rbi +63 -0
  334. data/rbi/spotted/models/me/player/queue_get_params.rbi +34 -0
  335. data/rbi/spotted/models/me/player/queue_get_response.rbi +143 -0
  336. data/rbi/spotted/models/me/player_get_currently_playing_params.rbi +88 -0
  337. data/rbi/spotted/models/me/player_get_currently_playing_response.rbi +304 -0
  338. data/rbi/spotted/models/me/player_get_devices_params.rbi +32 -0
  339. data/rbi/spotted/models/me/player_get_devices_response.rbi +34 -0
  340. data/rbi/spotted/models/me/player_get_state_params.rbi +85 -0
  341. data/rbi/spotted/models/me/player_get_state_response.rbi +335 -0
  342. data/rbi/spotted/models/me/player_list_recently_played_params.rbi +77 -0
  343. data/rbi/spotted/models/me/player_list_recently_played_response.rbi +67 -0
  344. data/rbi/spotted/models/me/player_pause_playback_params.rbi +50 -0
  345. data/rbi/spotted/models/me/player_seek_to_position_params.rbi +65 -0
  346. data/rbi/spotted/models/me/player_set_repeat_mode_params.rbi +65 -0
  347. data/rbi/spotted/models/me/player_set_volume_params.rbi +61 -0
  348. data/rbi/spotted/models/me/player_skip_next_params.rbi +47 -0
  349. data/rbi/spotted/models/me/player_skip_previous_params.rbi +50 -0
  350. data/rbi/spotted/models/me/player_start_playback_params.rbi +113 -0
  351. data/rbi/spotted/models/me/player_toggle_shuffle_params.rbi +63 -0
  352. data/rbi/spotted/models/me/player_transfer_params.rbi +66 -0
  353. data/rbi/spotted/models/me/playlist_list_params.rbi +61 -0
  354. data/rbi/spotted/models/me/show_check_params.rbi +46 -0
  355. data/rbi/spotted/models/me/show_check_response.rbi +13 -0
  356. data/rbi/spotted/models/me/show_list_params.rbi +61 -0
  357. data/rbi/spotted/models/me/show_list_response.rbi +277 -0
  358. data/rbi/spotted/models/me/show_remove_params.rbi +83 -0
  359. data/rbi/spotted/models/me/show_save_params.rbi +56 -0
  360. data/rbi/spotted/models/me/top_list_top_artists_params.rbi +81 -0
  361. data/rbi/spotted/models/me/top_list_top_tracks_params.rbi +81 -0
  362. data/rbi/spotted/models/me/track_check_params.rbi +46 -0
  363. data/rbi/spotted/models/me/track_check_response.rbi +13 -0
  364. data/rbi/spotted/models/me/track_list_params.rbi +88 -0
  365. data/rbi/spotted/models/me/track_list_response.rbi +58 -0
  366. data/rbi/spotted/models/me/track_remove_params.rbi +56 -0
  367. data/rbi/spotted/models/me/track_save_params.rbi +130 -0
  368. data/rbi/spotted/models/me_retrieve_params.rbi +27 -0
  369. data/rbi/spotted/models/me_retrieve_response.rbi +257 -0
  370. data/rbi/spotted/models/narrator_object.rbi +30 -0
  371. data/rbi/spotted/models/paging_playlist_object.rbi +83 -0
  372. data/rbi/spotted/models/playlist_retrieve_params.rbi +112 -0
  373. data/rbi/spotted/models/playlist_retrieve_response.rbi +327 -0
  374. data/rbi/spotted/models/playlist_track_object.rbi +101 -0
  375. data/rbi/spotted/models/playlist_tracks_ref_object.rbi +41 -0
  376. data/rbi/spotted/models/playlist_update_params.rbi +93 -0
  377. data/rbi/spotted/models/playlist_user_object.rbi +109 -0
  378. data/rbi/spotted/models/playlists/follower_check_params.rbi +52 -0
  379. data/rbi/spotted/models/playlists/follower_check_response.rbi +13 -0
  380. data/rbi/spotted/models/playlists/follower_follow_params.rbi +54 -0
  381. data/rbi/spotted/models/playlists/follower_unfollow_params.rbi +32 -0
  382. data/rbi/spotted/models/playlists/image_list_params.rbi +32 -0
  383. data/rbi/spotted/models/playlists/image_list_response.rbi +13 -0
  384. data/rbi/spotted/models/playlists/image_update_params.rbi +45 -0
  385. data/rbi/spotted/models/playlists/track_add_params.rbi +82 -0
  386. data/rbi/spotted/models/playlists/track_add_response.rbi +31 -0
  387. data/rbi/spotted/models/playlists/track_list_params.rbi +141 -0
  388. data/rbi/spotted/models/playlists/track_remove_params.rbi +100 -0
  389. data/rbi/spotted/models/playlists/track_remove_response.rbi +31 -0
  390. data/rbi/spotted/models/playlists/track_update_params.rbi +111 -0
  391. data/rbi/spotted/models/playlists/track_update_response.rbi +31 -0
  392. data/rbi/spotted/models/recommendation_get_params.rbi +864 -0
  393. data/rbi/spotted/models/recommendation_get_response.rbi +152 -0
  394. data/rbi/spotted/models/recommendation_list_available_genre_seeds_params.rbi +30 -0
  395. data/rbi/spotted/models/recommendation_list_available_genre_seeds_response.rbi +26 -0
  396. data/rbi/spotted/models/resume_point_object.rbi +47 -0
  397. data/rbi/spotted/models/search_retrieve_params.rbi +218 -0
  398. data/rbi/spotted/models/search_retrieve_response.rbi +1381 -0
  399. data/rbi/spotted/models/show_list_episodes_params.rbi +86 -0
  400. data/rbi/spotted/models/show_list_params.rbi +74 -0
  401. data/rbi/spotted/models/show_list_response.rbi +238 -0
  402. data/rbi/spotted/models/show_retrieve_params.rbi +59 -0
  403. data/rbi/spotted/models/show_retrieve_response.rbi +305 -0
  404. data/rbi/spotted/models/simplified_artist_object.rbi +121 -0
  405. data/rbi/spotted/models/simplified_chapter_object.rbi +287 -0
  406. data/rbi/spotted/models/simplified_episode_object.rbi +289 -0
  407. data/rbi/spotted/models/simplified_playlist_object.rbi +230 -0
  408. data/rbi/spotted/models/simplified_track_object.rbi +239 -0
  409. data/rbi/spotted/models/time_interval_object.rbi +54 -0
  410. data/rbi/spotted/models/track_list_params.rbi +74 -0
  411. data/rbi/spotted/models/track_list_response.rbi +27 -0
  412. data/rbi/spotted/models/track_object.rbi +556 -0
  413. data/rbi/spotted/models/track_restriction_object.rbi +48 -0
  414. data/rbi/spotted/models/track_retrieve_params.rbi +59 -0
  415. data/rbi/spotted/models/user_retrieve_profile_params.rbi +27 -0
  416. data/rbi/spotted/models/user_retrieve_profile_response.rbi +159 -0
  417. data/rbi/spotted/models/users/playlist_create_params.rbi +107 -0
  418. data/rbi/spotted/models/users/playlist_create_response.rbi +336 -0
  419. data/rbi/spotted/models/users/playlist_list_params.rbi +64 -0
  420. data/rbi/spotted/models.rbi +132 -0
  421. data/rbi/spotted/request_options.rbi +57 -0
  422. data/rbi/spotted/resources/albums.rbi +100 -0
  423. data/rbi/spotted/resources/artists.rbi +129 -0
  424. data/rbi/spotted/resources/audio_analysis.rbi +29 -0
  425. data/rbi/spotted/resources/audio_features.rbi +44 -0
  426. data/rbi/spotted/resources/audiobooks.rbi +105 -0
  427. data/rbi/spotted/resources/browse/categories.rbi +91 -0
  428. data/rbi/spotted/resources/browse.rbi +63 -0
  429. data/rbi/spotted/resources/chapters.rbi +69 -0
  430. data/rbi/spotted/resources/episodes.rbi +66 -0
  431. data/rbi/spotted/resources/markets.rbi +21 -0
  432. data/rbi/spotted/resources/me/albums.rbi +101 -0
  433. data/rbi/spotted/resources/me/audiobooks.rbi +86 -0
  434. data/rbi/spotted/resources/me/episodes.rbi +112 -0
  435. data/rbi/spotted/resources/me/following.rbi +99 -0
  436. data/rbi/spotted/resources/me/player/queue.rbi +45 -0
  437. data/rbi/spotted/resources/me/player.rbi +315 -0
  438. data/rbi/spotted/resources/me/playlists.rbi +34 -0
  439. data/rbi/spotted/resources/me/shows.rbi +101 -0
  440. data/rbi/spotted/resources/me/top.rbi +62 -0
  441. data/rbi/spotted/resources/me/tracks.rbi +112 -0
  442. data/rbi/spotted/resources/me.rbi +49 -0
  443. data/rbi/spotted/resources/playlists/followers.rbi +70 -0
  444. data/rbi/spotted/resources/playlists/images.rbi +47 -0
  445. data/rbi/spotted/resources/playlists/tracks.rbi +177 -0
  446. data/rbi/spotted/resources/playlists.rbi +102 -0
  447. data/rbi/spotted/resources/recommendations.rbi +336 -0
  448. data/rbi/spotted/resources/search.rbi +71 -0
  449. data/rbi/spotted/resources/shows.rbi +100 -0
  450. data/rbi/spotted/resources/tracks.rbi +66 -0
  451. data/rbi/spotted/resources/users/playlists.rbi +78 -0
  452. data/rbi/spotted/resources/users.rbi +29 -0
  453. data/rbi/spotted/version.rbi +5 -0
  454. data/sig/spotted/client.rbs +62 -0
  455. data/sig/spotted/errors.rbs +117 -0
  456. data/sig/spotted/file_part.rbs +21 -0
  457. data/sig/spotted/internal/cursor_url_page.rbs +13 -0
  458. data/sig/spotted/internal/oauth2.rbs +19 -0
  459. data/sig/spotted/internal/transport/base_client.rbs +131 -0
  460. data/sig/spotted/internal/transport/pooled_net_requester.rbs +45 -0
  461. data/sig/spotted/internal/type/array_of.rbs +48 -0
  462. data/sig/spotted/internal/type/base_model.rbs +102 -0
  463. data/sig/spotted/internal/type/base_page.rbs +24 -0
  464. data/sig/spotted/internal/type/boolean.rbs +26 -0
  465. data/sig/spotted/internal/type/converter.rbs +79 -0
  466. data/sig/spotted/internal/type/enum.rbs +32 -0
  467. data/sig/spotted/internal/type/file_input.rbs +25 -0
  468. data/sig/spotted/internal/type/hash_of.rbs +48 -0
  469. data/sig/spotted/internal/type/request_parameters.rbs +17 -0
  470. data/sig/spotted/internal/type/union.rbs +52 -0
  471. data/sig/spotted/internal/type/unknown.rbs +26 -0
  472. data/sig/spotted/internal/util.rbs +185 -0
  473. data/sig/spotted/internal.rbs +9 -0
  474. data/sig/spotted/models/album_list_params.rbs +30 -0
  475. data/sig/spotted/models/album_list_response.rbs +237 -0
  476. data/sig/spotted/models/album_list_tracks_params.rbs +38 -0
  477. data/sig/spotted/models/album_restriction_object.rbs +34 -0
  478. data/sig/spotted/models/album_retrieve_params.rbs +25 -0
  479. data/sig/spotted/models/album_retrieve_response.rbs +222 -0
  480. data/sig/spotted/models/artist_list_albums_params.rbs +49 -0
  481. data/sig/spotted/models/artist_list_albums_response.rbs +141 -0
  482. data/sig/spotted/models/artist_list_params.rbs +20 -0
  483. data/sig/spotted/models/artist_list_related_artists_params.rbs +15 -0
  484. data/sig/spotted/models/artist_list_related_artists_response.rbs +14 -0
  485. data/sig/spotted/models/artist_list_response.rbs +13 -0
  486. data/sig/spotted/models/artist_list_top_tracks_params.rbs +25 -0
  487. data/sig/spotted/models/artist_list_top_tracks_response.rbs +14 -0
  488. data/sig/spotted/models/artist_object.rbs +101 -0
  489. data/sig/spotted/models/artist_retrieve_params.rbs +15 -0
  490. data/sig/spotted/models/audio_analysis_retrieve_params.rbs +15 -0
  491. data/sig/spotted/models/audio_analysis_retrieve_response.rbs +518 -0
  492. data/sig/spotted/models/audio_feature_list_params.rbs +20 -0
  493. data/sig/spotted/models/audio_feature_list_response.rbs +170 -0
  494. data/sig/spotted/models/audio_feature_retrieve_params.rbs +15 -0
  495. data/sig/spotted/models/audio_feature_retrieve_response.rbs +153 -0
  496. data/sig/spotted/models/audiobook_list_chapters_params.rbs +38 -0
  497. data/sig/spotted/models/audiobook_list_params.rbs +30 -0
  498. data/sig/spotted/models/audiobook_list_response.rbs +189 -0
  499. data/sig/spotted/models/audiobook_retrieve_params.rbs +25 -0
  500. data/sig/spotted/models/audiobook_retrieve_response.rbs +174 -0
  501. data/sig/spotted/models/author_object.rbs +15 -0
  502. data/sig/spotted/models/browse/category_get_playlists_params.rbs +34 -0
  503. data/sig/spotted/models/browse/category_get_playlists_response.rbs +30 -0
  504. data/sig/spotted/models/browse/category_list_params.rbs +40 -0
  505. data/sig/spotted/models/browse/category_list_response.rbs +101 -0
  506. data/sig/spotted/models/browse/category_retrieve_params.rbs +27 -0
  507. data/sig/spotted/models/browse/category_retrieve_response.rbs +37 -0
  508. data/sig/spotted/models/browse_get_featured_playlists_params.rbs +38 -0
  509. data/sig/spotted/models/browse_get_featured_playlists_response.rbs +28 -0
  510. data/sig/spotted/models/browse_get_new_releases_params.rbs +32 -0
  511. data/sig/spotted/models/browse_get_new_releases_response.rbs +185 -0
  512. data/sig/spotted/models/chapter_list_params.rbs +30 -0
  513. data/sig/spotted/models/chapter_list_response.rbs +286 -0
  514. data/sig/spotted/models/chapter_restriction_object.rbs +15 -0
  515. data/sig/spotted/models/chapter_retrieve_params.rbs +25 -0
  516. data/sig/spotted/models/chapter_retrieve_response.rbs +271 -0
  517. data/sig/spotted/models/copyright_object.rbs +19 -0
  518. data/sig/spotted/models/episode_list_params.rbs +30 -0
  519. data/sig/spotted/models/episode_list_response.rbs +13 -0
  520. data/sig/spotted/models/episode_object.rbs +259 -0
  521. data/sig/spotted/models/episode_restriction_object.rbs +15 -0
  522. data/sig/spotted/models/episode_retrieve_params.rbs +25 -0
  523. data/sig/spotted/models/external_id_object.rbs +23 -0
  524. data/sig/spotted/models/external_url_object.rbs +15 -0
  525. data/sig/spotted/models/followers_object.rbs +17 -0
  526. data/sig/spotted/models/image_object.rbs +17 -0
  527. data/sig/spotted/models/linked_track_object.rbs +52 -0
  528. data/sig/spotted/models/market_list_params.rbs +14 -0
  529. data/sig/spotted/models/market_list_response.rbs +15 -0
  530. data/sig/spotted/models/me/album_check_params.rbs +25 -0
  531. data/sig/spotted/models/me/album_check_response.rbs +9 -0
  532. data/sig/spotted/models/me/album_list_params.rbs +40 -0
  533. data/sig/spotted/models/me/album_list_response.rbs +249 -0
  534. data/sig/spotted/models/me/album_remove_params.rbs +28 -0
  535. data/sig/spotted/models/me/album_save_params.rbs +28 -0
  536. data/sig/spotted/models/me/audiobook_check_params.rbs +25 -0
  537. data/sig/spotted/models/me/audiobook_check_response.rbs +9 -0
  538. data/sig/spotted/models/me/audiobook_list_params.rbs +34 -0
  539. data/sig/spotted/models/me/audiobook_list_response.rbs +204 -0
  540. data/sig/spotted/models/me/audiobook_remove_params.rbs +25 -0
  541. data/sig/spotted/models/me/audiobook_save_params.rbs +25 -0
  542. data/sig/spotted/models/me/context_object.rbs +47 -0
  543. data/sig/spotted/models/me/device_object.rbs +69 -0
  544. data/sig/spotted/models/me/episode_check_params.rbs +25 -0
  545. data/sig/spotted/models/me/episode_check_response.rbs +9 -0
  546. data/sig/spotted/models/me/episode_list_params.rbs +40 -0
  547. data/sig/spotted/models/me/episode_list_response.rbs +25 -0
  548. data/sig/spotted/models/me/episode_remove_params.rbs +28 -0
  549. data/sig/spotted/models/me/episode_save_params.rbs +26 -0
  550. data/sig/spotted/models/me/following_check_params.rbs +41 -0
  551. data/sig/spotted/models/me/following_check_response.rbs +9 -0
  552. data/sig/spotted/models/me/following_follow_params.rbs +44 -0
  553. data/sig/spotted/models/me/following_list_params.rbs +52 -0
  554. data/sig/spotted/models/me/following_list_response.rbs +94 -0
  555. data/sig/spotted/models/me/following_unfollow_params.rbs +46 -0
  556. data/sig/spotted/models/me/player/queue_add_params.rbs +34 -0
  557. data/sig/spotted/models/me/player/queue_get_params.rbs +19 -0
  558. data/sig/spotted/models/me/player/queue_get_response.rbs +53 -0
  559. data/sig/spotted/models/me/player_get_currently_playing_params.rbs +34 -0
  560. data/sig/spotted/models/me/player_get_currently_playing_response.rbs +160 -0
  561. data/sig/spotted/models/me/player_get_devices_params.rbs +17 -0
  562. data/sig/spotted/models/me/player_get_devices_response.rbs +16 -0
  563. data/sig/spotted/models/me/player_get_state_params.rbs +34 -0
  564. data/sig/spotted/models/me/player_get_state_response.rbs +181 -0
  565. data/sig/spotted/models/me/player_list_recently_played_params.rbs +40 -0
  566. data/sig/spotted/models/me/player_list_recently_played_response.rbs +38 -0
  567. data/sig/spotted/models/me/player_pause_playback_params.rbs +27 -0
  568. data/sig/spotted/models/me/player_seek_to_position_params.rbs +32 -0
  569. data/sig/spotted/models/me/player_set_repeat_mode_params.rbs +32 -0
  570. data/sig/spotted/models/me/player_set_volume_params.rbs +32 -0
  571. data/sig/spotted/models/me/player_skip_next_params.rbs +27 -0
  572. data/sig/spotted/models/me/player_skip_previous_params.rbs +27 -0
  573. data/sig/spotted/models/me/player_start_playback_params.rbs +58 -0
  574. data/sig/spotted/models/me/player_toggle_shuffle_params.rbs +32 -0
  575. data/sig/spotted/models/me/player_transfer_params.rbs +32 -0
  576. data/sig/spotted/models/me/playlist_list_params.rbs +34 -0
  577. data/sig/spotted/models/me/show_check_params.rbs +25 -0
  578. data/sig/spotted/models/me/show_check_response.rbs +9 -0
  579. data/sig/spotted/models/me/show_list_params.rbs +34 -0
  580. data/sig/spotted/models/me/show_list_response.rbs +137 -0
  581. data/sig/spotted/models/me/show_remove_params.rbs +34 -0
  582. data/sig/spotted/models/me/show_save_params.rbs +28 -0
  583. data/sig/spotted/models/me/top_list_top_artists_params.rbs +40 -0
  584. data/sig/spotted/models/me/top_list_top_tracks_params.rbs +40 -0
  585. data/sig/spotted/models/me/track_check_params.rbs +25 -0
  586. data/sig/spotted/models/me/track_check_response.rbs +9 -0
  587. data/sig/spotted/models/me/track_list_params.rbs +40 -0
  588. data/sig/spotted/models/me/track_list_response.rbs +21 -0
  589. data/sig/spotted/models/me/track_remove_params.rbs +28 -0
  590. data/sig/spotted/models/me/track_save_params.rbs +49 -0
  591. data/sig/spotted/models/me_retrieve_params.rbs +14 -0
  592. data/sig/spotted/models/me_retrieve_response.rbs +121 -0
  593. data/sig/spotted/models/narrator_object.rbs +15 -0
  594. data/sig/spotted/models/paging_playlist_object.rbs +50 -0
  595. data/sig/spotted/models/playlist_retrieve_params.rbs +38 -0
  596. data/sig/spotted/models/playlist_retrieve_response.rbs +178 -0
  597. data/sig/spotted/models/playlist_track_object.rbs +55 -0
  598. data/sig/spotted/models/playlist_tracks_ref_object.rbs +19 -0
  599. data/sig/spotted/models/playlist_update_params.rbs +44 -0
  600. data/sig/spotted/models/playlist_user_object.rbs +64 -0
  601. data/sig/spotted/models/playlists/follower_check_params.rbs +27 -0
  602. data/sig/spotted/models/playlists/follower_check_response.rbs +9 -0
  603. data/sig/spotted/models/playlists/follower_follow_params.rbs +27 -0
  604. data/sig/spotted/models/playlists/follower_unfollow_params.rbs +17 -0
  605. data/sig/spotted/models/playlists/image_list_params.rbs +17 -0
  606. data/sig/spotted/models/playlists/image_list_response.rbs +9 -0
  607. data/sig/spotted/models/playlists/image_update_params.rbs +25 -0
  608. data/sig/spotted/models/playlists/track_add_params.rbs +34 -0
  609. data/sig/spotted/models/playlists/track_add_response.rbs +17 -0
  610. data/sig/spotted/models/playlists/track_list_params.rbs +58 -0
  611. data/sig/spotted/models/playlists/track_remove_params.rbs +47 -0
  612. data/sig/spotted/models/playlists/track_remove_response.rbs +17 -0
  613. data/sig/spotted/models/playlists/track_update_params.rbs +58 -0
  614. data/sig/spotted/models/playlists/track_update_response.rbs +17 -0
  615. data/sig/spotted/models/recommendation_get_params.rbs +350 -0
  616. data/sig/spotted/models/recommendation_get_response.rbs +79 -0
  617. data/sig/spotted/models/recommendation_list_available_genre_seeds_params.rbs +15 -0
  618. data/sig/spotted/models/recommendation_list_available_genre_seeds_response.rbs +14 -0
  619. data/sig/spotted/models/resume_point_object.rbs +23 -0
  620. data/sig/spotted/models/search_retrieve_params.rbs +88 -0
  621. data/sig/spotted/models/search_retrieve_response.rbs +706 -0
  622. data/sig/spotted/models/show_list_episodes_params.rbs +38 -0
  623. data/sig/spotted/models/show_list_params.rbs +30 -0
  624. data/sig/spotted/models/show_list_response.rbs +125 -0
  625. data/sig/spotted/models/show_retrieve_params.rbs +25 -0
  626. data/sig/spotted/models/show_retrieve_response.rbs +162 -0
  627. data/sig/spotted/models/simplified_artist_object.rbs +71 -0
  628. data/sig/spotted/models/simplified_chapter_object.rbs +147 -0
  629. data/sig/spotted/models/simplified_episode_object.rbs +147 -0
  630. data/sig/spotted/models/simplified_playlist_object.rbs +126 -0
  631. data/sig/spotted/models/simplified_track_object.rbs +140 -0
  632. data/sig/spotted/models/time_interval_object.rbs +28 -0
  633. data/sig/spotted/models/track_list_params.rbs +30 -0
  634. data/sig/spotted/models/track_list_response.rbs +13 -0
  635. data/sig/spotted/models/track_object.rbs +295 -0
  636. data/sig/spotted/models/track_restriction_object.rbs +15 -0
  637. data/sig/spotted/models/track_retrieve_params.rbs +25 -0
  638. data/sig/spotted/models/user_retrieve_profile_params.rbs +15 -0
  639. data/sig/spotted/models/user_retrieve_profile_response.rbs +85 -0
  640. data/sig/spotted/models/users/playlist_create_params.rbs +44 -0
  641. data/sig/spotted/models/users/playlist_create_response.rbs +180 -0
  642. data/sig/spotted/models/users/playlist_list_params.rbs +34 -0
  643. data/sig/spotted/models.rbs +127 -0
  644. data/sig/spotted/request_options.rbs +34 -0
  645. data/sig/spotted/resources/albums.rbs +27 -0
  646. data/sig/spotted/resources/artists.rbs +37 -0
  647. data/sig/spotted/resources/audio_analysis.rbs +12 -0
  648. data/sig/spotted/resources/audio_features.rbs +17 -0
  649. data/sig/spotted/resources/audiobooks.rbs +27 -0
  650. data/sig/spotted/resources/browse/categories.rbs +29 -0
  651. data/sig/spotted/resources/browse.rbs +22 -0
  652. data/sig/spotted/resources/chapters.rbs +19 -0
  653. data/sig/spotted/resources/episodes.rbs +19 -0
  654. data/sig/spotted/resources/markets.rbs +11 -0
  655. data/sig/spotted/resources/me/albums.rbs +31 -0
  656. data/sig/spotted/resources/me/audiobooks.rbs +27 -0
  657. data/sig/spotted/resources/me/episodes.rbs +31 -0
  658. data/sig/spotted/resources/me/following.rbs +34 -0
  659. data/sig/spotted/resources/me/player/queue.rbs +21 -0
  660. data/sig/spotted/resources/me/player.rbs +88 -0
  661. data/sig/spotted/resources/me/playlists.rbs +15 -0
  662. data/sig/spotted/resources/me/shows.rbs +31 -0
  663. data/sig/spotted/resources/me/top.rbs +23 -0
  664. data/sig/spotted/resources/me/tracks.rbs +32 -0
  665. data/sig/spotted/resources/me.rbs +29 -0
  666. data/sig/spotted/resources/playlists/followers.rbs +26 -0
  667. data/sig/spotted/resources/playlists/images.rbs +20 -0
  668. data/sig/spotted/resources/playlists/tracks.rbs +43 -0
  669. data/sig/spotted/resources/playlists.rbs +30 -0
  670. data/sig/spotted/resources/recommendations.rbs +62 -0
  671. data/sig/spotted/resources/search.rbs +17 -0
  672. data/sig/spotted/resources/shows.rbs +27 -0
  673. data/sig/spotted/resources/tracks.rbs +19 -0
  674. data/sig/spotted/resources/users/playlists.rbs +25 -0
  675. data/sig/spotted/resources/users.rbs +14 -0
  676. data/sig/spotted/version.rbs +3 -0
  677. metadata +734 -0
@@ -0,0 +1,1381 @@
1
+ # typed: strong
2
+
3
+ module Spotted
4
+ module Models
5
+ class SearchRetrieveResponse < Spotted::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ Spotted::Models::SearchRetrieveResponse,
10
+ Spotted::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ sig do
15
+ returns(T.nilable(Spotted::Models::SearchRetrieveResponse::Albums))
16
+ end
17
+ attr_reader :albums
18
+
19
+ sig do
20
+ params(
21
+ albums: Spotted::Models::SearchRetrieveResponse::Albums::OrHash
22
+ ).void
23
+ end
24
+ attr_writer :albums
25
+
26
+ sig do
27
+ returns(T.nilable(Spotted::Models::SearchRetrieveResponse::Artists))
28
+ end
29
+ attr_reader :artists
30
+
31
+ sig do
32
+ params(
33
+ artists: Spotted::Models::SearchRetrieveResponse::Artists::OrHash
34
+ ).void
35
+ end
36
+ attr_writer :artists
37
+
38
+ sig do
39
+ returns(T.nilable(Spotted::Models::SearchRetrieveResponse::Audiobooks))
40
+ end
41
+ attr_reader :audiobooks
42
+
43
+ sig do
44
+ params(
45
+ audiobooks:
46
+ Spotted::Models::SearchRetrieveResponse::Audiobooks::OrHash
47
+ ).void
48
+ end
49
+ attr_writer :audiobooks
50
+
51
+ sig do
52
+ returns(T.nilable(Spotted::Models::SearchRetrieveResponse::Episodes))
53
+ end
54
+ attr_reader :episodes
55
+
56
+ sig do
57
+ params(
58
+ episodes: Spotted::Models::SearchRetrieveResponse::Episodes::OrHash
59
+ ).void
60
+ end
61
+ attr_writer :episodes
62
+
63
+ sig { returns(T.nilable(Spotted::PagingPlaylistObject)) }
64
+ attr_reader :playlists
65
+
66
+ sig { params(playlists: Spotted::PagingPlaylistObject::OrHash).void }
67
+ attr_writer :playlists
68
+
69
+ sig { returns(T.nilable(Spotted::Models::SearchRetrieveResponse::Shows)) }
70
+ attr_reader :shows
71
+
72
+ sig do
73
+ params(
74
+ shows: Spotted::Models::SearchRetrieveResponse::Shows::OrHash
75
+ ).void
76
+ end
77
+ attr_writer :shows
78
+
79
+ sig do
80
+ returns(T.nilable(Spotted::Models::SearchRetrieveResponse::Tracks))
81
+ end
82
+ attr_reader :tracks
83
+
84
+ sig do
85
+ params(
86
+ tracks: Spotted::Models::SearchRetrieveResponse::Tracks::OrHash
87
+ ).void
88
+ end
89
+ attr_writer :tracks
90
+
91
+ sig do
92
+ params(
93
+ albums: Spotted::Models::SearchRetrieveResponse::Albums::OrHash,
94
+ artists: Spotted::Models::SearchRetrieveResponse::Artists::OrHash,
95
+ audiobooks:
96
+ Spotted::Models::SearchRetrieveResponse::Audiobooks::OrHash,
97
+ episodes: Spotted::Models::SearchRetrieveResponse::Episodes::OrHash,
98
+ playlists: Spotted::PagingPlaylistObject::OrHash,
99
+ shows: Spotted::Models::SearchRetrieveResponse::Shows::OrHash,
100
+ tracks: Spotted::Models::SearchRetrieveResponse::Tracks::OrHash
101
+ ).returns(T.attached_class)
102
+ end
103
+ def self.new(
104
+ albums: nil,
105
+ artists: nil,
106
+ audiobooks: nil,
107
+ episodes: nil,
108
+ playlists: nil,
109
+ shows: nil,
110
+ tracks: nil
111
+ )
112
+ end
113
+
114
+ sig do
115
+ override.returns(
116
+ {
117
+ albums: Spotted::Models::SearchRetrieveResponse::Albums,
118
+ artists: Spotted::Models::SearchRetrieveResponse::Artists,
119
+ audiobooks: Spotted::Models::SearchRetrieveResponse::Audiobooks,
120
+ episodes: Spotted::Models::SearchRetrieveResponse::Episodes,
121
+ playlists: Spotted::PagingPlaylistObject,
122
+ shows: Spotted::Models::SearchRetrieveResponse::Shows,
123
+ tracks: Spotted::Models::SearchRetrieveResponse::Tracks
124
+ }
125
+ )
126
+ end
127
+ def to_hash
128
+ end
129
+
130
+ class Albums < Spotted::Internal::Type::BaseModel
131
+ OrHash =
132
+ T.type_alias do
133
+ T.any(
134
+ Spotted::Models::SearchRetrieveResponse::Albums,
135
+ Spotted::Internal::AnyHash
136
+ )
137
+ end
138
+
139
+ # A link to the Web API endpoint returning the full result of the request
140
+ sig { returns(String) }
141
+ attr_accessor :href
142
+
143
+ sig do
144
+ returns(
145
+ T::Array[Spotted::Models::SearchRetrieveResponse::Albums::Item]
146
+ )
147
+ end
148
+ attr_accessor :items
149
+
150
+ # The maximum number of items in the response (as set in the query or by default).
151
+ sig { returns(Integer) }
152
+ attr_accessor :limit
153
+
154
+ # URL to the next page of items. ( `null` if none)
155
+ sig { returns(T.nilable(String)) }
156
+ attr_accessor :next_
157
+
158
+ # The offset of the items returned (as set in the query or by default)
159
+ sig { returns(Integer) }
160
+ attr_accessor :offset
161
+
162
+ # URL to the previous page of items. ( `null` if none)
163
+ sig { returns(T.nilable(String)) }
164
+ attr_accessor :previous
165
+
166
+ # The total number of items available to return.
167
+ sig { returns(Integer) }
168
+ attr_accessor :total
169
+
170
+ sig do
171
+ params(
172
+ href: String,
173
+ items:
174
+ T::Array[
175
+ Spotted::Models::SearchRetrieveResponse::Albums::Item::OrHash
176
+ ],
177
+ limit: Integer,
178
+ next_: T.nilable(String),
179
+ offset: Integer,
180
+ previous: T.nilable(String),
181
+ total: Integer
182
+ ).returns(T.attached_class)
183
+ end
184
+ def self.new(
185
+ # A link to the Web API endpoint returning the full result of the request
186
+ href:,
187
+ items:,
188
+ # The maximum number of items in the response (as set in the query or by default).
189
+ limit:,
190
+ # URL to the next page of items. ( `null` if none)
191
+ next_:,
192
+ # The offset of the items returned (as set in the query or by default)
193
+ offset:,
194
+ # URL to the previous page of items. ( `null` if none)
195
+ previous:,
196
+ # The total number of items available to return.
197
+ total:
198
+ )
199
+ end
200
+
201
+ sig do
202
+ override.returns(
203
+ {
204
+ href: String,
205
+ items:
206
+ T::Array[Spotted::Models::SearchRetrieveResponse::Albums::Item],
207
+ limit: Integer,
208
+ next_: T.nilable(String),
209
+ offset: Integer,
210
+ previous: T.nilable(String),
211
+ total: Integer
212
+ }
213
+ )
214
+ end
215
+ def to_hash
216
+ end
217
+
218
+ class Item < Spotted::Internal::Type::BaseModel
219
+ OrHash =
220
+ T.type_alias do
221
+ T.any(
222
+ Spotted::Models::SearchRetrieveResponse::Albums::Item,
223
+ Spotted::Internal::AnyHash
224
+ )
225
+ end
226
+
227
+ # The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids) for the
228
+ # album.
229
+ sig { returns(String) }
230
+ attr_accessor :id
231
+
232
+ # The type of the album.
233
+ sig do
234
+ returns(
235
+ Spotted::Models::SearchRetrieveResponse::Albums::Item::AlbumType::TaggedSymbol
236
+ )
237
+ end
238
+ attr_accessor :album_type
239
+
240
+ # The artists of the album. Each artist object includes a link in `href` to more
241
+ # detailed information about the artist.
242
+ sig { returns(T::Array[Spotted::SimplifiedArtistObject]) }
243
+ attr_accessor :artists
244
+
245
+ # The markets in which the album is available:
246
+ # [ISO 3166-1 alpha-2 country codes](http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).
247
+ # _**NOTE**: an album is considered available in a market when at least 1 of its
248
+ # tracks is available in that market._
249
+ sig { returns(T::Array[String]) }
250
+ attr_accessor :available_markets
251
+
252
+ # Known external URLs for this album.
253
+ sig { returns(Spotted::ExternalURLObject) }
254
+ attr_reader :external_urls
255
+
256
+ sig { params(external_urls: Spotted::ExternalURLObject::OrHash).void }
257
+ attr_writer :external_urls
258
+
259
+ # A link to the Web API endpoint providing full details of the album.
260
+ sig { returns(String) }
261
+ attr_accessor :href
262
+
263
+ # The cover art for the album in various sizes, widest first.
264
+ sig { returns(T::Array[Spotted::ImageObject]) }
265
+ attr_accessor :images
266
+
267
+ # The name of the album. In case of an album takedown, the value may be an empty
268
+ # string.
269
+ sig { returns(String) }
270
+ attr_accessor :name
271
+
272
+ # The date the album was first released.
273
+ sig { returns(String) }
274
+ attr_accessor :release_date
275
+
276
+ # The precision with which `release_date` value is known.
277
+ sig do
278
+ returns(
279
+ Spotted::Models::SearchRetrieveResponse::Albums::Item::ReleaseDatePrecision::TaggedSymbol
280
+ )
281
+ end
282
+ attr_accessor :release_date_precision
283
+
284
+ # The number of tracks in the album.
285
+ sig { returns(Integer) }
286
+ attr_accessor :total_tracks
287
+
288
+ # The object type.
289
+ sig do
290
+ returns(
291
+ Spotted::Models::SearchRetrieveResponse::Albums::Item::Type::TaggedSymbol
292
+ )
293
+ end
294
+ attr_accessor :type
295
+
296
+ # The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for the
297
+ # album.
298
+ sig { returns(String) }
299
+ attr_accessor :uri
300
+
301
+ # Included in the response when a content restriction is applied.
302
+ sig { returns(T.nilable(Spotted::AlbumRestrictionObject)) }
303
+ attr_reader :restrictions
304
+
305
+ sig do
306
+ params(restrictions: Spotted::AlbumRestrictionObject::OrHash).void
307
+ end
308
+ attr_writer :restrictions
309
+
310
+ sig do
311
+ params(
312
+ id: String,
313
+ album_type:
314
+ Spotted::Models::SearchRetrieveResponse::Albums::Item::AlbumType::OrSymbol,
315
+ artists: T::Array[Spotted::SimplifiedArtistObject::OrHash],
316
+ available_markets: T::Array[String],
317
+ external_urls: Spotted::ExternalURLObject::OrHash,
318
+ href: String,
319
+ images: T::Array[Spotted::ImageObject::OrHash],
320
+ name: String,
321
+ release_date: String,
322
+ release_date_precision:
323
+ Spotted::Models::SearchRetrieveResponse::Albums::Item::ReleaseDatePrecision::OrSymbol,
324
+ total_tracks: Integer,
325
+ type:
326
+ Spotted::Models::SearchRetrieveResponse::Albums::Item::Type::OrSymbol,
327
+ uri: String,
328
+ restrictions: Spotted::AlbumRestrictionObject::OrHash
329
+ ).returns(T.attached_class)
330
+ end
331
+ def self.new(
332
+ # The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids) for the
333
+ # album.
334
+ id:,
335
+ # The type of the album.
336
+ album_type:,
337
+ # The artists of the album. Each artist object includes a link in `href` to more
338
+ # detailed information about the artist.
339
+ artists:,
340
+ # The markets in which the album is available:
341
+ # [ISO 3166-1 alpha-2 country codes](http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).
342
+ # _**NOTE**: an album is considered available in a market when at least 1 of its
343
+ # tracks is available in that market._
344
+ available_markets:,
345
+ # Known external URLs for this album.
346
+ external_urls:,
347
+ # A link to the Web API endpoint providing full details of the album.
348
+ href:,
349
+ # The cover art for the album in various sizes, widest first.
350
+ images:,
351
+ # The name of the album. In case of an album takedown, the value may be an empty
352
+ # string.
353
+ name:,
354
+ # The date the album was first released.
355
+ release_date:,
356
+ # The precision with which `release_date` value is known.
357
+ release_date_precision:,
358
+ # The number of tracks in the album.
359
+ total_tracks:,
360
+ # The object type.
361
+ type:,
362
+ # The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for the
363
+ # album.
364
+ uri:,
365
+ # Included in the response when a content restriction is applied.
366
+ restrictions: nil
367
+ )
368
+ end
369
+
370
+ sig do
371
+ override.returns(
372
+ {
373
+ id: String,
374
+ album_type:
375
+ Spotted::Models::SearchRetrieveResponse::Albums::Item::AlbumType::TaggedSymbol,
376
+ artists: T::Array[Spotted::SimplifiedArtistObject],
377
+ available_markets: T::Array[String],
378
+ external_urls: Spotted::ExternalURLObject,
379
+ href: String,
380
+ images: T::Array[Spotted::ImageObject],
381
+ name: String,
382
+ release_date: String,
383
+ release_date_precision:
384
+ Spotted::Models::SearchRetrieveResponse::Albums::Item::ReleaseDatePrecision::TaggedSymbol,
385
+ total_tracks: Integer,
386
+ type:
387
+ Spotted::Models::SearchRetrieveResponse::Albums::Item::Type::TaggedSymbol,
388
+ uri: String,
389
+ restrictions: Spotted::AlbumRestrictionObject
390
+ }
391
+ )
392
+ end
393
+ def to_hash
394
+ end
395
+
396
+ # The type of the album.
397
+ module AlbumType
398
+ extend Spotted::Internal::Type::Enum
399
+
400
+ TaggedSymbol =
401
+ T.type_alias do
402
+ T.all(
403
+ Symbol,
404
+ Spotted::Models::SearchRetrieveResponse::Albums::Item::AlbumType
405
+ )
406
+ end
407
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
408
+
409
+ ALBUM =
410
+ T.let(
411
+ :album,
412
+ Spotted::Models::SearchRetrieveResponse::Albums::Item::AlbumType::TaggedSymbol
413
+ )
414
+ SINGLE =
415
+ T.let(
416
+ :single,
417
+ Spotted::Models::SearchRetrieveResponse::Albums::Item::AlbumType::TaggedSymbol
418
+ )
419
+ COMPILATION =
420
+ T.let(
421
+ :compilation,
422
+ Spotted::Models::SearchRetrieveResponse::Albums::Item::AlbumType::TaggedSymbol
423
+ )
424
+
425
+ sig do
426
+ override.returns(
427
+ T::Array[
428
+ Spotted::Models::SearchRetrieveResponse::Albums::Item::AlbumType::TaggedSymbol
429
+ ]
430
+ )
431
+ end
432
+ def self.values
433
+ end
434
+ end
435
+
436
+ # The precision with which `release_date` value is known.
437
+ module ReleaseDatePrecision
438
+ extend Spotted::Internal::Type::Enum
439
+
440
+ TaggedSymbol =
441
+ T.type_alias do
442
+ T.all(
443
+ Symbol,
444
+ Spotted::Models::SearchRetrieveResponse::Albums::Item::ReleaseDatePrecision
445
+ )
446
+ end
447
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
448
+
449
+ YEAR =
450
+ T.let(
451
+ :year,
452
+ Spotted::Models::SearchRetrieveResponse::Albums::Item::ReleaseDatePrecision::TaggedSymbol
453
+ )
454
+ MONTH =
455
+ T.let(
456
+ :month,
457
+ Spotted::Models::SearchRetrieveResponse::Albums::Item::ReleaseDatePrecision::TaggedSymbol
458
+ )
459
+ DAY =
460
+ T.let(
461
+ :day,
462
+ Spotted::Models::SearchRetrieveResponse::Albums::Item::ReleaseDatePrecision::TaggedSymbol
463
+ )
464
+
465
+ sig do
466
+ override.returns(
467
+ T::Array[
468
+ Spotted::Models::SearchRetrieveResponse::Albums::Item::ReleaseDatePrecision::TaggedSymbol
469
+ ]
470
+ )
471
+ end
472
+ def self.values
473
+ end
474
+ end
475
+
476
+ # The object type.
477
+ module Type
478
+ extend Spotted::Internal::Type::Enum
479
+
480
+ TaggedSymbol =
481
+ T.type_alias do
482
+ T.all(
483
+ Symbol,
484
+ Spotted::Models::SearchRetrieveResponse::Albums::Item::Type
485
+ )
486
+ end
487
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
488
+
489
+ ALBUM =
490
+ T.let(
491
+ :album,
492
+ Spotted::Models::SearchRetrieveResponse::Albums::Item::Type::TaggedSymbol
493
+ )
494
+
495
+ sig do
496
+ override.returns(
497
+ T::Array[
498
+ Spotted::Models::SearchRetrieveResponse::Albums::Item::Type::TaggedSymbol
499
+ ]
500
+ )
501
+ end
502
+ def self.values
503
+ end
504
+ end
505
+ end
506
+ end
507
+
508
+ class Artists < Spotted::Internal::Type::BaseModel
509
+ OrHash =
510
+ T.type_alias do
511
+ T.any(
512
+ Spotted::Models::SearchRetrieveResponse::Artists,
513
+ Spotted::Internal::AnyHash
514
+ )
515
+ end
516
+
517
+ # A link to the Web API endpoint returning the full result of the request
518
+ sig { returns(String) }
519
+ attr_accessor :href
520
+
521
+ sig { returns(T::Array[Spotted::ArtistObject]) }
522
+ attr_accessor :items
523
+
524
+ # The maximum number of items in the response (as set in the query or by default).
525
+ sig { returns(Integer) }
526
+ attr_accessor :limit
527
+
528
+ # URL to the next page of items. ( `null` if none)
529
+ sig { returns(T.nilable(String)) }
530
+ attr_accessor :next_
531
+
532
+ # The offset of the items returned (as set in the query or by default)
533
+ sig { returns(Integer) }
534
+ attr_accessor :offset
535
+
536
+ # URL to the previous page of items. ( `null` if none)
537
+ sig { returns(T.nilable(String)) }
538
+ attr_accessor :previous
539
+
540
+ # The total number of items available to return.
541
+ sig { returns(Integer) }
542
+ attr_accessor :total
543
+
544
+ sig do
545
+ params(
546
+ href: String,
547
+ items: T::Array[Spotted::ArtistObject::OrHash],
548
+ limit: Integer,
549
+ next_: T.nilable(String),
550
+ offset: Integer,
551
+ previous: T.nilable(String),
552
+ total: Integer
553
+ ).returns(T.attached_class)
554
+ end
555
+ def self.new(
556
+ # A link to the Web API endpoint returning the full result of the request
557
+ href:,
558
+ items:,
559
+ # The maximum number of items in the response (as set in the query or by default).
560
+ limit:,
561
+ # URL to the next page of items. ( `null` if none)
562
+ next_:,
563
+ # The offset of the items returned (as set in the query or by default)
564
+ offset:,
565
+ # URL to the previous page of items. ( `null` if none)
566
+ previous:,
567
+ # The total number of items available to return.
568
+ total:
569
+ )
570
+ end
571
+
572
+ sig do
573
+ override.returns(
574
+ {
575
+ href: String,
576
+ items: T::Array[Spotted::ArtistObject],
577
+ limit: Integer,
578
+ next_: T.nilable(String),
579
+ offset: Integer,
580
+ previous: T.nilable(String),
581
+ total: Integer
582
+ }
583
+ )
584
+ end
585
+ def to_hash
586
+ end
587
+ end
588
+
589
+ class Audiobooks < Spotted::Internal::Type::BaseModel
590
+ OrHash =
591
+ T.type_alias do
592
+ T.any(
593
+ Spotted::Models::SearchRetrieveResponse::Audiobooks,
594
+ Spotted::Internal::AnyHash
595
+ )
596
+ end
597
+
598
+ # A link to the Web API endpoint returning the full result of the request
599
+ sig { returns(String) }
600
+ attr_accessor :href
601
+
602
+ sig do
603
+ returns(
604
+ T::Array[Spotted::Models::SearchRetrieveResponse::Audiobooks::Item]
605
+ )
606
+ end
607
+ attr_accessor :items
608
+
609
+ # The maximum number of items in the response (as set in the query or by default).
610
+ sig { returns(Integer) }
611
+ attr_accessor :limit
612
+
613
+ # URL to the next page of items. ( `null` if none)
614
+ sig { returns(T.nilable(String)) }
615
+ attr_accessor :next_
616
+
617
+ # The offset of the items returned (as set in the query or by default)
618
+ sig { returns(Integer) }
619
+ attr_accessor :offset
620
+
621
+ # URL to the previous page of items. ( `null` if none)
622
+ sig { returns(T.nilable(String)) }
623
+ attr_accessor :previous
624
+
625
+ # The total number of items available to return.
626
+ sig { returns(Integer) }
627
+ attr_accessor :total
628
+
629
+ sig do
630
+ params(
631
+ href: String,
632
+ items:
633
+ T::Array[
634
+ Spotted::Models::SearchRetrieveResponse::Audiobooks::Item::OrHash
635
+ ],
636
+ limit: Integer,
637
+ next_: T.nilable(String),
638
+ offset: Integer,
639
+ previous: T.nilable(String),
640
+ total: Integer
641
+ ).returns(T.attached_class)
642
+ end
643
+ def self.new(
644
+ # A link to the Web API endpoint returning the full result of the request
645
+ href:,
646
+ items:,
647
+ # The maximum number of items in the response (as set in the query or by default).
648
+ limit:,
649
+ # URL to the next page of items. ( `null` if none)
650
+ next_:,
651
+ # The offset of the items returned (as set in the query or by default)
652
+ offset:,
653
+ # URL to the previous page of items. ( `null` if none)
654
+ previous:,
655
+ # The total number of items available to return.
656
+ total:
657
+ )
658
+ end
659
+
660
+ sig do
661
+ override.returns(
662
+ {
663
+ href: String,
664
+ items:
665
+ T::Array[
666
+ Spotted::Models::SearchRetrieveResponse::Audiobooks::Item
667
+ ],
668
+ limit: Integer,
669
+ next_: T.nilable(String),
670
+ offset: Integer,
671
+ previous: T.nilable(String),
672
+ total: Integer
673
+ }
674
+ )
675
+ end
676
+ def to_hash
677
+ end
678
+
679
+ class Item < Spotted::Internal::Type::BaseModel
680
+ OrHash =
681
+ T.type_alias do
682
+ T.any(
683
+ Spotted::Models::SearchRetrieveResponse::Audiobooks::Item,
684
+ Spotted::Internal::AnyHash
685
+ )
686
+ end
687
+
688
+ # The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids) for the
689
+ # audiobook.
690
+ sig { returns(String) }
691
+ attr_accessor :id
692
+
693
+ # The author(s) for the audiobook.
694
+ sig { returns(T::Array[Spotted::AuthorObject]) }
695
+ attr_accessor :authors
696
+
697
+ # A list of the countries in which the audiobook can be played, identified by
698
+ # their [ISO 3166-1 alpha-2](http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)
699
+ # code.
700
+ sig { returns(T::Array[String]) }
701
+ attr_accessor :available_markets
702
+
703
+ # The copyright statements of the audiobook.
704
+ sig { returns(T::Array[Spotted::CopyrightObject]) }
705
+ attr_accessor :copyrights
706
+
707
+ # A description of the audiobook. HTML tags are stripped away from this field, use
708
+ # `html_description` field in case HTML tags are needed.
709
+ sig { returns(String) }
710
+ attr_accessor :description
711
+
712
+ # Whether or not the audiobook has explicit content (true = yes it does; false =
713
+ # no it does not OR unknown).
714
+ sig { returns(T::Boolean) }
715
+ attr_accessor :explicit
716
+
717
+ # External URLs for this audiobook.
718
+ sig { returns(Spotted::ExternalURLObject) }
719
+ attr_reader :external_urls
720
+
721
+ sig { params(external_urls: Spotted::ExternalURLObject::OrHash).void }
722
+ attr_writer :external_urls
723
+
724
+ # A link to the Web API endpoint providing full details of the audiobook.
725
+ sig { returns(String) }
726
+ attr_accessor :href
727
+
728
+ # A description of the audiobook. This field may contain HTML tags.
729
+ sig { returns(String) }
730
+ attr_accessor :html_description
731
+
732
+ # The cover art for the audiobook in various sizes, widest first.
733
+ sig { returns(T::Array[Spotted::ImageObject]) }
734
+ attr_accessor :images
735
+
736
+ # A list of the languages used in the audiobook, identified by their
737
+ # [ISO 639](https://en.wikipedia.org/wiki/ISO_639) code.
738
+ sig { returns(T::Array[String]) }
739
+ attr_accessor :languages
740
+
741
+ # The media type of the audiobook.
742
+ sig { returns(String) }
743
+ attr_accessor :media_type
744
+
745
+ # The name of the audiobook.
746
+ sig { returns(String) }
747
+ attr_accessor :name
748
+
749
+ # The narrator(s) for the audiobook.
750
+ sig { returns(T::Array[Spotted::NarratorObject]) }
751
+ attr_accessor :narrators
752
+
753
+ # The publisher of the audiobook.
754
+ sig { returns(String) }
755
+ attr_accessor :publisher
756
+
757
+ # The number of chapters in this audiobook.
758
+ sig { returns(Integer) }
759
+ attr_accessor :total_chapters
760
+
761
+ # The object type.
762
+ sig do
763
+ returns(
764
+ Spotted::Models::SearchRetrieveResponse::Audiobooks::Item::Type::TaggedSymbol
765
+ )
766
+ end
767
+ attr_accessor :type
768
+
769
+ # The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for the
770
+ # audiobook.
771
+ sig { returns(String) }
772
+ attr_accessor :uri
773
+
774
+ # The edition of the audiobook.
775
+ sig { returns(T.nilable(String)) }
776
+ attr_reader :edition
777
+
778
+ sig { params(edition: String).void }
779
+ attr_writer :edition
780
+
781
+ sig do
782
+ params(
783
+ id: String,
784
+ authors: T::Array[Spotted::AuthorObject::OrHash],
785
+ available_markets: T::Array[String],
786
+ copyrights: T::Array[Spotted::CopyrightObject::OrHash],
787
+ description: String,
788
+ explicit: T::Boolean,
789
+ external_urls: Spotted::ExternalURLObject::OrHash,
790
+ href: String,
791
+ html_description: String,
792
+ images: T::Array[Spotted::ImageObject::OrHash],
793
+ languages: T::Array[String],
794
+ media_type: String,
795
+ name: String,
796
+ narrators: T::Array[Spotted::NarratorObject::OrHash],
797
+ publisher: String,
798
+ total_chapters: Integer,
799
+ type:
800
+ Spotted::Models::SearchRetrieveResponse::Audiobooks::Item::Type::OrSymbol,
801
+ uri: String,
802
+ edition: String
803
+ ).returns(T.attached_class)
804
+ end
805
+ def self.new(
806
+ # The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids) for the
807
+ # audiobook.
808
+ id:,
809
+ # The author(s) for the audiobook.
810
+ authors:,
811
+ # A list of the countries in which the audiobook can be played, identified by
812
+ # their [ISO 3166-1 alpha-2](http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)
813
+ # code.
814
+ available_markets:,
815
+ # The copyright statements of the audiobook.
816
+ copyrights:,
817
+ # A description of the audiobook. HTML tags are stripped away from this field, use
818
+ # `html_description` field in case HTML tags are needed.
819
+ description:,
820
+ # Whether or not the audiobook has explicit content (true = yes it does; false =
821
+ # no it does not OR unknown).
822
+ explicit:,
823
+ # External URLs for this audiobook.
824
+ external_urls:,
825
+ # A link to the Web API endpoint providing full details of the audiobook.
826
+ href:,
827
+ # A description of the audiobook. This field may contain HTML tags.
828
+ html_description:,
829
+ # The cover art for the audiobook in various sizes, widest first.
830
+ images:,
831
+ # A list of the languages used in the audiobook, identified by their
832
+ # [ISO 639](https://en.wikipedia.org/wiki/ISO_639) code.
833
+ languages:,
834
+ # The media type of the audiobook.
835
+ media_type:,
836
+ # The name of the audiobook.
837
+ name:,
838
+ # The narrator(s) for the audiobook.
839
+ narrators:,
840
+ # The publisher of the audiobook.
841
+ publisher:,
842
+ # The number of chapters in this audiobook.
843
+ total_chapters:,
844
+ # The object type.
845
+ type:,
846
+ # The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for the
847
+ # audiobook.
848
+ uri:,
849
+ # The edition of the audiobook.
850
+ edition: nil
851
+ )
852
+ end
853
+
854
+ sig do
855
+ override.returns(
856
+ {
857
+ id: String,
858
+ authors: T::Array[Spotted::AuthorObject],
859
+ available_markets: T::Array[String],
860
+ copyrights: T::Array[Spotted::CopyrightObject],
861
+ description: String,
862
+ explicit: T::Boolean,
863
+ external_urls: Spotted::ExternalURLObject,
864
+ href: String,
865
+ html_description: String,
866
+ images: T::Array[Spotted::ImageObject],
867
+ languages: T::Array[String],
868
+ media_type: String,
869
+ name: String,
870
+ narrators: T::Array[Spotted::NarratorObject],
871
+ publisher: String,
872
+ total_chapters: Integer,
873
+ type:
874
+ Spotted::Models::SearchRetrieveResponse::Audiobooks::Item::Type::TaggedSymbol,
875
+ uri: String,
876
+ edition: String
877
+ }
878
+ )
879
+ end
880
+ def to_hash
881
+ end
882
+
883
+ # The object type.
884
+ module Type
885
+ extend Spotted::Internal::Type::Enum
886
+
887
+ TaggedSymbol =
888
+ T.type_alias do
889
+ T.all(
890
+ Symbol,
891
+ Spotted::Models::SearchRetrieveResponse::Audiobooks::Item::Type
892
+ )
893
+ end
894
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
895
+
896
+ AUDIOBOOK =
897
+ T.let(
898
+ :audiobook,
899
+ Spotted::Models::SearchRetrieveResponse::Audiobooks::Item::Type::TaggedSymbol
900
+ )
901
+
902
+ sig do
903
+ override.returns(
904
+ T::Array[
905
+ Spotted::Models::SearchRetrieveResponse::Audiobooks::Item::Type::TaggedSymbol
906
+ ]
907
+ )
908
+ end
909
+ def self.values
910
+ end
911
+ end
912
+ end
913
+ end
914
+
915
+ class Episodes < Spotted::Internal::Type::BaseModel
916
+ OrHash =
917
+ T.type_alias do
918
+ T.any(
919
+ Spotted::Models::SearchRetrieveResponse::Episodes,
920
+ Spotted::Internal::AnyHash
921
+ )
922
+ end
923
+
924
+ # A link to the Web API endpoint returning the full result of the request
925
+ sig { returns(String) }
926
+ attr_accessor :href
927
+
928
+ sig { returns(T::Array[Spotted::SimplifiedEpisodeObject]) }
929
+ attr_accessor :items
930
+
931
+ # The maximum number of items in the response (as set in the query or by default).
932
+ sig { returns(Integer) }
933
+ attr_accessor :limit
934
+
935
+ # URL to the next page of items. ( `null` if none)
936
+ sig { returns(T.nilable(String)) }
937
+ attr_accessor :next_
938
+
939
+ # The offset of the items returned (as set in the query or by default)
940
+ sig { returns(Integer) }
941
+ attr_accessor :offset
942
+
943
+ # URL to the previous page of items. ( `null` if none)
944
+ sig { returns(T.nilable(String)) }
945
+ attr_accessor :previous
946
+
947
+ # The total number of items available to return.
948
+ sig { returns(Integer) }
949
+ attr_accessor :total
950
+
951
+ sig do
952
+ params(
953
+ href: String,
954
+ items: T::Array[Spotted::SimplifiedEpisodeObject::OrHash],
955
+ limit: Integer,
956
+ next_: T.nilable(String),
957
+ offset: Integer,
958
+ previous: T.nilable(String),
959
+ total: Integer
960
+ ).returns(T.attached_class)
961
+ end
962
+ def self.new(
963
+ # A link to the Web API endpoint returning the full result of the request
964
+ href:,
965
+ items:,
966
+ # The maximum number of items in the response (as set in the query or by default).
967
+ limit:,
968
+ # URL to the next page of items. ( `null` if none)
969
+ next_:,
970
+ # The offset of the items returned (as set in the query or by default)
971
+ offset:,
972
+ # URL to the previous page of items. ( `null` if none)
973
+ previous:,
974
+ # The total number of items available to return.
975
+ total:
976
+ )
977
+ end
978
+
979
+ sig do
980
+ override.returns(
981
+ {
982
+ href: String,
983
+ items: T::Array[Spotted::SimplifiedEpisodeObject],
984
+ limit: Integer,
985
+ next_: T.nilable(String),
986
+ offset: Integer,
987
+ previous: T.nilable(String),
988
+ total: Integer
989
+ }
990
+ )
991
+ end
992
+ def to_hash
993
+ end
994
+ end
995
+
996
+ class Shows < Spotted::Internal::Type::BaseModel
997
+ OrHash =
998
+ T.type_alias do
999
+ T.any(
1000
+ Spotted::Models::SearchRetrieveResponse::Shows,
1001
+ Spotted::Internal::AnyHash
1002
+ )
1003
+ end
1004
+
1005
+ # A link to the Web API endpoint returning the full result of the request
1006
+ sig { returns(String) }
1007
+ attr_accessor :href
1008
+
1009
+ sig do
1010
+ returns(
1011
+ T::Array[Spotted::Models::SearchRetrieveResponse::Shows::Item]
1012
+ )
1013
+ end
1014
+ attr_accessor :items
1015
+
1016
+ # The maximum number of items in the response (as set in the query or by default).
1017
+ sig { returns(Integer) }
1018
+ attr_accessor :limit
1019
+
1020
+ # URL to the next page of items. ( `null` if none)
1021
+ sig { returns(T.nilable(String)) }
1022
+ attr_accessor :next_
1023
+
1024
+ # The offset of the items returned (as set in the query or by default)
1025
+ sig { returns(Integer) }
1026
+ attr_accessor :offset
1027
+
1028
+ # URL to the previous page of items. ( `null` if none)
1029
+ sig { returns(T.nilable(String)) }
1030
+ attr_accessor :previous
1031
+
1032
+ # The total number of items available to return.
1033
+ sig { returns(Integer) }
1034
+ attr_accessor :total
1035
+
1036
+ sig do
1037
+ params(
1038
+ href: String,
1039
+ items:
1040
+ T::Array[
1041
+ Spotted::Models::SearchRetrieveResponse::Shows::Item::OrHash
1042
+ ],
1043
+ limit: Integer,
1044
+ next_: T.nilable(String),
1045
+ offset: Integer,
1046
+ previous: T.nilable(String),
1047
+ total: Integer
1048
+ ).returns(T.attached_class)
1049
+ end
1050
+ def self.new(
1051
+ # A link to the Web API endpoint returning the full result of the request
1052
+ href:,
1053
+ items:,
1054
+ # The maximum number of items in the response (as set in the query or by default).
1055
+ limit:,
1056
+ # URL to the next page of items. ( `null` if none)
1057
+ next_:,
1058
+ # The offset of the items returned (as set in the query or by default)
1059
+ offset:,
1060
+ # URL to the previous page of items. ( `null` if none)
1061
+ previous:,
1062
+ # The total number of items available to return.
1063
+ total:
1064
+ )
1065
+ end
1066
+
1067
+ sig do
1068
+ override.returns(
1069
+ {
1070
+ href: String,
1071
+ items:
1072
+ T::Array[Spotted::Models::SearchRetrieveResponse::Shows::Item],
1073
+ limit: Integer,
1074
+ next_: T.nilable(String),
1075
+ offset: Integer,
1076
+ previous: T.nilable(String),
1077
+ total: Integer
1078
+ }
1079
+ )
1080
+ end
1081
+ def to_hash
1082
+ end
1083
+
1084
+ class Item < Spotted::Internal::Type::BaseModel
1085
+ OrHash =
1086
+ T.type_alias do
1087
+ T.any(
1088
+ Spotted::Models::SearchRetrieveResponse::Shows::Item,
1089
+ Spotted::Internal::AnyHash
1090
+ )
1091
+ end
1092
+
1093
+ # The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids) for the show.
1094
+ sig { returns(String) }
1095
+ attr_accessor :id
1096
+
1097
+ # A list of the countries in which the show can be played, identified by their
1098
+ # [ISO 3166-1 alpha-2](http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) code.
1099
+ sig { returns(T::Array[String]) }
1100
+ attr_accessor :available_markets
1101
+
1102
+ # The copyright statements of the show.
1103
+ sig { returns(T::Array[Spotted::CopyrightObject]) }
1104
+ attr_accessor :copyrights
1105
+
1106
+ # A description of the show. HTML tags are stripped away from this field, use
1107
+ # `html_description` field in case HTML tags are needed.
1108
+ sig { returns(String) }
1109
+ attr_accessor :description
1110
+
1111
+ # Whether or not the show has explicit content (true = yes it does; false = no it
1112
+ # does not OR unknown).
1113
+ sig { returns(T::Boolean) }
1114
+ attr_accessor :explicit
1115
+
1116
+ # External URLs for this show.
1117
+ sig { returns(Spotted::ExternalURLObject) }
1118
+ attr_reader :external_urls
1119
+
1120
+ sig { params(external_urls: Spotted::ExternalURLObject::OrHash).void }
1121
+ attr_writer :external_urls
1122
+
1123
+ # A link to the Web API endpoint providing full details of the show.
1124
+ sig { returns(String) }
1125
+ attr_accessor :href
1126
+
1127
+ # A description of the show. This field may contain HTML tags.
1128
+ sig { returns(String) }
1129
+ attr_accessor :html_description
1130
+
1131
+ # The cover art for the show in various sizes, widest first.
1132
+ sig { returns(T::Array[Spotted::ImageObject]) }
1133
+ attr_accessor :images
1134
+
1135
+ # True if all of the shows episodes are hosted outside of Spotify's CDN. This
1136
+ # field might be `null` in some cases.
1137
+ sig { returns(T::Boolean) }
1138
+ attr_accessor :is_externally_hosted
1139
+
1140
+ # A list of the languages used in the show, identified by their
1141
+ # [ISO 639](https://en.wikipedia.org/wiki/ISO_639) code.
1142
+ sig { returns(T::Array[String]) }
1143
+ attr_accessor :languages
1144
+
1145
+ # The media type of the show.
1146
+ sig { returns(String) }
1147
+ attr_accessor :media_type
1148
+
1149
+ # The name of the episode.
1150
+ sig { returns(String) }
1151
+ attr_accessor :name
1152
+
1153
+ # The publisher of the show.
1154
+ sig { returns(String) }
1155
+ attr_accessor :publisher
1156
+
1157
+ # The total number of episodes in the show.
1158
+ sig { returns(Integer) }
1159
+ attr_accessor :total_episodes
1160
+
1161
+ # The object type.
1162
+ sig do
1163
+ returns(
1164
+ Spotted::Models::SearchRetrieveResponse::Shows::Item::Type::TaggedSymbol
1165
+ )
1166
+ end
1167
+ attr_accessor :type
1168
+
1169
+ # The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for the
1170
+ # show.
1171
+ sig { returns(String) }
1172
+ attr_accessor :uri
1173
+
1174
+ sig do
1175
+ params(
1176
+ id: String,
1177
+ available_markets: T::Array[String],
1178
+ copyrights: T::Array[Spotted::CopyrightObject::OrHash],
1179
+ description: String,
1180
+ explicit: T::Boolean,
1181
+ external_urls: Spotted::ExternalURLObject::OrHash,
1182
+ href: String,
1183
+ html_description: String,
1184
+ images: T::Array[Spotted::ImageObject::OrHash],
1185
+ is_externally_hosted: T::Boolean,
1186
+ languages: T::Array[String],
1187
+ media_type: String,
1188
+ name: String,
1189
+ publisher: String,
1190
+ total_episodes: Integer,
1191
+ type:
1192
+ Spotted::Models::SearchRetrieveResponse::Shows::Item::Type::OrSymbol,
1193
+ uri: String
1194
+ ).returns(T.attached_class)
1195
+ end
1196
+ def self.new(
1197
+ # The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids) for the show.
1198
+ id:,
1199
+ # A list of the countries in which the show can be played, identified by their
1200
+ # [ISO 3166-1 alpha-2](http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) code.
1201
+ available_markets:,
1202
+ # The copyright statements of the show.
1203
+ copyrights:,
1204
+ # A description of the show. HTML tags are stripped away from this field, use
1205
+ # `html_description` field in case HTML tags are needed.
1206
+ description:,
1207
+ # Whether or not the show has explicit content (true = yes it does; false = no it
1208
+ # does not OR unknown).
1209
+ explicit:,
1210
+ # External URLs for this show.
1211
+ external_urls:,
1212
+ # A link to the Web API endpoint providing full details of the show.
1213
+ href:,
1214
+ # A description of the show. This field may contain HTML tags.
1215
+ html_description:,
1216
+ # The cover art for the show in various sizes, widest first.
1217
+ images:,
1218
+ # True if all of the shows episodes are hosted outside of Spotify's CDN. This
1219
+ # field might be `null` in some cases.
1220
+ is_externally_hosted:,
1221
+ # A list of the languages used in the show, identified by their
1222
+ # [ISO 639](https://en.wikipedia.org/wiki/ISO_639) code.
1223
+ languages:,
1224
+ # The media type of the show.
1225
+ media_type:,
1226
+ # The name of the episode.
1227
+ name:,
1228
+ # The publisher of the show.
1229
+ publisher:,
1230
+ # The total number of episodes in the show.
1231
+ total_episodes:,
1232
+ # The object type.
1233
+ type:,
1234
+ # The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for the
1235
+ # show.
1236
+ uri:
1237
+ )
1238
+ end
1239
+
1240
+ sig do
1241
+ override.returns(
1242
+ {
1243
+ id: String,
1244
+ available_markets: T::Array[String],
1245
+ copyrights: T::Array[Spotted::CopyrightObject],
1246
+ description: String,
1247
+ explicit: T::Boolean,
1248
+ external_urls: Spotted::ExternalURLObject,
1249
+ href: String,
1250
+ html_description: String,
1251
+ images: T::Array[Spotted::ImageObject],
1252
+ is_externally_hosted: T::Boolean,
1253
+ languages: T::Array[String],
1254
+ media_type: String,
1255
+ name: String,
1256
+ publisher: String,
1257
+ total_episodes: Integer,
1258
+ type:
1259
+ Spotted::Models::SearchRetrieveResponse::Shows::Item::Type::TaggedSymbol,
1260
+ uri: String
1261
+ }
1262
+ )
1263
+ end
1264
+ def to_hash
1265
+ end
1266
+
1267
+ # The object type.
1268
+ module Type
1269
+ extend Spotted::Internal::Type::Enum
1270
+
1271
+ TaggedSymbol =
1272
+ T.type_alias do
1273
+ T.all(
1274
+ Symbol,
1275
+ Spotted::Models::SearchRetrieveResponse::Shows::Item::Type
1276
+ )
1277
+ end
1278
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1279
+
1280
+ SHOW =
1281
+ T.let(
1282
+ :show,
1283
+ Spotted::Models::SearchRetrieveResponse::Shows::Item::Type::TaggedSymbol
1284
+ )
1285
+
1286
+ sig do
1287
+ override.returns(
1288
+ T::Array[
1289
+ Spotted::Models::SearchRetrieveResponse::Shows::Item::Type::TaggedSymbol
1290
+ ]
1291
+ )
1292
+ end
1293
+ def self.values
1294
+ end
1295
+ end
1296
+ end
1297
+ end
1298
+
1299
+ class Tracks < Spotted::Internal::Type::BaseModel
1300
+ OrHash =
1301
+ T.type_alias do
1302
+ T.any(
1303
+ Spotted::Models::SearchRetrieveResponse::Tracks,
1304
+ Spotted::Internal::AnyHash
1305
+ )
1306
+ end
1307
+
1308
+ # A link to the Web API endpoint returning the full result of the request
1309
+ sig { returns(String) }
1310
+ attr_accessor :href
1311
+
1312
+ sig { returns(T::Array[Spotted::TrackObject]) }
1313
+ attr_accessor :items
1314
+
1315
+ # The maximum number of items in the response (as set in the query or by default).
1316
+ sig { returns(Integer) }
1317
+ attr_accessor :limit
1318
+
1319
+ # URL to the next page of items. ( `null` if none)
1320
+ sig { returns(T.nilable(String)) }
1321
+ attr_accessor :next_
1322
+
1323
+ # The offset of the items returned (as set in the query or by default)
1324
+ sig { returns(Integer) }
1325
+ attr_accessor :offset
1326
+
1327
+ # URL to the previous page of items. ( `null` if none)
1328
+ sig { returns(T.nilable(String)) }
1329
+ attr_accessor :previous
1330
+
1331
+ # The total number of items available to return.
1332
+ sig { returns(Integer) }
1333
+ attr_accessor :total
1334
+
1335
+ sig do
1336
+ params(
1337
+ href: String,
1338
+ items: T::Array[Spotted::TrackObject::OrHash],
1339
+ limit: Integer,
1340
+ next_: T.nilable(String),
1341
+ offset: Integer,
1342
+ previous: T.nilable(String),
1343
+ total: Integer
1344
+ ).returns(T.attached_class)
1345
+ end
1346
+ def self.new(
1347
+ # A link to the Web API endpoint returning the full result of the request
1348
+ href:,
1349
+ items:,
1350
+ # The maximum number of items in the response (as set in the query or by default).
1351
+ limit:,
1352
+ # URL to the next page of items. ( `null` if none)
1353
+ next_:,
1354
+ # The offset of the items returned (as set in the query or by default)
1355
+ offset:,
1356
+ # URL to the previous page of items. ( `null` if none)
1357
+ previous:,
1358
+ # The total number of items available to return.
1359
+ total:
1360
+ )
1361
+ end
1362
+
1363
+ sig do
1364
+ override.returns(
1365
+ {
1366
+ href: String,
1367
+ items: T::Array[Spotted::TrackObject],
1368
+ limit: Integer,
1369
+ next_: T.nilable(String),
1370
+ offset: Integer,
1371
+ previous: T.nilable(String),
1372
+ total: Integer
1373
+ }
1374
+ )
1375
+ end
1376
+ def to_hash
1377
+ end
1378
+ end
1379
+ end
1380
+ end
1381
+ end