18 lines
602 B
C#
18 lines
602 B
C#
using EbbesMemeClipboard.Models;
|
|
|
|
namespace EbbesMemeClipboard.Services;
|
|
|
|
public interface IGifProvider
|
|
{
|
|
MemeSource Source { get; }
|
|
|
|
/// <summary>False when the provider isn't usable yet (e.g. no API key configured).</summary>
|
|
bool IsConfigured { get; }
|
|
|
|
/// <summary>Shown in the UI when IsConfigured is false, explaining how to fix it.</summary>
|
|
string NotConfiguredMessage { get; }
|
|
|
|
/// <summary>An empty query returns whatever the provider considers trending.</summary>
|
|
Task<IReadOnlyList<GifSearchResult>> SearchAsync(string query, int limit, CancellationToken ct);
|
|
}
|