using System.Collections.Generic; using System.Threading.Tasks; using ErsatzTV.Core.Domain; using ErsatzTV.Core.Plex; using LanguageExt; namespace ErsatzTV.Core.Interfaces.Plex { public interface IPlexServerApiClient { Task>> GetLibraries( PlexConnection connection, PlexServerAuthToken token); Task>> GetMovieLibraryContents( PlexLibrary library, PlexConnection connection, PlexServerAuthToken token); Task>> GetShowLibraryContents( PlexLibrary library, PlexConnection connection, PlexServerAuthToken token); Task>> GetShowSeasons( PlexLibrary library, PlexShow show, PlexConnection connection, PlexServerAuthToken token); Task>> GetSeasonEpisodes( PlexLibrary library, PlexSeason season, PlexConnection connection, PlexServerAuthToken token); Task> GetStatistics( string key, PlexConnection connection, PlexServerAuthToken token); } }