Skip to main content

src/rocksky@generated@types.erl

-module(rocksky@generated@types).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/rocksky/generated/types.gleam").
-export_type([blob_ref/0, blob_cid_ref/0, actor_artist_view_basic/0, actor_compatibility_view_basic/0, actor_neighbour_view_basic/0, actor_profile_view_basic/0, actor_profile_view_detailed/0, actor_track_view/0, add_directory_to_queue_params/0, add_items_to_queue_params/0, album_record/0, album_view_basic/0, album_view_detailed/0, api_key_view/0, artist_listener_view_basic/0, artist_mbid/0, artist_recent_listener_view/0, artist_record/0, artist_song_view_basic/0, artist_view_basic/0, artist_view_detailed/0, charts_scrobble_view_basic/0, charts_view/0, create_apikey_input/0, create_playlist_params/0, create_scrobble_input/0, create_shout_input/0, create_song_input/0, describe_feed_generator_output/0, describe_feed_generator_params/0, dislike_shout_input/0, dislike_song_input/0, download_file_params/0, dropbox_file_list_view/0, dropbox_file_view/0, dropbox_temporary_link_view/0, feed_generators_view/0, feed_generator_view/0, feed_item_view/0, feed_recommendations_view/0, feed_recommendation_view/0, feed_recommended_albums_view/0, feed_recommended_album_view/0, feed_recommended_artists_view/0, feed_recommended_artist_view/0, feed_search_results_view/0, feed_stories_view/0, feed_story_view/0, feed_uri_view/0, feed_view/0, follow_account_output/0, follow_account_params/0, follow_record/0, generator_record/0, get_actor_albums_output/0, get_actor_albums_params/0, get_actor_artists_output/0, get_actor_artists_params/0, get_actor_compatibility_output/0, get_actor_compatibility_params/0, get_actor_loved_songs_output/0, get_actor_loved_songs_params/0, get_actor_neighbours_output/0, get_actor_neighbours_params/0, get_actor_playlists_output/0, get_actor_playlists_params/0, get_actor_scrobbles_output/0, get_actor_scrobbles_params/0, get_actor_songs_output/0, get_actor_songs_params/0, get_album_params/0, get_album_recommendations_params/0, get_album_shouts_output/0, get_album_shouts_params/0, get_albums_output/0, get_albums_params/0, get_album_tracks_output/0, get_album_tracks_params/0, get_apikeys_output/0, get_apikeys_params/0, get_artist_albums_output/0, get_artist_albums_params/0, get_artist_listeners_output/0, get_artist_listeners_params/0, get_artist_params/0, get_artist_recent_listeners_output/0, get_artist_recent_listeners_params/0, get_artist_recommendations_params/0, get_artist_shouts_output/0, get_artist_shouts_params/0, get_artists_output/0, get_artists_params/0, get_artist_tracks_output/0, get_artist_tracks_params/0, get_currently_playing_params/0, get_feed_generator_output/0, get_feed_generator_params/0, get_feed_generators_params/0, get_feed_params/0, get_feed_skeleton_output/0, get_feed_skeleton_params/0, get_file_params/0, get_files_params/0, get_followers_output/0, get_followers_params/0, get_follows_output/0, get_follows_params/0, get_global_stats_params/0, get_known_followers_output/0, get_known_followers_params/0, get_metadata_params/0, get_mirror_sources_output/0, get_mirror_sources_params/0, get_playback_queue_params/0, get_playlist_params/0, get_playlists_output/0, get_playlists_params/0, get_profile_params/0, get_profile_shouts_output/0, get_profile_shouts_params/0, get_recommendations_params/0, get_scrobble_params/0, get_scrobbles_chart_params/0, get_scrobbles_output/0, get_scrobbles_params/0, get_shout_replies_output/0, get_shout_replies_params/0, get_song_params/0, get_song_recent_listeners_output/0, get_song_recent_listeners_params/0, get_songs_output/0, get_songs_params/0, get_stats_params/0, get_stories_params/0, get_temporary_link_params/0, get_top_artists_output/0, get_top_artists_params/0, get_top_tracks_output/0, get_top_tracks_params/0, get_track_shouts_output/0, get_track_shouts_params/0, get_wrapped_params/0, googledrive_file_list_view/0, googledrive_file_view/0, graph_not_found_actor/0, graph_relationship/0, insert_directory_params/0, insert_files_params/0, like_record/0, like_shout_input/0, like_song_input/0, match_song_params/0, mirror_source_view/0, next_params/0, pause_params/0, play_directory_params/0, player_currently_playing_view_detailed/0, player_playback_queue_view_detailed/0, play_file_params/0, playlist_item_record/0, playlist_record/0, playlist_view_basic/0, playlist_view_detailed/0, play_params/0, previous_params/0, profile_record/0, put_mirror_source_input/0, radio_record/0, radio_view_basic/0, radio_view_detailed/0, remove_apikey_params/0, remove_playlist_params/0, remove_shout_params/0, remove_track_params/0, reply_shout_input/0, report_shout_input/0, scrobble_first_scrobble_view/0, scrobble_record/0, scrobble_view_basic/0, scrobble_view_detailed/0, search_params/0, seek_params/0, shout_author/0, shout_record/0, shout_view/0, song_first_scrobble_view/0, song_recent_listener_view/0, song_record/0, song_view_basic/0, song_view_detailed/0, spotify_track_view/0, start_playlist_params/0, stats_global_stats_view/0, stats_view/0, stats_wrapped_album/0, stats_wrapped_artist/0, stats_wrapped_day_count/0, stats_wrapped_genre_count/0, stats_wrapped_milestone/0, stats_wrapped_month_count/0, stats_wrapped_track/0, stats_wrapped_view/0, status_record/0, strong_ref/0, unfollow_account_output/0, unfollow_account_params/0, update_apikey_input/0]).

