<!--
 ⚠️  AUTO-GENERATED FILE - DO NOT EDIT MANUALLY
 This file is automatically generated by scripts/docs-generator.js
 To make changes, edit the source TypeScript files or update the generator script
-->

[agents](../../) / [Exports](../modules) / IPlugin

# Interface: IPlugin

Plugin interface extending ITypeSafePlugin

## Hierarchy

- [`ITypeSafePlugin`](ITypeSafePlugin)\<[`IPluginConfig`](IPluginConfig), [`IPluginStats`](IPluginStats)\>

  ↳ **`IPlugin`**

## Table of contents

### Properties

- [name](IPlugin#name)
- [version](IPlugin#version)
- [enabled](IPlugin#enabled)
- [category](IPlugin#category)
- [priority](IPlugin#priority)

### Methods

- [initialize](IPlugin#initialize)
- [cleanup](IPlugin#cleanup)
- [getData](IPlugin#getdata)
- [getStats](IPlugin#getstats)
- [subscribeToModuleEvents](IPlugin#subscribetomoduleevents)
- [unsubscribeFromModuleEvents](IPlugin#unsubscribefrommoduleevents)
- [onModuleEvent](IPlugin#onmoduleevent)

## Properties

### name

• **name**: `string`

#### Inherited from

[ITypeSafePlugin](ITypeSafePlugin).[name](ITypeSafePlugin#name)

#### Defined in

[packages/agents/src/abstracts/abstract-plugin.ts:157](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/abstracts/abstract-plugin.ts#L157)

---

### version

• **version**: `string`

#### Inherited from

[ITypeSafePlugin](ITypeSafePlugin).[version](ITypeSafePlugin#version)

#### Defined in

[packages/agents/src/abstracts/abstract-plugin.ts:158](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/abstracts/abstract-plugin.ts#L158)

---

### enabled

• **enabled**: `boolean`

#### Inherited from

[ITypeSafePlugin](ITypeSafePlugin).[enabled](ITypeSafePlugin#enabled)

#### Defined in

[packages/agents/src/abstracts/abstract-plugin.ts:159](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/abstracts/abstract-plugin.ts#L159)

---

### category

• **category**: [`PluginCategory`](../enums/PluginCategory)

#### Inherited from

[ITypeSafePlugin](ITypeSafePlugin).[category](ITypeSafePlugin#category)

#### Defined in

[packages/agents/src/abstracts/abstract-plugin.ts:160](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/abstracts/abstract-plugin.ts#L160)

---

### priority

• **priority**: `number`

#### Inherited from

[ITypeSafePlugin](ITypeSafePlugin).[priority](ITypeSafePlugin#priority)

#### Defined in

[packages/agents/src/abstracts/abstract-plugin.ts:161](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/abstracts/abstract-plugin.ts#L161)

## Methods

### initialize

▸ **initialize**(`options?`): `Promise`\<`void`\>

#### Parameters

| Name       | Type                             |
| :--------- | :------------------------------- |
| `options?` | [`IPluginConfig`](IPluginConfig) |

#### Returns

`Promise`\<`void`\>

#### Inherited from

[ITypeSafePlugin](ITypeSafePlugin).[initialize](ITypeSafePlugin#initialize)

#### Defined in

[packages/agents/src/abstracts/abstract-plugin.ts:163](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/abstracts/abstract-plugin.ts#L163)

---

### cleanup

▸ **cleanup**(): `Promise`\<`void`\>

#### Returns

`Promise`\<`void`\>

#### Inherited from

[ITypeSafePlugin](ITypeSafePlugin).[cleanup](ITypeSafePlugin#cleanup)

#### Defined in

[packages/agents/src/abstracts/abstract-plugin.ts:164](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/abstracts/abstract-plugin.ts#L164)

---

### getData

▸ **getData**(): [`IPluginData`](IPluginData)

#### Returns

[`IPluginData`](IPluginData)

#### Inherited from

[ITypeSafePlugin](ITypeSafePlugin).[getData](ITypeSafePlugin#getdata)

#### Defined in

[packages/agents/src/abstracts/abstract-plugin.ts:165](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/abstracts/abstract-plugin.ts#L165)

---

### getStats

▸ **getStats**(): [`IPluginStats`](IPluginStats)

#### Returns

[`IPluginStats`](IPluginStats)

#### Inherited from

[ITypeSafePlugin](ITypeSafePlugin).[getStats](ITypeSafePlugin#getstats)

#### Defined in

[packages/agents/src/abstracts/abstract-plugin.ts:166](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/abstracts/abstract-plugin.ts#L166)

---

### subscribeToModuleEvents

▸ **subscribeToModuleEvents**(`eventEmitter`): `Promise`\<`void`\>

#### Parameters

| Name           | Type                                                  |
| :------------- | :---------------------------------------------------- |
| `eventEmitter` | [`EventEmitterPlugin`](../classes/EventEmitterPlugin) |

#### Returns

`Promise`\<`void`\>

#### Inherited from

[ITypeSafePlugin](ITypeSafePlugin).[subscribeToModuleEvents](ITypeSafePlugin#subscribetomoduleevents)

#### Defined in

[packages/agents/src/abstracts/abstract-plugin.ts:169](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/abstracts/abstract-plugin.ts#L169)

---

### unsubscribeFromModuleEvents

▸ **unsubscribeFromModuleEvents**(`eventEmitter`): `Promise`\<`void`\>

#### Parameters

| Name           | Type                                                  |
| :------------- | :---------------------------------------------------- |
| `eventEmitter` | [`EventEmitterPlugin`](../classes/EventEmitterPlugin) |

#### Returns

`Promise`\<`void`\>

#### Inherited from

[ITypeSafePlugin](ITypeSafePlugin).[unsubscribeFromModuleEvents](ITypeSafePlugin#unsubscribefrommoduleevents)

#### Defined in

[packages/agents/src/abstracts/abstract-plugin.ts:170](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/abstracts/abstract-plugin.ts#L170)

---

### onModuleEvent

▸ **onModuleEvent**(`eventType`, `eventData`): `void` \| `Promise`\<`void`\>

#### Parameters

| Name        | Type                                |
| :---------- | :---------------------------------- |
| `eventType` | [`EventType`](../modules#eventtype) |
| `eventData` | [`EventData`](EventData)            |

#### Returns

`void` \| `Promise`\<`void`\>

#### Inherited from

[ITypeSafePlugin](ITypeSafePlugin).[onModuleEvent](ITypeSafePlugin#onmoduleevent)

#### Defined in

[packages/agents/src/abstracts/abstract-plugin.ts:171](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/abstracts/abstract-plugin.ts#L171)
