# 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:108](https://github.com/handsontable/hyperformula/blob/7c25bbc/src/license/licenseResolution.ts#L108)*

___

### comparedAgainstReleaseDate 

• **comparedAgainstReleaseDate**: *boolean*

*Defined in [src/license/licenseResolution.ts:113](https://github.com/handsontable/hyperformula/blob/7c25bbc/src/license/licenseResolution.ts#L113)*

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

___

### expiry 

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

*Defined in [src/license/licenseResolution.ts:109](https://github.com/handsontable/hyperformula/blob/7c25bbc/src/license/licenseResolution.ts#L109)*

___

### expiryTimestamp 

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

*Defined in [src/license/licenseResolution.ts:111](https://github.com/handsontable/hyperformula/blob/7c25bbc/src/license/licenseResolution.ts#L111)*

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

___

### graceDays 

• **graceDays**: *number*

*Defined in [src/license/licenseResolution.ts:114](https://github.com/handsontable/hyperformula/blob/7c25bbc/src/license/licenseResolution.ts#L114)*

___

### isTrial 

• **isTrial**: *boolean*

*Defined in [src/license/licenseResolution.ts:115](https://github.com/handsontable/hyperformula/blob/7c25bbc/src/license/licenseResolution.ts#L115)*

___

### silent 

• **silent**: *boolean*

*Defined in [src/license/licenseResolution.ts:116](https://github.com/handsontable/hyperformula/blob/7c25bbc/src/license/licenseResolution.ts#L116)*