# LicenseEntitlement

The resolved set of things a license grants, independent of how the underlying license key
was parsed.

This is the contract every later HF-307 task consumes: [CapabilityRegistry](../classes/capabilityregistry.md) turns it
into a `ResolvedCapabilities` set, gate B in the interpreter reads that set, and PR 2's
`ensureCapability` reads it for the public API. Until PR 3 lands the real license-key payload
adapter, instances of this are built by hand in tests rather than read from a real key.

## Properties

### capabilities 

• **capabilities**: *ReadonlySet‹string›*

*Defined in [src/license/LicenseEntitlement.ts:59](https://github.com/handsontable/hyperformula/blob/7c25bbc/src/license/LicenseEntitlement.ts#L59)*

Capability tokens this entitlement grants, recognized by this library version.

___

### expiry 

• **expiry**: *[LicenseExpiry](licenseexpiry.md)*

*Defined in [src/license/LicenseEntitlement.ts:66](https://github.com/handsontable/hyperformula/blob/7c25bbc/src/license/LicenseEntitlement.ts#L66)*

___

### isTrial 

• **isTrial**: *boolean*

*Defined in [src/license/LicenseEntitlement.ts:78](https://github.com/handsontable/hyperformula/blob/7c25bbc/src/license/LicenseEntitlement.ts#L78)*

___

### silent 

• **silent**: *boolean*

*Defined in [src/license/LicenseEntitlement.ts:77](https://github.com/handsontable/hyperformula/blob/7c25bbc/src/license/LicenseEntitlement.ts#L77)*

When `true`, resolving this entitlement must not print a console message of any kind.

Set from the key's own flags ONLY — the key spec spells that flag three different ways across
revisions and even within one revision, and all are honoured. An unrecognized token does NOT
set it: HF-307 decision D3 makes the *grant* silent (an unknown token grants nothing, with no
message and no diagnostics getter), which is a different thing from muting the key's console
output. Coupling them suppressed expiry notices as a side effect of a vocabulary mismatch, and
was confirmed an implementation error (Kuba, 12.08).

___

### unrecognizedCapabilities 

• **unrecognizedCapabilities**: *readonly string[]*

*Defined in [src/license/LicenseEntitlement.ts:65](https://github.com/handsontable/hyperformula/blob/7c25bbc/src/license/LicenseEntitlement.ts#L65)*

Tokens present on the license payload that this library version does not recognize.
Kept for diagnostics and tests; per HF-307 decision D3 nothing public reads this field — an
unrecognized token never grants a capability, and it does so silently.

___

### unrestricted 

• **unrestricted**: *boolean*

*Defined in [src/license/LicenseEntitlement.ts:57](https://github.com/handsontable/hyperformula/blob/7c25bbc/src/license/LicenseEntitlement.ts#L57)*

`true` for every key this library fully understands today (`gpl-v3`, legacy keys).