[**@sebasoft/neuron-js**](../../README.md)

***

Defined in: [index.ts:65](https://github.com/SebaSOFT/neuron-js/blob/aff482a5bc89c6f9dff62f832acdd1bd10d3a175/src/index.ts#L65)

The Neuron class serves as the central component registry for the rules engine.
It manages the availability and instantiation of Parameters, Conditions, Actions, and Rules.

## Constructors

### Constructor

> **new Neuron**(): `Neuron`

Defined in: [index.ts:76](https://github.com/SebaSOFT/neuron-js/blob/aff482a5bc89c6f9dff62f832acdd1bd10d3a175/src/index.ts#L76)

Creates a new Neuron instance and registers the default built-in plugins.

#### Returns

`Neuron`

## Methods

### createParameterMap()

> **createParameterMap**(`params`): `Map`\<`string`, [`IElementInstance`](../interfaces/IElementInstance.md) & `object`\>

Defined in: [index.ts:120](https://github.com/SebaSOFT/neuron-js/blob/aff482a5bc89c6f9dff62f832acdd1bd10d3a175/src/index.ts#L120)

Converts serializable parameter definitions into a name-keyed Map of parameter instances.

Plugin authors still receive JSON-friendly arrays at the script boundary, but base
classes can expose a Map for ergonomic `this.params.get("name")` access.

#### Parameters

##### params

[`ParameterInterface`](../../interfaces/Parameter/interfaces/ParameterInterface.md)\<`any`, `any`\>[]

#### Returns

`Map`\<`string`, [`IElementInstance`](../interfaces/IElementInstance.md) & `object`\>

***

### getAction()

> **getAction**(`type`): [`ActionConstructor`](../type-aliases/ActionConstructor.md) \| `undefined`

Defined in: [index.ts:169](https://github.com/SebaSOFT/neuron-js/blob/aff482a5bc89c6f9dff62f832acdd1bd10d3a175/src/index.ts#L169)

Retrieves an action constructor by type.

#### Parameters

##### type

`string`

#### Returns

[`ActionConstructor`](../type-aliases/ActionConstructor.md) \| `undefined`

***

### getCondition()

> **getCondition**(`type`): [`ConditionConstructor`](../type-aliases/ConditionConstructor.md) \| `undefined`

Defined in: [index.ts:159](https://github.com/SebaSOFT/neuron-js/blob/aff482a5bc89c6f9dff62f832acdd1bd10d3a175/src/index.ts#L159)

Retrieves a condition constructor by type.

#### Parameters

##### type

`string`

#### Returns

[`ConditionConstructor`](../type-aliases/ConditionConstructor.md) \| `undefined`

***

### getParameter()

> **getParameter**(`type`): [`ParameterConstructor`](../type-aliases/ParameterConstructor.md)\<`any`\> \| `undefined`

Defined in: [index.ts:110](https://github.com/SebaSOFT/neuron-js/blob/aff482a5bc89c6f9dff62f832acdd1bd10d3a175/src/index.ts#L110)

Retrieves a parameter constructor by type.

#### Parameters

##### type

`string`

#### Returns

[`ParameterConstructor`](../type-aliases/ParameterConstructor.md)\<`any`\> \| `undefined`

***

### getRule()

> **getRule**(`type`): [`RuleConstructor`](../type-aliases/RuleConstructor.md) \| `undefined`

Defined in: [index.ts:179](https://github.com/SebaSOFT/neuron-js/blob/aff482a5bc89c6f9dff62f832acdd1bd10d3a175/src/index.ts#L179)

Retrieves a rule constructor by type.

#### Parameters

##### type

`string`

#### Returns

[`RuleConstructor`](../type-aliases/RuleConstructor.md) \| `undefined`

***

### registerAction()

> **registerAction**(`type`, `ctor`): `void`

Defined in: [index.ts:164](https://github.com/SebaSOFT/neuron-js/blob/aff482a5bc89c6f9dff62f832acdd1bd10d3a175/src/index.ts#L164)

Registers a custom action type.

#### Parameters

##### type

`string`

##### ctor

[`ActionConstructor`](../type-aliases/ActionConstructor.md)

#### Returns

`void`

***

### registerCondition()

> **registerCondition**(`type`, `ctor`): `void`

Defined in: [index.ts:154](https://github.com/SebaSOFT/neuron-js/blob/aff482a5bc89c6f9dff62f832acdd1bd10d3a175/src/index.ts#L154)

Registers a custom condition type.

#### Parameters

##### type

`string`

##### ctor

[`ConditionConstructor`](../type-aliases/ConditionConstructor.md)

#### Returns

`void`

***

### registerParameter()

> **registerParameter**(`type`, `ctor`): `void`

Defined in: [index.ts:105](https://github.com/SebaSOFT/neuron-js/blob/aff482a5bc89c6f9dff62f832acdd1bd10d3a175/src/index.ts#L105)

Registers a custom parameter type.

#### Parameters

##### type

`string`

##### ctor

[`ParameterConstructor`](../type-aliases/ParameterConstructor.md)

#### Returns

`void`

***

### registerRule()

> **registerRule**(`type`, `ctor`): `void`

Defined in: [index.ts:174](https://github.com/SebaSOFT/neuron-js/blob/aff482a5bc89c6f9dff62f832acdd1bd10d3a175/src/index.ts#L174)

Registers a custom rule type.

#### Parameters

##### type

`string`

##### ctor

[`RuleConstructor`](../type-aliases/RuleConstructor.md)

#### Returns

`void`
