using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
using StellaOps.Cli.Services.Models;
namespace StellaOps.Cli.Services;
///
/// Client for Authority console endpoints (CLI-TEN-47-001, CLI-TEN-49-001).
///
internal interface IAuthorityConsoleClient
{
///
/// Lists available tenants for the authenticated principal.
///
Task> ListTenantsAsync(string tenant, CancellationToken cancellationToken);
///
/// Mints a service account token (CLI-TEN-49-001).
///
Task MintTokenAsync(TokenMintRequest request, CancellationToken cancellationToken);
///
/// Delegates a token to another principal (CLI-TEN-49-001).
///
Task DelegateTokenAsync(TokenDelegateRequest request, CancellationToken cancellationToken);
///
/// Introspects the current token for impersonation/delegation info (CLI-TEN-49-001).
///
Task IntrospectTokenAsync(string? tenant, CancellationToken cancellationToken);
}