using EbbesMemeClipboard.Models; namespace EbbesMemeClipboard.Services; public interface IGifCacheService { /// /// Ensures the result's full-quality GIF exists as a real file on disk and returns its path. /// Required before a remote result can go on the clipboard at all, since the file-drop /// format (the one that preserves animation for chat apps) needs an actual local file. /// Task GetOrDownloadAsync(GifSearchResult result, CancellationToken ct); /// Downloads a preview rendition into memory for grid thumbnails. Task DownloadPreviewAsync(GifSearchResult result, CancellationToken ct); }