# EntitlementProductGrant

One normalized product entry of an entitlement key payload.

The named fields are guaranteed by [normalizeProductEntry](../globals.md#normalizeproductentry): `capabilities` and `flags`
are arrays of strings (`flags` normalized to `[]` when absent), `notice` and `grace` are
non-negative integers, and exactly one of `usage_until` / `release_until` is present and is a
real `YYYY-MM-DD` calendar date. Any OTHER field the entry carries is preserved verbatim under
its own name — a field added to the format later must reach an application running an older
vendored parser — which is what the index signature is for.

## Properties

### capabilities

• **capabilities**: *readonly string[]*

*Defined in [src/license/vendor/extractKeyData.ts:38](https://github.com/handsontable/hyperformula/blob/dcf9354/src/license/vendor/extractKeyData.ts#L38)*

___

### flags

• **flags**: *readonly string[]*

*Defined in [src/license/vendor/extractKeyData.ts:43](https://github.com/handsontable/hyperformula/blob/dcf9354/src/license/vendor/extractKeyData.ts#L43)*

___

### grace

• **grace**: *number*

*Defined in [src/license/vendor/extractKeyData.ts:42](https://github.com/handsontable/hyperformula/blob/dcf9354/src/license/vendor/extractKeyData.ts#L42)*

___

### notice

• **notice**: *number*

*Defined in [src/license/vendor/extractKeyData.ts:41](https://github.com/handsontable/hyperformula/blob/dcf9354/src/license/vendor/extractKeyData.ts#L41)*

___

### release_until

• **release_until**? : *undefined | string*

*Defined in [src/license/vendor/extractKeyData.ts:40](https://github.com/handsontable/hyperformula/blob/dcf9354/src/license/vendor/extractKeyData.ts#L40)*

___

### usage_until

• **usage_until**? : *undefined | string*

*Defined in [src/license/vendor/extractKeyData.ts:39](https://github.com/handsontable/hyperformula/blob/dcf9354/src/license/vendor/extractKeyData.ts#L39)*