-type blob_ref() :: {blob_ref,
        gleam@option:option(binary()),
        gleam@option:option(blob_cid_ref()),
        gleam@option:option(binary()),
        gleam@option:option(integer())}.

-type blob_cid_ref() :: {blob_cid_ref, gleam@option:option(binary())}.

-type actor_artist_view_basic() :: {actor_artist_view_basic,
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(integer()),
        gleam@option:option(integer()),
        gleam@option:option(integer())}.

-type actor_compatibility_view_basic() :: {actor_compatibility_view_basic,
        gleam@option:option(integer()),
        gleam@option:option(integer()),
        gleam@option:option(integer()),
        list(binary()),
        list(actor_artist_view_basic()),
        gleam@option:option(integer()),
        gleam@option:option(integer())}.

-type actor_neighbour_view_basic() :: {actor_neighbour_view_basic,
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(integer()),
        gleam@option:option(integer()),
        list(binary()),
        list(artist_view_basic())}.

-type actor_profile_view_basic() :: {actor_profile_view_basic,
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary())}.

-type actor_profile_view_detailed() :: {actor_profile_view_detailed,
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary())}.

-type actor_track_view() :: {actor_track_view,
        binary(),
        binary(),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(integer()),
        gleam@option:option(binary()),
        gleam@option:option(binary())}.

-type add_directory_to_queue_params() :: {add_directory_to_queue_params,
        gleam@option:option(binary()),
        binary(),
        gleam@option:option(integer()),
        gleam@option:option(boolean())}.

-type add_items_to_queue_params() :: {add_items_to_queue_params,
        gleam@option:option(binary()),
        list(binary()),
        gleam@option:option(integer()),
        gleam@option:option(boolean())}.

