# LicenseTerms

What HyperFormula needs from a typed key, after the two payload shapes have been reconciled.

The engine reads TWO payload shapes on purpose:

- the **shipped** shape of `handsontable/license-key` — `tier`, `addons`, `exp`, `grace`, with
  the contract type carried by the key's `[TRIAL]`/`[FREE]`/`[SUB]`/`[PERP]` tag, and with the
  expiry living on the LICENSED product entry (the first schema product present);
- the shape of key spec **rev 5** — `capabilities`, `usage_until` / `release_until`, `notice`,
  `grace`, `flags`, where every product entry carries its own terms.

The two disagree about nearly every field, rev 5 is still for review, and only the first can
be minted today. Reading both means an already-issued key keeps working whichever way that
disagreement is settled. Shape is detected per product entry, by the presence of
`capabilities`, not guessed from the key type.

## Properties

### capabilityTokens 

• **capabilityTokens**: *string[]*

*Defined in [src/license/licenseResolution.ts:89](https://github.com/handsontable/hyperformula/blob/9c22416/src/license/licenseResolution.ts#L89)*

___

### comparedAgainstReleaseDate 

• **comparedAgainstReleaseDate**: *boolean*

*Defined in [src/license/licenseResolution.ts:94](https://github.com/handsontable/hyperformula/blob/9c22416/src/license/licenseResolution.ts#L94)*

`true` compares against the build release date, `false` against the clock.

___

### expiry 

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

*Defined in [src/license/licenseResolution.ts:90](https://github.com/handsontable/hyperformula/blob/9c22416/src/license/licenseResolution.ts#L90)*

___

### expiryTimestamp 

• **expiryTimestamp**: *number | null*

*Defined in [src/license/licenseResolution.ts:92](https://github.com/handsontable/hyperformula/blob/9c22416/src/license/licenseResolution.ts#L92)*

Epoch milliseconds of the last licensed day, or `null` when the key never expires.

___

### graceDays 

• **graceDays**: *number*

*Defined in [src/license/licenseResolution.ts:95](https://github.com/handsontable/hyperformula/blob/9c22416/src/license/licenseResolution.ts#L95)*

___

### isTrial 

• **isTrial**: *boolean*

*Defined in [src/license/licenseResolution.ts:96](https://github.com/handsontable/hyperformula/blob/9c22416/src/license/licenseResolution.ts#L96)*

___

### silent 

• **silent**: *boolean*

*Defined in [src/license/licenseResolution.ts:97](https://github.com/handsontable/hyperformula/blob/9c22416/src/license/licenseResolution.ts#L97)*