import '../../contracts/trakt/trakt_response.dart';
import '../../contracts/trakt/trakt_sync_job.dart';


abstract class AuthedTraktGateway {

  Future<bool> isConnected();


  Future<TraktScrobbleOutcome> scrobble(
    TraktSyncJobType type,
    Map<String, dynamic> body,
  );


  Future<TraktScrobbleOutcome> syncHistory(
    TraktSyncJobType type,
    Map<String, dynamic> body,
  );


  Future<List<Map<String, dynamic>>> fetchPlayback();


  Future<List<Map<String, dynamic>>> fetchCalendarShows();


  Future<List<Map<String, dynamic>>> fetchCalendarMovies();
}
