using System.Threading;
using System.Threading.Tasks;

namespace StellaOps.Scanner.Core.Security;

public interface IAuthorityTokenSource
{
    ValueTask<ScannerOperationalToken> GetAsync(string audience, IEnumerable<string> scopes, CancellationToken cancellationToken = default);

    ValueTask InvalidateAsync(string audience, IEnumerable<string> scopes, CancellationToken cancellationToken = default);
}
