# RegisterInteractionMiddleware

`function` in `core` · v0.7.0

<https://docs.seedcord.org/packages/core/0.7.0/register-interaction-middleware>

Registers an interaction middleware. It runs after the dispatcher builds the handler and before its gates, over that handler's reply surface.

```ts
RegisterInteractionMiddleware<Kinds>(
    options?: InteractionMiddlewareOptions<Kinds>
): <TCtor extends AnyMiddlewareCtor>(
    ctor: AssertMiddlewareKinds<Kinds[number], TCtor>
) => void
```

Registers an interaction middleware. It runs after the dispatcher builds the handler and before its gates, over that handler's reply surface.

Parameters.

- `options?` `InteractionMiddlewareOptions<Kinds>` — The kinds this middleware runs on and its ordering.

Returns `<TCtor extends AnyMiddlewareCtor>(ctor: AssertMiddlewareKinds<Kinds[number], TCtor>) => void`.
