using Thalos.Bff.Application.Contracts;
using Thalos.Service.Identity.Abstractions.Contracts;
namespace Thalos.Bff.Application.Adapters;
///
/// Adapter boundary for downstream thalos-service calls.
///
public interface IThalosServiceClient
{
///
/// Requests token issuance from thalos-service.
///
/// Identity token issuance request.
/// Token issuance response.
Task IssueTokenAsync(IssueIdentityTokenRequest request);
///
/// Requests policy evaluation from thalos-service.
///
/// Identity policy request.
/// Identity policy response.
Task EvaluatePolicyAsync(EvaluateIdentityPolicyRequest request);
///
/// Requests token refresh from thalos-service.
///
/// Session refresh request.
/// Session refresh response.
Task RefreshSessionAsync(RefreshIdentitySessionRequest request);
}