import 'package:dartz/dartz.dart'; import '../../core/error/failures.dart'; import '../entities/album.dart'; import '../entities/artist.dart'; import '../entities/song.dart'; abstract class MusicDataRepository { Stream> get songStream; Stream> getAlbumSongStream(Album album); Stream> getArtistAlbumStream(Artist artist); Future>> getSongs(); Future>> getSongsFromAlbum(Album album); Future>> getAlbums(); Future>> getArtists(); Future updateDatabase(); Future setSongBlocked(Song song, bool blocked); Future toggleNextSongLink(Song song); }