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);
}