using ErsatzTV.Core.Domain; using ErsatzTV.Core.Metadata; namespace ErsatzTV.Core.Interfaces.Repositories; public interface ISongRepository { Task>> GetOrAdd( LibraryPath libraryPath, LibraryFolder libraryFolder, string path); Task> FindSongPaths(LibraryPath libraryPath); Task> DeleteByPath(LibraryPath libraryPath, string path); Task AddGenre(SongMetadata metadata, Genre genre); Task AddTag(SongMetadata metadata, Tag tag); Task> GetSongsForCards(List ids); }