> ## 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.

# HookService

## Constructor

```typescript
HookService(hookRegistry?: HookRegistry<T>): HookService<T>
```

### Parameters

<ResponseField name={"hookRegistry"} type={"HookRegistry<T>"} />

### Returns

`HookService<T>`

## Properties

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

## Methods

### add()

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

Register a hook 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 handler function for this hook.
</ResponseField>

### reset()

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

Clear all registered hooks.


## Related topics

- [Architecture](/core/explanation/architecture.md)
- [OMSSHooks](/sdk-artifacts/types/OMSSHooks.md)
- [ProviderServiceMiddleware](/sdk-artifacts/types/ProviderServiceMiddleware.md)
