---
url: https://node-ts.github.io/bus/api/bus-messages/type-aliases/MessageOf.md
---
[API reference](../../index.md) / [@node-ts/bus-messages](../index.md) / MessageOf

# Type Alias: MessageOf\<TDeclaration>

```ts
type MessageOf<TDeclaration> = TDeclaration extends MessageClass<infer TMessage> ? TMessage : TDeclaration extends MessageDefinition<infer TMessage, any> ? TMessage : never;
```

Defined in: [packages/bus-messages/src/message-declaration.ts:79](https://github.com/node-ts/bus/blob/2e6cf65c27833b707ae31ee623cfb6343770f434/packages/bus-messages/src/message-declaration.ts#L79)

The type of the messages of a message declaration

## Type Parameters

| Type Parameter |
| ------ |
| `TDeclaration` *extends* [`MessageDeclaration`](MessageDeclaration.md)<`any`> |

## Example

```ts
export const PlaceOrder = defineCommand('@my-org/orders/place-order')<{ orderId: string }>()
export type PlaceOrder = MessageOf<typeof PlaceOrder>
```
