> ## Documentation Index
> Fetch the complete documentation index at: https://docs.modelence.com/llms.txt
> Use this file to discover all available pages before exploring further.

# WebsocketClientProvider

[API Reference](/api-reference/modelence/index/interfaces/../../../index) / [modelence](/api-reference/modelence/index/interfaces/../../index) / [index](/api-reference/modelence/index/interfaces/../index) / WebsocketClientProvider

Defined in: [packages/modelence/src/websocket/types.ts:10](https://github.com/modelence/modelence/blob/f614ecc6811cdda9670d612872c8ff49a49c5e28/packages/modelence/src/websocket/types.ts#L10)

## Methods

### emit()

> **emit**(`props`): `void`

Defined in: [packages/modelence/src/websocket/types.ts:15](https://github.com/modelence/modelence/blob/f614ecc6811cdda9670d612872c8ff49a49c5e28/packages/modelence/src/websocket/types.ts#L15)

#### Parameters

| Parameter         | Type                                                              |
| ----------------- | ----------------------------------------------------------------- |
| `props`           | \{ `category`: `string`; `eventName`: `string`; `id`: `string`; } |
| `props.category`  | `string`                                                          |
| `props.eventName` | `string`                                                          |
| `props.id`        | `string`                                                          |

#### Returns

`void`

***

### init()

> **init**(`props`): `void`

Defined in: [packages/modelence/src/websocket/types.ts:11](https://github.com/modelence/modelence/blob/f614ecc6811cdda9670d612872c8ff49a49c5e28/packages/modelence/src/websocket/types.ts#L11)

#### Parameters

| Parameter         | Type                                                                                                                              |
| ----------------- | --------------------------------------------------------------------------------------------------------------------------------- |
| `props`           | \{ `channels?`: [`ClientChannel`](/api-reference/modelence/index/interfaces/../../client/classes/ClientChannel)\<`unknown`>\[]; } |
| `props.channels?` | [`ClientChannel`](/api-reference/modelence/index/interfaces/../../client/classes/ClientChannel)\<`unknown`>\[]                    |

#### Returns

`void`

***

### joinChannel()

> **joinChannel**(`props`): `void`

Defined in: [packages/modelence/src/websocket/types.ts:16](https://github.com/modelence/modelence/blob/f614ecc6811cdda9670d612872c8ff49a49c5e28/packages/modelence/src/websocket/types.ts#L16)

#### Parameters

| Parameter        | Type                                       |
| ---------------- | ------------------------------------------ |
| `props`          | \{ `category`: `string`; `id`: `string`; } |
| `props.category` | `string`                                   |
| `props.id`       | `string`                                   |

#### Returns

`void`

***

### leaveChannel()

> **leaveChannel**(`props`): `void`

Defined in: [packages/modelence/src/websocket/types.ts:17](https://github.com/modelence/modelence/blob/f614ecc6811cdda9670d612872c8ff49a49c5e28/packages/modelence/src/websocket/types.ts#L17)

#### Parameters

| Parameter        | Type                                       |
| ---------------- | ------------------------------------------ |
| `props`          | \{ `category`: `string`; `id`: `string`; } |
| `props.category` | `string`                                   |
| `props.id`       | `string`                                   |

#### Returns

`void`

***

### off()

> **off**\<`T`>(`props`): `void`

Defined in: [packages/modelence/src/websocket/types.ts:14](https://github.com/modelence/modelence/blob/f614ecc6811cdda9670d612872c8ff49a49c5e28/packages/modelence/src/websocket/types.ts#L14)

#### Type Parameters

| Type Parameter |
| -------------- |
| `T`            |

#### Parameters

| Parameter        | Type                                                       |
| ---------------- | ---------------------------------------------------------- |
| `props`          | \{ `category`: `string`; `listener`: (`data`) => `void`; } |
| `props.category` | `string`                                                   |
| `props.listener` | (`data`) => `void`                                         |

#### Returns

`void`

***

### on()

> **on**\<`T`>(`props`): `void`

Defined in: [packages/modelence/src/websocket/types.ts:12](https://github.com/modelence/modelence/blob/f614ecc6811cdda9670d612872c8ff49a49c5e28/packages/modelence/src/websocket/types.ts#L12)

#### Type Parameters

| Type Parameter |
| -------------- |
| `T`            |

#### Parameters

| Parameter        | Type                                                       |
| ---------------- | ---------------------------------------------------------- |
| `props`          | \{ `category`: `string`; `listener`: (`data`) => `void`; } |
| `props.category` | `string`                                                   |
| `props.listener` | (`data`) => `void`                                         |

#### Returns

`void`

***

### once()

> **once**\<`T`>(`props`): `void`

Defined in: [packages/modelence/src/websocket/types.ts:13](https://github.com/modelence/modelence/blob/f614ecc6811cdda9670d612872c8ff49a49c5e28/packages/modelence/src/websocket/types.ts#L13)

#### Type Parameters

| Type Parameter |
| -------------- |
| `T`            |

#### Parameters

| Parameter        | Type                                                       |
| ---------------- | ---------------------------------------------------------- |
| `props`          | \{ `category`: `string`; `listener`: (`data`) => `void`; } |
| `props.category` | `string`                                                   |
| `props.listener` | (`data`) => `void`                                         |

#### Returns

`void`
