# Core.Event

## Content

# Interface: Event<TArgs\>

[Core](../modules/Core).Event

Defines the contract for an event subscription.

**`example`**
```ts
const event = {} as Event<{ message: string }>;
const unregister = event.register((args) => console.log(args.message));
unregister();
```

## Type parameters

| Name | Description |
| :------ | :------ |
| `TArgs` | The event arguments type. |

## Table of contents

### Methods

- [register](Core.Event#register)

## Methods

### <a id="register" name="register"></a> register

▸ **register**(`eventHandler`): [`UnregisterHandler`](../modules/Core#unregisterhandler)

Registers an event handler.

**`example`**
```ts
const event = {} as Event<{ message: string }>;
const unregister = event.register((args) => console.log(args.message));
unregister();
```

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `eventHandler` | [`EventHandler`](../modules/Core#eventhandler)<`TArgs`\> | The handler to register. |

#### Returns

[`UnregisterHandler`](../modules/Core#unregisterhandler)

A function that unregisters the handler.