-type album_record() :: {album_record,
        binary(),
        binary(),
        gleam@option:option(integer()),
        gleam@option:option(binary()),
        gleam@option:option(integer()),
        gleam@option:option(binary()),
        gleam@option:option(blob_ref()),
        gleam@option:option(binary()),
        list(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        binary()}.

-type album_view_basic() :: {album_view_basic,
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(integer()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(integer()),
        gleam@option:option(integer())}.

-type album_view_detailed() :: {album_view_detailed,
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(integer()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(integer()),
        gleam@option:option(integer()),
        list(binary()),
        list(song_view_basic())}.

-type api_key_view() :: {api_key_view,
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary())}.

-type artist_listener_view_basic() :: {artist_listener_view_basic,
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(artist_song_view_basic()),
        gleam@option:option(integer()),
        gleam@option:option(integer())}.

-type artist_mbid() :: {artist_mbid,
        gleam@option:option(binary()),
        gleam@option:option(binary())}.

-type artist_recent_listener_view() :: {artist_recent_listener_view,
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary())}.

-type artist_record() :: {artist_record,
        binary(),
        gleam@option:option(binary()),
        gleam@option:option(blob_ref()),
        gleam@option:option(binary()),
        list(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        binary()}.

-type artist_song_view_basic() :: {artist_song_view_basic,
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(integer())}.

-type artist_view_basic() :: {artist_view_basic,
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(integer()),
        gleam@option:option(integer()),
        list(binary())}.

-type artist_view_detailed() :: {artist_view_detailed,
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(integer()),
        gleam@option:option(integer()),
        list(binary())}.

-type charts_scrobble_view_basic() :: {charts_scrobble_view_basic,
        gleam@option:option(binary()),
        gleam@option:option(integer())}.

-type charts_view() :: {charts_view, list(charts_scrobble_view_basic())}.

-type create_apikey_input() :: {create_apikey_input,
        binary(),
        gleam@option:option(binary())}.

-type create_playlist_params() :: {create_playlist_params,
        binary(),
        gleam@option:option(binary())}.

-type create_scrobble_input() :: {create_scrobble_input,
        binary(),
        binary(),
        gleam@option:option(binary()),
        gleam@option:option(integer()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(integer()),
        gleam@option:option(binary()),
        gleam@option:option(integer()),
        gleam@option:option(integer()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(integer())}.

-type create_shout_input() :: {create_shout_input,
        gleam@option:option(binary())}.

-type create_song_input() :: {create_song_input,
        binary(),
        binary(),
        binary(),
        binary(),
        gleam@option:option(integer()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(integer()),
        gleam@option:option(binary()),
        gleam@option:option(integer()),
        gleam@option:option(integer()),
        gleam@option:option(binary())}.

-type describe_feed_generator_output() :: {describe_feed_generator_output,
        gleam@option:option(binary()),
        list(feed_uri_view())}.

-type describe_feed_generator_params() :: describe_feed_generator_params.

-type dislike_shout_input() :: {dislike_shout_input,
        gleam@option:option(binary())}.

-type dislike_song_input() :: {dislike_song_input,
        gleam@option:option(binary())}.

-type download_file_params() :: {download_file_params, binary()}.

-type dropbox_file_list_view() :: {dropbox_file_list_view,
        list(dropbox_file_view())}.

-type dropbox_file_view() :: {dropbox_file_view,
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary())}.

-type dropbox_temporary_link_view() :: {dropbox_temporary_link_view,
        gleam@option:option(binary())}.

-type feed_generators_view() :: {feed_generators_view,
        list(feed_generator_view())}.

-type feed_generator_view() :: {feed_generator_view,
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(actor_profile_view_basic())}.

-type feed_item_view() :: {feed_item_view,
        gleam@option:option(scrobble_view_basic())}.

-type feed_recommendations_view() :: {feed_recommendations_view,
        list(feed_recommendation_view()),
        gleam@option:option(binary())}.

-type feed_recommendation_view() :: {feed_recommendation_view,
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        list(binary()),
        gleam@option:option(integer()),
        gleam@option:option(binary()),
        gleam@option:option(integer())}.

-type feed_recommended_albums_view() :: {feed_recommended_albums_view,
        list(feed_recommended_album_view()),
        gleam@option:option(binary())}.

-type feed_recommended_album_view() :: {feed_recommended_album_view,
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(integer()),
        gleam@option:option(binary()),
        gleam@option:option(integer()),
        gleam@option:option(binary())}.

-type feed_recommended_artists_view() :: {feed_recommended_artists_view,
        list(feed_recommended_artist_view()),
        gleam@option:option(binary())}.

-type feed_recommended_artist_view() :: {feed_recommended_artist_view,
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        list(binary()),
        gleam@option:option(integer()),
        gleam@option:option(binary())}.

-type feed_search_results_view() :: {feed_search_results_view,
        list(gleam@dynamic:dynamic_()),
        gleam@option:option(integer()),
        gleam@option:option(integer()),
        gleam@option:option(integer()),
        gleam@option:option(integer())}.

-type feed_stories_view() :: {feed_stories_view, list(feed_story_view())}.

-type feed_story_view() :: {feed_story_view,
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary())}.

-type feed_uri_view() :: {feed_uri_view, gleam@option:option(binary())}.

-type feed_view() :: {feed_view,
        list(feed_item_view()),
        gleam@option:option(binary())}.

-type follow_account_output() :: {follow_account_output,
        actor_profile_view_basic(),
        list(actor_profile_view_basic()),
        gleam@option:option(binary())}.

-type follow_account_params() :: {follow_account_params, binary()}.

-type follow_record() :: {follow_record,
        binary(),
        binary(),
        gleam@option:option(strong_ref())}.

-type generator_record() :: {generator_record,
        binary(),
        gleam@option:option(blob_ref()),
        binary(),
        gleam@option:option(binary()),
        binary()}.

-type get_actor_albums_output() :: {get_actor_albums_output,
        list(album_view_basic())}.

-type get_actor_albums_params() :: {get_actor_albums_params,
        binary(),
        gleam@option:option(integer()),
        gleam@option:option(integer()),
        gleam@option:option(binary()),
        gleam@option:option(binary())}.

-type get_actor_artists_output() :: {get_actor_artists_output,
        list(artist_view_basic())}.

-type get_actor_artists_params() :: {get_actor_artists_params,
        binary(),
        gleam@option:option(integer()),
        gleam@option:option(integer()),
        gleam@option:option(binary()),
        gleam@option:option(binary())}.

-type get_actor_compatibility_output() :: {get_actor_compatibility_output,
        gleam@option:option(actor_compatibility_view_basic())}.

-type get_actor_compatibility_params() :: {get_actor_compatibility_params,
        binary()}.

-type get_actor_loved_songs_output() :: {get_actor_loved_songs_output,
        list(song_view_basic())}.

-type get_actor_loved_songs_params() :: {get_actor_loved_songs_params,
        binary(),
        gleam@option:option(integer()),
        gleam@option:option(integer())}.

-type get_actor_neighbours_output() :: {get_actor_neighbours_output,
        list(actor_neighbour_view_basic())}.

-type get_actor_neighbours_params() :: {get_actor_neighbours_params, binary()}.

-type get_actor_playlists_output() :: {get_actor_playlists_output,
        list(playlist_view_basic())}.

-type get_actor_playlists_params() :: {get_actor_playlists_params,
        binary(),
        gleam@option:option(integer()),
        gleam@option:option(integer())}.

-type get_actor_scrobbles_output() :: {get_actor_scrobbles_output,
        list(scrobble_view_basic())}.

-type get_actor_scrobbles_params() :: {get_actor_scrobbles_params,
        binary(),
        gleam@option:option(integer()),
        gleam@option:option(integer())}.

-type get_actor_songs_output() :: {get_actor_songs_output,
        list(song_view_basic())}.

-type get_actor_songs_params() :: {get_actor_songs_params,
        binary(),
        gleam@option:option(integer()),
        gleam@option:option(integer()),
        gleam@option:option(binary()),
        gleam@option:option(binary())}.

-type get_album_params() :: {get_album_params, binary()}.

-type get_album_recommendations_params() :: {get_album_recommendations_params,
        binary(),
        gleam@option:option(integer())}.

-type get_album_shouts_output() :: {get_album_shouts_output,
        list(gleam@dynamic:dynamic_())}.

-type get_album_shouts_params() :: {get_album_shouts_params,
        binary(),
        gleam@option:option(integer()),
        gleam@option:option(integer())}.

-type get_albums_output() :: {get_albums_output, list(album_view_basic())}.

-type get_albums_params() :: {get_albums_params,
        gleam@option:option(integer()),
        gleam@option:option(integer()),
        gleam@option:option(binary())}.

-type get_album_tracks_output() :: {get_album_tracks_output,
        list(song_view_basic())}.

-type get_album_tracks_params() :: {get_album_tracks_params, binary()}.

-type get_apikeys_output() :: {get_apikeys_output,
        list(gleam@dynamic:dynamic_())}.

-type get_apikeys_params() :: {get_apikeys_params,
        gleam@option:option(integer()),
        gleam@option:option(integer())}.

-type get_artist_albums_output() :: {get_artist_albums_output,
        list(album_view_basic())}.

-type get_artist_albums_params() :: {get_artist_albums_params, binary()}.

-type get_artist_listeners_output() :: {get_artist_listeners_output,
        list(artist_listener_view_basic())}.

-type get_artist_listeners_params() :: {get_artist_listeners_params,
        binary(),
        gleam@option:option(integer()),
        gleam@option:option(integer())}.

-type get_artist_params() :: {get_artist_params, binary()}.

-type get_artist_recent_listeners_output() :: {get_artist_recent_listeners_output,
        list(artist_recent_listener_view())}.

-type get_artist_recent_listeners_params() :: {get_artist_recent_listeners_params,
        binary(),
        gleam@option:option(integer()),
        gleam@option:option(integer())}.

-type get_artist_recommendations_params() :: {get_artist_recommendations_params,
        binary(),
        gleam@option:option(integer())}.

-type get_artist_shouts_output() :: {get_artist_shouts_output,
        list(gleam@dynamic:dynamic_())}.

-type get_artist_shouts_params() :: {get_artist_shouts_params,
        binary(),
        gleam@option:option(integer()),
        gleam@option:option(integer())}.

-type get_artists_output() :: {get_artists_output, list(artist_view_basic())}.

-type get_artists_params() :: {get_artists_params,
        gleam@option:option(integer()),
        gleam@option:option(integer()),
        gleam@option:option(binary()),
        gleam@option:option(binary())}.

-type get_artist_tracks_output() :: {get_artist_tracks_output,
        list(song_view_basic())}.

-type get_artist_tracks_params() :: {get_artist_tracks_params,
        gleam@option:option(binary()),
        gleam@option:option(integer()),
        gleam@option:option(integer())}.

-type get_currently_playing_params() :: {get_currently_playing_params,
        gleam@option:option(binary()),
        gleam@option:option(binary())}.

-type get_feed_generator_output() :: {get_feed_generator_output,
        gleam@option:option(feed_generator_view())}.

-type get_feed_generator_params() :: {get_feed_generator_params, binary()}.

-type get_feed_generators_params() :: {get_feed_generators_params,
        gleam@option:option(integer())}.

-type get_feed_params() :: {get_feed_params,
        binary(),
        gleam@option:option(integer()),
        gleam@option:option(binary())}.

-type get_feed_skeleton_output() :: {get_feed_skeleton_output,
        list(scrobble_view_basic()),
        gleam@option:option(binary())}.

-type get_feed_skeleton_params() :: {get_feed_skeleton_params,
        binary(),
        gleam@option:option(integer()),
        gleam@option:option(integer()),
        gleam@option:option(binary())}.

-type get_file_params() :: {get_file_params, binary()}.

-type get_files_params() :: {get_files_params, gleam@option:option(binary())}.

-type get_followers_output() :: {get_followers_output,
        actor_profile_view_basic(),
        list(actor_profile_view_basic()),
        gleam@option:option(binary()),
        gleam@option:option(integer())}.

-type get_followers_params() :: {get_followers_params,
        binary(),
        gleam@option:option(integer()),
        list(binary()),
        gleam@option:option(binary())}.

-type get_follows_output() :: {get_follows_output,
        actor_profile_view_basic(),
        list(actor_profile_view_basic()),
        gleam@option:option(binary()),
        gleam@option:option(integer())}.

-type get_follows_params() :: {get_follows_params,
        binary(),
        gleam@option:option(integer()),
        list(binary()),
        gleam@option:option(binary())}.

-type get_global_stats_params() :: get_global_stats_params.

-type get_known_followers_output() :: {get_known_followers_output,
        actor_profile_view_basic(),
        list(actor_profile_view_basic()),
        gleam@option:option(binary())}.

-type get_known_followers_params() :: {get_known_followers_params,
        binary(),
        gleam@option:option(integer()),
        gleam@option:option(binary())}.

-type get_metadata_params() :: {get_metadata_params, binary()}.

-type get_mirror_sources_output() :: {get_mirror_sources_output,
        list(mirror_source_view())}.

-type get_mirror_sources_params() :: get_mirror_sources_params.

-type get_playback_queue_params() :: {get_playback_queue_params,
        gleam@option:option(binary())}.

-type get_playlist_params() :: {get_playlist_params, binary()}.

-type get_playlists_output() :: {get_playlists_output,
        list(playlist_view_basic())}.

-type get_playlists_params() :: {get_playlists_params,
        gleam@option:option(integer()),
        gleam@option:option(integer())}.

-type get_profile_params() :: {get_profile_params,
        gleam@option:option(binary())}.

-type get_profile_shouts_output() :: {get_profile_shouts_output,
        list(gleam@dynamic:dynamic_())}.

-type get_profile_shouts_params() :: {get_profile_shouts_params,
        binary(),
        gleam@option:option(integer()),
        gleam@option:option(integer())}.

-type get_recommendations_params() :: {get_recommendations_params,
        binary(),
        gleam@option:option(integer())}.

-type get_scrobble_params() :: {get_scrobble_params, binary()}.

-type get_scrobbles_chart_params() :: {get_scrobbles_chart_params,
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary())}.

-type get_scrobbles_output() :: {get_scrobbles_output,
        list(scrobble_view_basic())}.

-type get_scrobbles_params() :: {get_scrobbles_params,
        gleam@option:option(binary()),
        gleam@option:option(boolean()),
        gleam@option:option(integer()),
        gleam@option:option(integer())}.

-type get_shout_replies_output() :: {get_shout_replies_output,
        list(gleam@dynamic:dynamic_())}.

-type get_shout_replies_params() :: {get_shout_replies_params,
        binary(),
        gleam@option:option(integer()),
        gleam@option:option(integer())}.

-type get_song_params() :: {get_song_params,
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary())}.

-type get_song_recent_listeners_output() :: {get_song_recent_listeners_output,
        list(song_recent_listener_view())}.

-type get_song_recent_listeners_params() :: {get_song_recent_listeners_params,
        binary(),
        gleam@option:option(integer()),
        gleam@option:option(integer())}.

-type get_songs_output() :: {get_songs_output, list(song_view_basic())}.

-type get_songs_params() :: {get_songs_params,
        gleam@option:option(integer()),
        gleam@option:option(integer()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary())}.

-type get_stats_params() :: {get_stats_params, binary()}.

-type get_stories_params() :: {get_stories_params,
        gleam@option:option(integer()),
        gleam@option:option(binary()),
        gleam@option:option(boolean())}.

-type get_temporary_link_params() :: {get_temporary_link_params, binary()}.

-type get_top_artists_output() :: {get_top_artists_output,
        list(artist_view_basic())}.

-type get_top_artists_params() :: {get_top_artists_params,
        gleam@option:option(integer()),
        gleam@option:option(integer()),
        gleam@option:option(binary()),
        gleam@option:option(binary())}.

-type get_top_tracks_output() :: {get_top_tracks_output,
        list(song_view_basic())}.

-type get_top_tracks_params() :: {get_top_tracks_params,
        gleam@option:option(integer()),
        gleam@option:option(integer()),
        gleam@option:option(binary()),
        gleam@option:option(binary())}.

-type get_track_shouts_output() :: {get_track_shouts_output,
        list(gleam@dynamic:dynamic_())}.

-type get_track_shouts_params() :: {get_track_shouts_params, binary()}.

-type get_wrapped_params() :: {get_wrapped_params,
        binary(),
        gleam@option:option(integer())}.

-type googledrive_file_list_view() :: {googledrive_file_list_view,
        list(googledrive_file_view())}.

-type googledrive_file_view() :: {googledrive_file_view,
        gleam@option:option(binary())}.

-type graph_not_found_actor() :: {graph_not_found_actor, binary(), boolean()}.

-type graph_relationship() :: {graph_relationship,
        binary(),
        gleam@option:option(binary()),
        gleam@option:option(binary())}.

-type insert_directory_params() :: {insert_directory_params,
        binary(),
        binary(),
        gleam@option:option(integer())}.

-type insert_files_params() :: {insert_files_params,
        binary(),
        list(binary()),
        gleam@option:option(integer())}.

-type like_record() :: {like_record, binary(), strong_ref()}.

-type like_shout_input() :: {like_shout_input, gleam@option:option(binary())}.

-type like_song_input() :: {like_song_input, gleam@option:option(binary())}.

-type match_song_params() :: {match_song_params,
        binary(),
        binary(),
        gleam@option:option(binary()),
        gleam@option:option(binary())}.

-type mirror_source_view() :: {mirror_source_view,
        binary(),
        boolean(),
        gleam@option:option(binary()),
        boolean(),
        gleam@option:option(binary()),
        gleam@option:option(binary())}.

-type next_params() :: {next_params, gleam@option:option(binary())}.

-type pause_params() :: {pause_params, gleam@option:option(binary())}.

-type play_directory_params() :: {play_directory_params,
        gleam@option:option(binary()),
        binary(),
        gleam@option:option(boolean()),
        gleam@option:option(boolean()),
        gleam@option:option(integer())}.

-type player_currently_playing_view_detailed() :: {player_currently_playing_view_detailed,
        gleam@option:option(binary())}.

-type player_playback_queue_view_detailed() :: {player_playback_queue_view_detailed,
        list(song_view_basic())}.

-type play_file_params() :: {play_file_params,
        gleam@option:option(binary()),
        binary()}.

-type playlist_item_record() :: {playlist_item_record,
        strong_ref(),
        binary(),
        song_view_basic(),
        integer()}.

-type playlist_record() :: {playlist_record,
        binary(),
        gleam@option:option(binary()),
        gleam@option:option(blob_ref()),
        gleam@option:option(binary()),
        binary(),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary())}.

