namespace ytLive.Services.Entitlement;
///
/// Where "is this copy licensed for Pro output?" comes from.
///
/// One question, two sources. The lifetime SKU is a Steam DLC; the monthly is a Polar
/// lease. Both answer this interface, and everything downstream — the output profile, the greyed
/// tier list, the notices — reads only this. Nothing outside Services/Entitlement may know
/// which rail proved it.
///
/// Fail closed. An implementation that cannot reach its source, cannot load its
/// native library, or has no product id configured returns false. Pro is never a default,
/// never a cached "probably", and never the result of an exception being swallowed as true.
///
public interface IEntitlement
{
/// True when this session may emit above the free output budget.
bool IsPro { get; }
}