using System; using System.Collections.Generic; using System.Threading.Tasks; namespace SpotifyAPI.Web { public interface ISpotifyClient { IPaginator DefaultPaginator { get; } IUserProfileClient UserProfile { get; } IBrowseClient Browse { get; } IShowsClient Shows { get; } IPlaylistsClient Playlists { get; } ISearchClient Search { get; } IFollowClient Follow { get; } ITracksClient Tracks { get; } IPlayerClient Player { get; } IAlbumsClient Albums { get; } IArtistsClient Artists { get; } IPersonalizationClient Personalization { get; } IEpisodesClient Episodes { get; } ILibraryClient Library { get; } Task> Paginate(Paging firstPage); Task> Paginate(Paging firstPage, Func> mapper); Task> Paginate(Func>> getFirstPage); Task> Paginate(Func>> getFirstPage, Func> mapper); Task> Paginate(Paging firstPage, IPaginator paginator); Task> Paginate(Func>> getFirstPage, IPaginator paginator); } }