-type playlist_view_basic() :: {playlist_view_basic,
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(integer())}.

-type playlist_view_detailed() :: {playlist_view_detailed,
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        list(song_view_basic())}.

-type play_params() :: {play_params, gleam@option:option(binary())}.

-type previous_params() :: {previous_params, gleam@option:option(binary())}.

-type profile_record() :: {profile_record,
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(blob_ref()),
        gleam@option:option(blob_ref()),
        gleam@option:option(gleam@dynamic:dynamic_()),
        gleam@option:option(strong_ref()),
        gleam@option:option(binary())}.

-type put_mirror_source_input() :: {put_mirror_source_input,
        binary(),
        gleam@option:option(boolean()),
        gleam@option:option(binary()),
        gleam@option:option(binary())}.

-type radio_record() :: {radio_record,
        binary(),
        binary(),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(blob_ref()),
        gleam@option:option(binary()),
        binary()}.

-type radio_view_basic() :: {radio_view_basic,
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary())}.

-type radio_view_detailed() :: {radio_view_detailed,
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary())}.

-type remove_apikey_params() :: {remove_apikey_params, binary()}.

-type remove_playlist_params() :: {remove_playlist_params, binary()}.

-type remove_shout_params() :: {remove_shout_params, binary()}.

-type remove_track_params() :: {remove_track_params, binary(), integer()}.

