using Api.Services.Contracts.Models;
namespace Api.Services.Contracts
{
///
/// Verifies a reCAPTCHA token against the Google verification API.
///
public interface ICaptchaVerifier
{
///
/// Sends the token to the Google reCAPTCHA verification endpoint and
/// returns a verdict indicating success, score, and any failure reason.
///
/// The reCAPTCHA token provided by the client.
/// Optional remote IP address passed to Google for additional risk analysis.
/// Optional action name to validate against the token's embedded action (v3 only).
/// Cancellation token.
/// A with the verification outcome.
Task VerifyAsync(string token, string? userIp, string? expectedAction, CancellationToken ct);
}
}