using System.Threading.Tasks; using ErsatzTV.Core.Domain; using LanguageExt; namespace ErsatzTV.Core.Interfaces.Images { public interface IImageCache { Task> ResizeImage(byte[] imageBuffer, int height); Task> SaveArtworkToCache(byte[] imageBuffer, ArtworkKind artworkKind); Task> CopyArtworkToCache(string path, ArtworkKind artworkKind); string GetPathForImage(string fileName, ArtworkKind artworkKind, Option maybeMaxHeight); Task IsAnimated(string fileName); } }