-type reply_shout_input() :: {reply_shout_input, binary(), binary()}.

-type report_shout_input() :: {report_shout_input,
        binary(),
        gleam@option:option(binary())}.

-type scrobble_first_scrobble_view() :: {scrobble_first_scrobble_view,
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary())}.

-type scrobble_record() :: {scrobble_record,
        binary(),
        binary(),
        list(artist_mbid()),
        binary(),
        binary(),
        integer(),
        gleam@option:option(integer()),
        gleam@option:option(integer()),
        gleam@option:option(binary()),
        gleam@option:option(integer()),
        gleam@option:option(binary()),
        list(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(blob_ref()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        binary(),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary())}.

-type scrobble_view_basic() :: {scrobble_view_basic,
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(boolean()),
        gleam@option:option(integer())}.

-type scrobble_view_detailed() :: {scrobble_view_detailed,
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(boolean()),
        gleam@option:option(integer()),
        gleam@option:option(integer()),
        gleam@option:option(integer()),
        list(artist_view_basic()),
        gleam@option:option(scrobble_first_scrobble_view())}.

-type search_params() :: {search_params, binary()}.

-type seek_params() :: {seek_params, gleam@option:option(binary()), integer()}.

-type shout_author() :: {shout_author,
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary())}.

-type shout_record() :: {shout_record,
        binary(),
        binary(),
        gleam@option:option(strong_ref()),
        strong_ref()}.

