using System.Threading.Tasks; using ErsatzTV.Core.Domain; using LanguageExt; namespace ErsatzTV.Core.Interfaces.Repositories { public interface IMetadataRepository { Task RemoveGenre(Genre genre); Task Update(Domain.Metadata metadata); Task Add(Domain.Metadata metadata); Task UpdateLocalStatistics(MediaVersion mediaVersion); Task UpdatePlexStatistics(MediaVersion mediaVersion); Task UpdateArtworkPath(Artwork artwork); Task AddArtwork(Domain.Metadata metadata, Artwork artwork); Task RemoveArtwork(Domain.Metadata metadata, ArtworkKind artworkKind); } }