# EventDefinition

> _Since v1.8.0_

Defines an event that a plugin can emit.
Other plugins can subscribe to these events via the Event Bus.

#### Example

```typescript
// In manifest
events: [
  {
    type: 'filter-change',
    description: 'Emitted when filter criteria change',
  },
]

// In plugin class - emit
this.emitPluginEvent('filter-change', { field: 'name', value: 'Alice' });

// In another plugin - subscribe
this.on('filter-change', (detail) => console.log('Filter changed:', detail));
```

## Properties

| Property | Type | Description |
| -------- | ---- | ----------- |
| `type` | <code>string</code> | The event type identifier (e.g., 'filter-change', 'selection-change'). Used when emitting and subscribing to events. |
| `description?` | <code>string</code> | Human-readable description of what the event represents. |
| `cancelable?` | <code>boolean</code> | Whether this event is cancelable via `event.preventDefault()`. |

### Property Details

#### cancelable

**Default:** `false`

---