-type shout_view() :: {shout_view,
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(shout_author())}.

-type song_first_scrobble_view() :: {song_first_scrobble_view,
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary())}.

-type song_recent_listener_view() :: {song_recent_listener_view,
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary())}.

-type song_record() :: {song_record,
        binary(),
        binary(),
        list(artist_mbid()),
        binary(),
        binary(),
        integer(),
        gleam@option:option(integer()),
        gleam@option:option(integer()),
        gleam@option:option(binary()),
        gleam@option:option(integer()),
        gleam@option:option(binary()),
        list(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(blob_ref()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        binary(),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary())}.

-type song_view_basic() :: {song_view_basic,
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(integer()),
        gleam@option:option(integer()),
        gleam@option:option(integer()),
        gleam@option:option(integer()),
        gleam@option:option(integer()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        list(binary()),
        gleam@option:option(binary())}.

-type song_view_detailed() :: {song_view_detailed,
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(integer()),
        gleam@option:option(integer()),
        gleam@option:option(integer()),
        gleam@option:option(integer()),
        gleam@option:option(integer()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        list(binary()),
        gleam@option:option(binary()),
        list(artist_view_basic()),
        gleam@option:option(song_first_scrobble_view())}.

-type spotify_track_view() :: {spotify_track_view,
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(integer()),
        gleam@option:option(binary())}.

-type start_playlist_params() :: {start_playlist_params,
        binary(),
        gleam@option:option(boolean()),
        gleam@option:option(integer())}.

-type stats_global_stats_view() :: {stats_global_stats_view,
        gleam@option:option(integer()),
        gleam@option:option(integer()),
        gleam@option:option(integer()),
        gleam@option:option(integer()),
        gleam@option:option(integer())}.

-type stats_view() :: {stats_view,
        gleam@option:option(integer()),
        gleam@option:option(integer()),
        gleam@option:option(integer()),
        gleam@option:option(integer()),
        gleam@option:option(integer())}.

-type stats_wrapped_album() :: {stats_wrapped_album,
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(integer())}.

-type stats_wrapped_artist() :: {stats_wrapped_artist,
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(integer())}.

-type stats_wrapped_day_count() :: {stats_wrapped_day_count,
        gleam@option:option(binary()),
        gleam@option:option(integer())}.

-type stats_wrapped_genre_count() :: {stats_wrapped_genre_count,
        gleam@option:option(binary()),
        gleam@option:option(integer())}.

-type stats_wrapped_milestone() :: {stats_wrapped_milestone,
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary())}.

-type stats_wrapped_month_count() :: {stats_wrapped_month_count,
        gleam@option:option(integer()),
        gleam@option:option(integer())}.

-type stats_wrapped_track() :: {stats_wrapped_track,
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(integer())}.

-type stats_wrapped_view() :: {stats_wrapped_view,
        gleam@option:option(integer()),
        gleam@option:option(integer()),
        gleam@option:option(integer()),
        list(stats_wrapped_artist()),
        list(stats_wrapped_track()),
        list(stats_wrapped_album()),
        list(stats_wrapped_genre_count()),
        list(stats_wrapped_month_count()),
        gleam@option:option(stats_wrapped_day_count()),
        gleam@option:option(integer()),
        gleam@option:option(integer()),
        gleam@option:option(integer()),
        gleam@option:option(stats_wrapped_milestone()),
        gleam@option:option(stats_wrapped_milestone())}.

-type status_record() :: {status_record,
        actor_track_view(),
        binary(),
        gleam@option:option(binary())}.

-type strong_ref() :: {strong_ref, binary(), binary()}.

-type unfollow_account_output() :: {unfollow_account_output,
        actor_profile_view_basic(),
        list(actor_profile_view_basic()),
        gleam@option:option(binary())}.

-type unfollow_account_params() :: {unfollow_account_params, binary()}.

-type update_apikey_input() :: {update_apikey_input,
        binary(),
        binary(),
        gleam@option:option(binary())}.