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

# HookRegistry

> Hook Registry Manages lifecycle hooks for OMSS events.

Hook Registry

Manages lifecycle hooks for OMSS events.

## Constructor

```typescript
HookRegistry(): HookRegistry<T>
```

### Returns

`HookRegistry<T>`

## Properties

<ResponseField name={"hooks"} type={"ReadonlyMap<keyof T, unknown[]>"} required>
  Get all registered hooks immutable.
</ResponseField>

## Methods

### add()

```typescript
add(name: K, cb: T[K]): void
```

Add a hook handler for a lifecycle event.

#### Parameters

<ResponseField name={"name"} type={"K"} required>
  The hook name (key of THooks).
</ResponseField>

<ResponseField name={"cb"} type={"T[K]"} required>
  The hook handler function.
</ResponseField>

### reset()

```typescript
reset(): void
```

Clear all registered hooks.

### run()

```typescript
run(name: K, payload: T[K] extends (payload: P) => unknown ? P : never): Promise<void>
```

Run all hooks for a lifecycle event with the provided payload.

#### Parameters

<ResponseField name={"name"} type={"K"} required>
  The hook name (key of THooks).
</ResponseField>

<ResponseField name={"payload"} type={"T[K] extends (payload: P) => unknown ? P : never"} required>
  The payload to pass to each hook handler.
</ResponseField>

#### Returns

`Promise<void>`


## Related topics

- [HookService](/sdk-artifacts/classes/HookService.md)
- [OMSSHooks](/sdk-artifacts/types/OMSSHooks.md)
- [ProviderHooks](/sdk-artifacts/types/ProviderHooks.md)
