import '../entities/album.dart'; import '../entities/artist.dart'; import '../entities/loop_mode.dart'; import '../entities/playback_state.dart'; import '../entities/shuffle_mode.dart'; import '../entities/song.dart'; abstract class AudioRepository { Stream get currentSongStream; Stream get playbackStateStream; Stream get currentPositionStream; Future playSong(int index, List songList); Future play(); Future pause(); Future skipToNext(); Future skipToPrevious(); Future setIndex(int index); Future playAlbum(Album album); Future playArtist(Artist artist, {ShuffleMode shuffleMode = ShuffleMode.none}); Future setShuffleMode(ShuffleMode shuffleMode); Future setLoopMode(LoopMode loopMode); Future shuffleAll(); Future addToQueue(Song song); Future moveQueueItem(int oldIndex, int newIndex); Future removeQueueIndex(int index); }