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

# Type Alias: MessageDeclaration\<TMessage>

```ts
type MessageDeclaration<TMessage> = 
  | MessageClass<TMessage>
| MessageDefinition<TMessage, any>;
```

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

Anything that declares a message type, and that `handlerFor`, `startedBy` and `when` accept: a
message class with a static `NAME`, or a message declared with `defineCommand` or `defineEvent`

## Type Parameters

| Type Parameter | Default type |
| ------ | ------ |
| `TMessage` *extends* [`Message`](../classes/Message.md) | [`Message`](../classes/Message.md) |
