using QRRapidoApp.Models;
namespace QRRapidoApp.Services
{
public record RateLimitResult(
bool Allowed,
int PerMinuteLimit,
int PerMinuteUsed,
long ResetUnixTimestamp,
int MonthlyLimit,
int MonthlyUsed,
bool MonthlyExceeded
);
public interface IApiRateLimitService
{
///
/// Checks the rate limit for the given API key prefix and plan tier.
/// Increments the counter only if the request is allowed.
///
Task CheckAndIncrementAsync(string keyPrefix, ApiPlanTier tier);
}
}