# ResolvedLicense

Both halves of the license decision, resolved from one reading of the key.

They are deliberately produced together: the two gates ask different questions of the same
string, and parsing it twice would let them disagree about what it says.

## Properties

### blocksEvaluation 

• **blocksEvaluation**: *boolean*

*Defined in [src/license/licenseResolution.ts:63](https://github.com/handsontable/hyperformula/blob/5b72a24/src/license/licenseResolution.ts#L63)*

Gate A — `true` when function calls must return `#LIC!`. Usually `validityState !== VALID`;
the exception is an expired non-trial entitlement key, which reports `EXPIRED` but keeps
evaluating (see [EXPIRED_WITHOUT_BLOCKING_STATES](../globals.md#const-expired_without_blocking_states)).

___

### entitlement 

• **entitlement**: *[LicenseEntitlement](licenseentitlement.md)*

*Defined in [src/license/licenseResolution.ts:65](https://github.com/handsontable/hyperformula/blob/5b72a24/src/license/licenseResolution.ts#L65)*

Gate B — which functions and API features the key grants.

___

### validityState 

• **validityState**: *[LicenseKeyValidityState](../enums/licensekeyvaliditystate.md)*

*Defined in [src/license/licenseResolution.ts:57](https://github.com/handsontable/hyperformula/blob/5b72a24/src/license/licenseResolution.ts#L57)*

The key's state, as reported by `VERSION()` and the console messages.