**@8x8/pui-partner-comm types**

---

# @8x8/pui-partner-comm types

## Interfaces

### ActivityScreenValue

The value type when we respond with activity screen HTML content

#### Properties

| Property                         | Type     |
| -------------------------------- | -------- |
| <a id="content-1"></a> `content` | `string` |

---

### BaseEventMessage\<T, U\>

The interface for the message property when the type is event

#### Type Parameters

| Type Parameter         | Description            |
| ---------------------- | ---------------------- |
| `T`                    | The type for the value |
| `U` _extends_ `string` | the event name         |

#### Properties

| Property                             | Type | Description             |
| ------------------------------------ | ---- | ----------------------- |
| <a id="eventname-1"></a> `eventName` | `U`  | the name of the event   |
| <a id="value-1"></a> `value`         | `T`  | the value for the event |

---

### BaseNamespaceMessage\<T, U\>

The interface for the message property when the type is response

#### Type Parameters

| Type Parameter         | Description            |
| ---------------------- | ---------------------- |
| `T`                    | The type for the value |
| `U` _extends_ `string` | the namespace name     |

#### Properties

| Property                             | Type     |
| ------------------------------------ | -------- |
| <a id="namespace-1"></a> `namespace` | `U`      |
| <a id="request-1"></a> `request`     | `string` |
| <a id="value-3"></a> `value`         | `T`      |

---

### ContextValue

The type when we respond with context as value

#### Properties

| Property                       | Type     |
| ------------------------------ | -------- |
| <a id="locale-1"></a> `locale` | `string` |
| <a id="theme-1"></a> `theme`   | `string` |

---

### DataSchema\<T, U\>

Schema interface for the data

#### Type Parameters

| Type Parameter                                | Description                      |
| --------------------------------------------- | -------------------------------- |
| `T`                                           | the typing for the message       |
| `U` _extends_ [`DataType`](TYPES.md#datatype) | the typing for the type property |

#### Properties

| Property                                     | Type      | Description                             |
| -------------------------------------------- | --------- | --------------------------------------- |
| <a id="message-1"></a> `message`             | `T`       | the message part of the data sent       |
| <a id="schemaversion-1"></a> `schemaVersion` | `"1.0.0"` | the schemaVersion part of the data sent |
| <a id="type-1"></a> `type`                   | `U`       | the type part of the data sent          |

---

### FileMetadata

#### Properties

| Property                                      | Type      |
| --------------------------------------------- | --------- |
| <a id="encrypted-1"></a> `encrypted?`         | `boolean` |
| <a id="encryptionkey-1"></a> `encryptionKey?` | `string`  |
| <a id="hash-1"></a> `hash?`                   | `string`  |
| <a id="id-1"></a> `id`                        | `string`  |
| <a id="lastmodified-1"></a> `lastModified`    | `number`  |
| <a id="name-1"></a> `name`                    | `string`  |
| <a id="size-1"></a> `size`                    | `number`  |
| <a id="type-3"></a> `type`                    | `string`  |

---

### FileTransferChunk

#### Properties

| Property                                 | Type          |
| ---------------------------------------- | ------------- |
| <a id="chunkid-1"></a> `chunkId`         | `string`      |
| <a id="chunkindex-1"></a> `chunkIndex`   | `number`      |
| <a id="data-1"></a> `data`               | `ArrayBuffer` |
| <a id="fileid-1"></a> `fileId`           | `string`      |
| <a id="iv-1"></a> `iv?`                  | `ArrayBuffer` |
| <a id="size-3"></a> `size`               | `number`      |
| <a id="totalchunks-1"></a> `totalChunks` | `number`      |

---

### FileTransferMessage

#### Properties

| Property                       | Type                                                                                                                                                                     |
| ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| <a id="action-1"></a> `action` | [`FileTransferAction`](TYPES.md#filetransferaction)                                                                                                                      |
| <a id="value-5"></a> `value`   | \| [`FileTransferChunk`](TYPES.md#filetransferchunk) \| [`FileTransferRequest`](TYPES.md#filetransferrequest) \| [`FileTransferResponse`](TYPES.md#filetransferresponse) |

---

### FileTransferRequest

#### Properties

| Property                              | Type                                    |
| ------------------------------------- | --------------------------------------- |
| <a id="chunksize-1"></a> `chunkSize?` | `number`                                |
| <a id="fileid-3"></a> `fileId`        | `string`                                |
| <a id="metadata-1"></a> `metadata`    | [`FileMetadata`](TYPES.md#filemetadata) |

---

### FileTransferResponse

#### Properties

| Property                                            | Type                                                |
| --------------------------------------------------- | --------------------------------------------------- |
| <a id="error-1"></a> `error?`                       | `string`                                            |
| <a id="fileid-5"></a> `fileId`                      | `string`                                            |
| <a id="progress-1"></a> `progress?`                 | `number`                                            |
| <a id="status-1"></a> `status`                      | [`FileTransferStatus`](TYPES.md#filetransferstatus) |
| <a id="totalbytes-1"></a> `totalBytes?`             | `number`                                            |
| <a id="transferredbytes-1"></a> `transferredBytes?` | `number`                                            |

---

### LoginValue

The type when we respond for the login request

#### Properties

| Property                         | Type      |
| -------------------------------- | --------- |
| <a id="success-1"></a> `success` | `boolean` |

---

### ParentVersionValue

The value type corresponding to the versions exposed by the parent package

#### Extended by

- [`VersionValue`](TYPES.md#versionvalue)

#### Properties

| Property                                     | Type     |
| -------------------------------------------- | -------- |
| <a id="mfeversion-1"></a> `mfeVersion`       | `string` |
| <a id="parentversion-1"></a> `parentVersion` | `string` |

---

### ReceivedEventsMap

#### Properties

| Property                                                                 | Type                                                                                                                                                                                                                                                                                                                      |
| ------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <a id="aw-chat-message-received-v1-1"></a> `aw-chat-message-received-v1` | \[`ZodObject`\<\{ `interactionId`: `ZodString`; `message`: `ZodString`; `schemaVersion`: `ZodLiteral`\<`"1.0.0"`\>; \}, `"strip"`, `ZodTypeAny`, \{ `interactionId`: `string`; `message`: `string`; `schemaVersion`: `"1.0.0"`; \}, \{ `interactionId`: `string`; `message`: `string`; `schemaVersion`: `"1.0.0"`; \}\>\] |

---

### VersionValue

The value type when we respond with for the getVersion request

#### Extends

- [`ParentVersionValue`](TYPES.md#parentversionvalue)

#### Properties

| Property                                       | Type     | Inherited from                                                                                  |
| ---------------------------------------------- | -------- | ----------------------------------------------------------------------------------------------- |
| <a id="mfeversion-3"></a> `mfeVersion`         | `string` | [`ParentVersionValue`](TYPES.md#parentversionvalue).[`mfeVersion`](TYPES.md#mfeversion-1)       |
| <a id="parentversion-3"></a> `parentVersion`   | `string` | [`ParentVersionValue`](TYPES.md#parentversionvalue).[`parentVersion`](TYPES.md#parentversion-1) |
| <a id="partnerversion-1"></a> `partnerVersion` | `string` | -                                                                                               |

## Type Aliases

### AuthData

```ts
type AuthData = DataSchema<AuthMessage, typeof RESPONSE>;
```

The type for the data when we have a response from the auth namespace

---

### AuthMessage

```ts
type AuthMessage = BaseNamespaceMessage<AuthMessageValue, AuthNamespace>;
```

The type for the message when we have a response from the auth namespace

---

### AuthMessageValue

```ts
type AuthMessageValue = LoginValue;
```

The type for the message value as part of the auth namespace

---

### AuthNamespace

```ts
type AuthNamespace = "auth";
```

---

### ChatAcceptedCCData

```ts
type ChatAcceptedCCData = DataSchema<ChatAcceptedCCMessage, typeof EVENT>;
```

Complete data type for the "mashell-chat-accepted-cc-event-v1" event

---

### ChatAcceptedCCEventName

```ts
type ChatAcceptedCCEventName = typeof CHAT_ACCEPTED_CC_EVENT;
```

Type for the event name

---

### ChatAcceptedCCMessage

```ts
type ChatAcceptedCCMessage = BaseEventMessage<ChatAcceptedCCMessageValue, ChatAcceptedCCEventName>;
```

Type for the message for this event

---

### ChatAcceptedCCMessageValue

```ts
type ChatAcceptedCCMessageValue = ChatAcceptedCCPayload;
```

Type for the message value for this event

---

### ChatAcceptedCCPayload

```ts
type ChatAcceptedCCPayload = z.infer<typeof ChatOfferedCCPayloadSchema>;
```

---

### ChatCompletedCCData

```ts
type ChatCompletedCCData = DataSchema<ChatCompletedCCMessage, typeof EVENT>;
```

Complete data type for the "mashell-chat-completed-cc-event-v1" event

---

### ChatCompletedCCEventName

```ts
type ChatCompletedCCEventName = typeof CHAT_COMPLETED_CC_EVENT;
```

Type for the event name

---

### ChatCompletedCCMessage

```ts
type ChatCompletedCCMessage = BaseEventMessage<ChatCompletedCCMessageValue, ChatCompletedCCEventName>;
```

Type for the message for this event

---

### ChatCompletedCCMessageValue

```ts
type ChatCompletedCCMessageValue = ChatCompletedCCPayload;
```

Type for the message value for this event

---

### ChatCompletedCCPayload

```ts
type ChatCompletedCCPayload = z.infer<typeof ChatCompletedCCPayloadSchema>;
```

---

### ChatInitPayload

```ts
type ChatInitPayload = z.infer<typeof ChatInitPayloadSchema>;
```

---

### ChatInitV1Data

```ts
type ChatInitV1Data = DataSchema<ChatInitV1Message, typeof EVENT>;
```

Complete data type for the "chat-init-v1" event

---

### ChatInitV1EventName

```ts
type ChatInitV1EventName = typeof CHAT_INIT_EVENT;
```

Type for the event name

---

### ChatInitV1Message

```ts
type ChatInitV1Message = BaseEventMessage<ChatInitV1MessageValue, ChatInitV1EventName>;
```

Type for the message for the "chat-init-v1" event

---

### ChatInitV1MessageValue

```ts
type ChatInitV1MessageValue = ChatInitPayload;
```

Type for the message value for the "chat-init-v1" event

---

### ChatMessageReceivedPayload

```ts
type ChatMessageReceivedPayload = z.infer<typeof ChatMessageReceivedPayloadSchema>;
```

---

### ChatMessageSentPayload

```ts
type ChatMessageSentPayload = z.infer<typeof ChatMessageSentPayloadSchema>;
```

---

### ChatMessageSentV1Data

```ts
type ChatMessageSentV1Data = DataSchema<ChatMessageSentV1Message, typeof EVENT>;
```

Complete data type for the "chat-message-sent-v1" event

---

### ChatMessageSentV1EventName

```ts
type ChatMessageSentV1EventName = typeof CHAT_MESSAGE_SENT_EVENT;
```

Type for the event name

---

### ChatMessageSentV1Message

```ts
type ChatMessageSentV1Message = BaseEventMessage<ChatMessageSentV1MessageValue, ChatMessageSentV1EventName>;
```

Type for the message for the "chat-message-sent-v1" event

---

### ChatMessageSentV1MessageValue

```ts
type ChatMessageSentV1MessageValue = ChatMessageSentPayload;
```

Type for the message value for the "chat-message-sent-v1" event

---

### ChatNextgenAcceptedCCData

```ts
type ChatNextgenAcceptedCCData = DataSchema<ChatNextgenAcceptedCCMessage, typeof EVENT>;
```

Complete data type for the "mashell-chat-nextgen-accepted-cc-event-v1" event

---

### ChatNextgenAcceptedCCEventName

```ts
type ChatNextgenAcceptedCCEventName = typeof CHAT_NEXTGEN_ACCEPTED_CC_EVENT;
```

Type for the event name

---

### ChatNextgenAcceptedCCMessage

```ts
type ChatNextgenAcceptedCCMessage = BaseEventMessage<ChatNextgenAcceptedCCMessageValue, ChatNextgenAcceptedCCEventName>;
```

Type for the message for this event

---

### ChatNextgenAcceptedCCMessageValue

```ts
type ChatNextgenAcceptedCCMessageValue = ChatNextgenAcceptedCCPayload;
```

Type for the message value for this event

---

### ChatNextgenAcceptedCCPayload

```ts
type ChatNextgenAcceptedCCPayload = z.infer<typeof ChatNextgenAcceptedCCPayloadSchema>;
```

---

### ChatNextgenCompletedCCData

```ts
type ChatNextgenCompletedCCData = DataSchema<ChatNextgenCompletedCCMessage, typeof EVENT>;
```

Complete data type for the "mashell-chat-nextgen-completed-cc-event-v1" event

---

### ChatNextgenCompletedCCEventName

```ts
type ChatNextgenCompletedCCEventName = typeof CHAT_NEXTGEN_COMPLETED_CC_EVENT;
```

Type for the event name

---

### ChatNextgenCompletedCCMessage

```ts
type ChatNextgenCompletedCCMessage = BaseEventMessage<
  ChatNextgenCompletedCCMessageValue,
  ChatNextgenCompletedCCEventName
>;
```

Type for the message for this event

---

### ChatNextgenCompletedCCMessageValue

```ts
type ChatNextgenCompletedCCMessageValue = ChatNextgenCompletedCCPayload;
```

Type for the message value for this event

---

### ChatNextgenCompletedCCPayload

```ts
type ChatNextgenCompletedCCPayload = z.infer<typeof ChatNextgenCompletedCCPayloadSchema>;
```

---

### ChatNextgenOfferedCCData

```ts
type ChatNextgenOfferedCCData = DataSchema<ChatNextgenOfferedCCMessage, typeof EVENT>;
```

Complete data type for the "mashell-chat-nextgen-offered-cc-event-v1" event

---

### ChatNextgenOfferedCCEventName

```ts
type ChatNextgenOfferedCCEventName = typeof CHAT_NEXTGEN_OFFERED_CC_EVENT;
```

Type for the event name

---

### ChatNextgenOfferedCCMessage

```ts
type ChatNextgenOfferedCCMessage = BaseEventMessage<ChatNextgenOfferedCCMessageValue, ChatNextgenOfferedCCEventName>;
```

Type for the message for this event

---

### ChatNextgenOfferedCCMessageValue

```ts
type ChatNextgenOfferedCCMessageValue = ChatNextgenOfferedCCPayload;
```

Type for the message value for this event

---

### ChatNextgenOfferedCCPayload

```ts
type ChatNextgenOfferedCCPayload = z.infer<typeof ChatNextgenOfferedCCPayloadSchema>;
```

---

### ChatNextgenTerminatedCCData

```ts
type ChatNextgenTerminatedCCData = DataSchema<ChatNextgenTerminatedCCMessage, typeof EVENT>;
```

Complete data type for the "mashell-chat-nextgen-terminated-cc-event-v1" event

---

### ChatNextgenTerminatedCCEventName

```ts
type ChatNextgenTerminatedCCEventName = typeof CHAT_NEXTGEN_TERMINATED_CC_EVENT;
```

Type for the event name

---

### ChatNextgenTerminatedCCMessage

```ts
type ChatNextgenTerminatedCCMessage = BaseEventMessage<
  ChatNextgenTerminatedCCMessageValue,
  ChatNextgenTerminatedCCEventName
>;
```

Type for the message for this event

---

### ChatNextgenTerminatedCCMessageValue

```ts
type ChatNextgenTerminatedCCMessageValue = ChatNextgenTerminatedCCPayload;
```

Type for the message value for this event

---

### ChatNextgenTerminatedCCPayload

```ts
type ChatNextgenTerminatedCCPayload = z.infer<typeof ChatNextgenTerminatedCCPayloadSchema>;
```

---

### ChatOfferedCCData

```ts
type ChatOfferedCCData = DataSchema<ChatOfferedCCMessage, typeof EVENT>;
```

Complete data type for the "mashell-chat-offered-cc-event-v1" event

---

### ChatOfferedCCEventName

```ts
type ChatOfferedCCEventName = typeof CHAT_OFFERED_CC_EVENT;
```

Type for the event name

---

### ChatOfferedCCMessage

```ts
type ChatOfferedCCMessage = BaseEventMessage<ChatOfferedCCMessageValue, ChatOfferedCCEventName>;
```

Type for the message for this event

---

### ChatOfferedCCMessageValue

```ts
type ChatOfferedCCMessageValue = ChatOfferedCCPayload;
```

Type for the message value for this event

---

### ChatOfferedCCPayload

```ts
type ChatOfferedCCPayload = z.infer<typeof ChatOfferedCCPayloadSchema>;
```

---

### ChatTerminatedCCData

```ts
type ChatTerminatedCCData = DataSchema<ChatTerminatedCCMessage, typeof EVENT>;
```

Complete data type for the "mashell-chat-terminated-cc-event-v1" event

---

### ChatTerminatedCCEventName

```ts
type ChatTerminatedCCEventName = typeof CHAT_TERMINATED_CC_EVENT;
```

Type for the event name

---

### ChatTerminatedCCMessage

```ts
type ChatTerminatedCCMessage = BaseEventMessage<ChatTerminatedCCMessageValue, ChatTerminatedCCEventName>;
```

Type for the message for this event

---

### ChatTerminatedCCMessageValue

```ts
type ChatTerminatedCCMessageValue = ChatTerminatedCCPayload;
```

Type for the message value for this event

---

### ChatTerminatedCCPayload

```ts
type ChatTerminatedCCPayload = z.infer<typeof ChatTerminatedCCPayloadSchema>;
```

---

### CloseAgentAssistData

```ts
type CloseAgentAssistData = DataSchema<CloseAgentAssistMessage, typeof EVENT>;
```

Complete data type for the "closeAgentAssist" event

---

### CloseAgentAssistEventName

```ts
type CloseAgentAssistEventName = typeof CLOSE_AGENT_ASSIST_EVENT;
```

Type for the event name

---

### CloseAgentAssistMessage

```ts
type CloseAgentAssistMessage = BaseEventMessage<CloseAgentAssistMessageValue, CloseAgentAssistEventName>;
```

Type for the message for the "closeAgentAssist" event

---

### CloseAgentAssistMessageValue

```ts
type CloseAgentAssistMessageValue = CloseAgentAssistPayload;
```

Type for the message value for the "closeAgentAssist" event

---

### CloseAgentAssistPayload

```ts
type CloseAgentAssistPayload = z.infer<typeof CloseAgentAssistPayloadSchema>;
```

---

### DataType

```ts
type DataType = (typeof DATA_TYPES)[keyof typeof DATA_TYPES];
```

The type for the "type" property that exists on data

---

### EmailAcceptedCCData

```ts
type EmailAcceptedCCData = DataSchema<EmailAcceptedCCMessage, typeof EVENT>;
```

Complete data type for the "mashell-email-accepted-cc-event-v1" event

---

### EmailAcceptedCCEventName

```ts
type EmailAcceptedCCEventName = typeof EMAIL_ACCEPTED_CC_EVENT;
```

Type for the event name

---

### EmailAcceptedCCMessage

```ts
type EmailAcceptedCCMessage = BaseEventMessage<EmailAcceptedCCMessageValue, EmailAcceptedCCEventName>;
```

Type for the message for this event

---

### EmailAcceptedCCMessageValue

```ts
type EmailAcceptedCCMessageValue = EmailAcceptedCCPayload;
```

Type for the message value for this event

---

### EmailAcceptedCCPayload

```ts
type EmailAcceptedCCPayload = z.infer<typeof EmailAcceptedCCPayloadSchema>;
```

---

### EmailTerminatedCCData

```ts
type EmailTerminatedCCData = DataSchema<EmailTerminatedCCMessage, typeof EVENT>;
```

Complete data type for the "mashell-email-terminated-cc-event-v1" event

---

### EmailTerminatedCCEventName

```ts
type EmailTerminatedCCEventName = typeof EMAIL_TERMINATED_CC_EVENT;
```

Type for the event name

---

### EmailTerminatedCCMessage

```ts
type EmailTerminatedCCMessage = BaseEventMessage<EmailTerminatedCCMessageValue, EmailTerminatedCCEventName>;
```

Type for the message for this event

---

### EmailTerminatedCCMessageValue

```ts
type EmailTerminatedCCMessageValue = EmailTerminatedCCPayload;
```

Type for the message value for this event

---

### EmailTerminatedCCPayload

```ts
type EmailTerminatedCCPayload = z.infer<typeof EmailTerminatedCCPayloadSchema>;
```

---

### EventsData

```ts
type EventsData =
  | UserDetailsData
  | MuteData
  | HoldData
  | UnmuteData
  | CloseAgentAssistData
  | InteractionFocusData
  | ResumeData
  | WrapUpCodesData
  | ChatInitV1Data
  | ChatMessageSentV1Data
  | ChatNextgenOfferedCCData
  | ChatNextgenAcceptedCCData
  | ChatNextgenCompletedCCData
  | ChatNextgenTerminatedCCData
  | ChatOfferedCCData
  | ChatAcceptedCCData
  | ChatCompletedCCData
  | ChatTerminatedCCData
  | EmailAcceptedCCData
  | EmailTerminatedCCData
  | VoicePhoneOfferedCCData
  | VoicePhoneAcceptedCCData
  | VoicePhoneCompletedCCData
  | VoicePhoneTerminatedCCData
  | VoicePhoneOfferedUCData
  | VoicePhoneAcceptedUCData
  | VoicePhoneTerminatedUCData
  | VoicemailOfferedCCData
  | VoicemailAcceptedCCData
  | VoicemailCompletedCCData
  | VoicemailTerminatedCCData;
```

The type that corresponds to the data when has type event

---

### EventsName

```ts
type EventsName =
  | UserDetailsEventName
  | MuteEventName
  | HoldEventName
  | UnmuteEventName
  | CloseAgentAssistEventName
  | InteractionFocusEventName
  | ResumeEventName
  | WrapUpCodesEventName
  | ChatInitV1EventName
  | ChatMessageSentV1EventName
  | ChatNextgenOfferedCCEventName
  | ChatNextgenAcceptedCCEventName
  | ChatNextgenCompletedCCEventName
  | ChatNextgenTerminatedCCEventName
  | ChatOfferedCCEventName
  | ChatAcceptedCCEventName
  | ChatCompletedCCEventName
  | ChatTerminatedCCEventName
  | EmailAcceptedCCEventName
  | EmailTerminatedCCEventName
  | VoicePhoneOfferedCCEventName
  | VoicePhoneAcceptedCCEventName
  | VoicePhoneCompletedCCEventName
  | VoicePhoneTerminatedCCEventName
  | VoicePhoneOfferedUCEventName
  | VoicePhoneAcceptedUCEventName
  | VoicePhoneTerminatedUCEventName
  | VoicemailOfferedCCEventName
  | VoicemailAcceptedCCEventName
  | VoicemailCompletedCCEventName
  | VoicemailTerminatedCCEventName;
```

The type that correspond to the message event name when the data has type event

---

### EventsValue

```ts
type EventsValue = { [key in EventsName]?: schemaVersion[] };
```

The value type when we respond with for the getEvents request

---

### Exclude\<T, U\>

```ts
type Exclude<T, U> = T extends U ? never : T;
```

Exclude from T those types that are assignable to U

#### Type Parameters

| Type Parameter |
| -------------- |
| `T`            |
| `U`            |

---

### FileTransferAction

```ts
type FileTransferAction = (typeof FILE_TRANSFER_ACTIONS)[keyof typeof FILE_TRANSFER_ACTIONS];
```

---

### FileTransferData

```ts
type FileTransferData = DataSchema<FileTransferMessage, typeof FILE_TRANSFER>;
```

---

### FileTransferStatus

```ts
type FileTransferStatus = (typeof FILE_TRANSFER_STATUS)[keyof typeof FILE_TRANSFER_STATUS];
```

---

### HoldData

```ts
type HoldData = DataSchema<HoldMessage, typeof EVENT>;
```

Complete data type for the "hold" event

---

### HoldEventName

```ts
type HoldEventName = typeof HOLD_EVENT;
```

Type for the event name

---

### HoldMessage

```ts
type HoldMessage = BaseEventMessage<HoldMessageValue, HoldEventName>;
```

Type for the message for the "hold" event

---

### HoldMessageValue

```ts
type HoldMessageValue = HoldPayload;
```

Type for the message value for the "hold" event

---

### HoldPayload

```ts
type HoldPayload = z.infer<typeof HoldPayloadSchema>;
```

---

### InteractionFocusData

```ts
type InteractionFocusData = DataSchema<InteractionFocusMessage, typeof EVENT>;
```

Complete data type for the "interactionFocus" event

---

### InteractionFocusEventName

```ts
type InteractionFocusEventName = typeof INTERACTION_FOCUS_EVENT;
```

Type for the event name

---

### InteractionFocusMessage

```ts
type InteractionFocusMessage = BaseEventMessage<InteractionFocusMessageValue, InteractionFocusEventName>;
```

Type for the message for the "interactionFocus" event

---

### InteractionFocusMessageValue

```ts
type InteractionFocusMessageValue = InteractionFocusPayload;
```

Type for the message value for the "interactionFocus" event

---

### InteractionFocusPayload

```ts
type InteractionFocusPayload = z.infer<typeof InteractionFocusPayloadSchema>;
```

---

### LocaleValue

```ts
type LocaleValue = string;
```

The type when we respond with the locale as value

---

### MuteData

```ts
type MuteData = DataSchema<MuteMessage, typeof EVENT>;
```

Complete data type for the "mute" event

---

### MuteEventName

```ts
type MuteEventName = typeof MUTE_EVENT;
```

Type for the event name

---

### MuteMessage

```ts
type MuteMessage = BaseEventMessage<MuteMessageValue, MuteEventName>;
```

Type for the message for the "mute" event

---

### MuteMessageValue

```ts
type MuteMessageValue = MutePayload;
```

Type for the message value for the "mute" event

---

### MutePayload

```ts
type MutePayload = z.infer<typeof MutePayloadSchema>;
```

---

### NamespacesData

```ts
type NamespacesData = SystemData | AuthData | ResourcesData;
```

The type that corresponds to the data when has type response

---

### Omit\<T, K\>

```ts
type Omit<T, K> = Pick<T, Exclude<keyof T, K>>;
```

Construct a type with the properties of T except for those in type K.

#### Type Parameters

| Type Parameter            |
| ------------------------- |
| `T`                       |
| `K` _extends_ keyof `any` |

---

### OnMessage()

```ts
type OnMessage = (data) => void;
```

The type for the function that the partner will implement

#### Parameters

| Parameter | Type                                    |
| --------- | --------------------------------------- |
| `data`    | [`ResponseData`](TYPES.md#responsedata) |

#### Returns

`void`

---

### Pick\<T, K\>

```ts
type Pick<T, K> = { [P in K]: T[P] };
```

From T, pick a set of properties whose keys are in the union K

#### Type Parameters

| Type Parameter          |
| ----------------------- |
| `T`                     |
| `K` _extends_ keyof `T` |

---

### ReceivedEventsMessageData

```ts
type ReceivedEventsMessageData = ChatMessageReceivedPayload;
```

---

### ReceivedEventsName

```ts
type ReceivedEventsName = typeof CHAT_MESSAGE_RECEIVED_EVENT;
```

---

### Record\<K, T\>

```ts
type Record<K, T> = { [P in K]: T };
```

Construct a type with a set of properties K of type T

#### Type Parameters

| Type Parameter            |
| ------------------------- |
| `K` _extends_ keyof `any` |
| `T`                       |

---

### ResourcesData

```ts
type ResourcesData = DataSchema<ResourcesMessage, typeof RESPONSE>;
```

The type for the data when we have a response from the resources namespace

---

### ResourcesMessage

```ts
type ResourcesMessage = BaseNamespaceMessage<ResourcesMessageValue, ResourcesNamespace>;
```

The type for the message when we have a response from the resources namespace

---

### ResourcesMessageValue

```ts
type ResourcesMessageValue = ActivityScreenValue;
```

The type for the message value as part of the resources namespace

---

### ResourcesNamespace

```ts
type ResourcesNamespace = "resources";
```

---

### ResponseData

```ts
type ResponseData = NamespacesData | EventsData | FileTransferData;
```

The data that will be received by the partner

---

### ResumeData

```ts
type ResumeData = DataSchema<ResumeMessage, typeof EVENT>;
```

Complete data type for the "resume" event

---

### ResumeEventName

```ts
type ResumeEventName = typeof RESUME_EVENT;
```

Type for the event name

---

### ResumeMessage

```ts
type ResumeMessage = BaseEventMessage<ResumeMessageValue, ResumeEventName>;
```

Type for the message for the "resume" event

---

### ResumeMessageValue

```ts
type ResumeMessageValue = ResumePayload;
```

Type for the message value for the "resume" event

---

### ResumePayload

```ts
type ResumePayload = z.infer<typeof ResumePayloadSchema>;
```

---

### schemaVersion

```ts
type schemaVersion = string;
```

The type corresponding to the value for the schemaVersion, it is a string representing the version (follows semver)

---

### ShellUserDetailsPayload

```ts
type ShellUserDetailsPayload = z.infer<typeof ShellUserDetailsPayloadSchema>;
```

---

### SystemData

```ts
type SystemData = DataSchema<SystemMessage, typeof RESPONSE>;
```

The type for the data when we have a response from the system namespace

---

### SystemMessage

```ts
type SystemMessage = BaseNamespaceMessage<SystemMessageValue, SystemNamespace>;
```

The type for the message when we have a response from the system namespace

---

### SystemMessageValue

```ts
type SystemMessageValue = VersionValue | ContextValue | LocaleValue | ThemeValue | EventsValue;
```

The type for the message value as part of the system namespace

---

### SystemNamespace

```ts
type SystemNamespace = "system";
```

---

### ThemeValue

```ts
type ThemeValue = string;
```

The type when we respond with the theme as value

---

### UnmuteData

```ts
type UnmuteData = DataSchema<UnmuteMessage, typeof EVENT>;
```

Complete data type for the "unmute" event

---

### UnmuteEventName

```ts
type UnmuteEventName = typeof UNMUTE_EVENT;
```

Type for the event name

---

### UnmuteMessage

```ts
type UnmuteMessage = BaseEventMessage<UnmuteMessageValue, UnmuteEventName>;
```

Type for the message for the "unmute" event

---

### UnmuteMessageValue

```ts
type UnmuteMessageValue = UnmutePayload;
```

Type for the message value for the "unmute" event

---

### UnmutePayload

```ts
type UnmutePayload = z.infer<typeof UnmutePayloadSchema>;
```

---

### UserDetailsData

```ts
type UserDetailsData = DataSchema<UserDetailsMessage, typeof EVENT>;
```

Complete data type for the "user-details" event

---

### UserDetailsEventName

```ts
type UserDetailsEventName = typeof SHELL_USER_DETAILS_EVENT;
```

Type for the event name

---

### UserDetailsMessage

```ts
type UserDetailsMessage = BaseEventMessage<UserDetailsMessageValue, UserDetailsEventName>;
```

Type for the message for this event

---

### UserDetailsMessageValue

```ts
type UserDetailsMessageValue = ShellUserDetailsPayload;
```

Type for the message value for this event

---

### VoicemailAcceptedCCData

```ts
type VoicemailAcceptedCCData = DataSchema<VoicemailAcceptedCCMessage, typeof EVENT>;
```

Complete data type for the "mashell-voicemail-accepted-cc-event-v1" event

---

### VoicemailAcceptedCCEventName

```ts
type VoicemailAcceptedCCEventName = typeof VOICEMAIL_ACCEPTED_CC_EVENT;
```

Type for the event name

---

### VoicemailAcceptedCCMessage

```ts
type VoicemailAcceptedCCMessage = BaseEventMessage<VoicemailAcceptedCCMessageValue, VoicemailAcceptedCCEventName>;
```

Type for the message for this event

---

### VoicemailAcceptedCCMessageValue

```ts
type VoicemailAcceptedCCMessageValue = VoicemailAcceptedCCPayload;
```

Type for the message value for this event

---

### VoicemailAcceptedCCPayload

```ts
type VoicemailAcceptedCCPayload = z.infer<typeof VoicemailAcceptedCCPayloadSchema>;
```

---

### VoicemailCompletedCCData

```ts
type VoicemailCompletedCCData = DataSchema<VoicemailCompletedCCMessage, typeof EVENT>;
```

Complete data type for the "mashell-voicemail-completed-cc-event-v1" event

---

### VoicemailCompletedCCEventName

```ts
type VoicemailCompletedCCEventName = typeof VOICEMAIL_COMPLETED_CC_EVENT;
```

Type for the event name

---

### VoicemailCompletedCCMessage

```ts
type VoicemailCompletedCCMessage = BaseEventMessage<VoicemailCompletedCCMessageValue, VoicemailCompletedCCEventName>;
```

Type for the message for this event

---

### VoicemailCompletedCCMessageValue

```ts
type VoicemailCompletedCCMessageValue = VoicemailCompletedCCPayload;
```

Type for the message value for this event

---

### VoicemailCompletedCCPayload

```ts
type VoicemailCompletedCCPayload = z.infer<typeof VoicemailCompletedCCPayloadSchema>;
```

---

### VoicemailOfferedCCData

```ts
type VoicemailOfferedCCData = DataSchema<VoicemailOfferedCCMessage, typeof EVENT>;
```

Complete data type for the "mashell-voicemail-offered-cc-event-v1" event

---

### VoicemailOfferedCCEventName

```ts
type VoicemailOfferedCCEventName = typeof VOICEMAIL_OFFERED_CC_EVENT;
```

Type for the event name

---

### VoicemailOfferedCCMessage

```ts
type VoicemailOfferedCCMessage = BaseEventMessage<VoicemailOfferedCCMessageValue, VoicemailOfferedCCEventName>;
```

Type for the message for this event

---

### VoicemailOfferedCCMessageValue

```ts
type VoicemailOfferedCCMessageValue = VoicemailOfferedCCPayload;
```

Type for the message value for this event

---

### VoicemailOfferedCCPayload

```ts
type VoicemailOfferedCCPayload = z.infer<typeof VoicemailOfferedCCPayloadSchema>;
```

---

### VoicemailTerminatedCCData

```ts
type VoicemailTerminatedCCData = DataSchema<VoicemailTerminatedCCMessage, typeof EVENT>;
```

Complete data type for the "mashell-voicemail-terminated-cc-event-v1" event

---

### VoicemailTerminatedCCEventName

```ts
type VoicemailTerminatedCCEventName = typeof VOICEMAIL_TERMINATED_CC_EVENT;
```

Type for the event name

---

### VoicemailTerminatedCCMessage

```ts
type VoicemailTerminatedCCMessage = BaseEventMessage<VoicemailTerminatedCCMessageValue, VoicemailTerminatedCCEventName>;
```

Type for the message for this event

---

### VoicemailTerminatedCCMessageValue

```ts
type VoicemailTerminatedCCMessageValue = VoicemailTerminatedCCPayload;
```

Type for the message value for this event

---

### VoicemailTerminatedCCPayload

```ts
type VoicemailTerminatedCCPayload = z.infer<typeof VoicemailTerminateCCPayloadSchema>;
```

---

### VoicePhoneAcceptedCCData

```ts
type VoicePhoneAcceptedCCData = DataSchema<VoicePhoneAcceptedCCMessage, typeof EVENT>;
```

Complete data type for the "mashell-voice-phone-accepted-cc-event-v1" event

---

### VoicePhoneAcceptedCCEventName

```ts
type VoicePhoneAcceptedCCEventName = typeof VOICE_PHONE_ACCEPTED_CC_EVENT;
```

Type for the event name

---

### VoicePhoneAcceptedCCMessage

```ts
type VoicePhoneAcceptedCCMessage = BaseEventMessage<VoicePhoneAcceptedCCMessageValue, VoicePhoneAcceptedCCEventName>;
```

Type for the message for this event

---

### VoicePhoneAcceptedCCMessageValue

```ts
type VoicePhoneAcceptedCCMessageValue = VoicePhoneAcceptedCCPayload;
```

Type for the message value for this event

---

### VoicePhoneAcceptedCCPayload

```ts
type VoicePhoneAcceptedCCPayload = z.infer<typeof VoicePhoneAcceptedCCPayloadSchema>;
```

---

### VoicePhoneAcceptedUCData

```ts
type VoicePhoneAcceptedUCData = DataSchema<VoicePhoneAcceptedUCMessage, typeof EVENT>;
```

Complete data type for the "mashell-voice-phone-accepted-uc-event-v1" event

---

### VoicePhoneAcceptedUCEventName

```ts
type VoicePhoneAcceptedUCEventName = typeof VOICE_PHONE_ACCEPTED_UC_EVENT;
```

Type for the event name

---

### VoicePhoneAcceptedUCMessage

```ts
type VoicePhoneAcceptedUCMessage = BaseEventMessage<VoicePhoneAcceptedUCMessageValue, VoicePhoneAcceptedUCEventName>;
```

Type for the message for this event

---

### VoicePhoneAcceptedUCMessageValue

```ts
type VoicePhoneAcceptedUCMessageValue = VoicePhoneAcceptedUCPayload;
```

Type for the message value for this event

---

### VoicePhoneAcceptedUCPayload

```ts
type VoicePhoneAcceptedUCPayload = z.infer<typeof VoicePhoneAcceptedUCPayloadSchema>;
```

---

### VoicePhoneCompletedCCData

```ts
type VoicePhoneCompletedCCData = DataSchema<VoicePhoneCompletedCCMessage, typeof EVENT>;
```

Complete data type for the "mashell-voice-phone-completed-cc-event-v1" event

---

### VoicePhoneCompletedCCEventName

```ts
type VoicePhoneCompletedCCEventName = typeof VOICE_PHONE_COMPLETED_CC_EVENT;
```

Type for the event name

---

### VoicePhoneCompletedCCMessage

```ts
type VoicePhoneCompletedCCMessage = BaseEventMessage<VoicePhoneCompletedCCMessageValue, VoicePhoneCompletedCCEventName>;
```

Type for the message for this event

---

### VoicePhoneCompletedCCMessageValue

```ts
type VoicePhoneCompletedCCMessageValue = VoicePhoneCompletedCCPayload;
```

Type for the message value for this event

---

### VoicePhoneCompletedCCPayload

```ts
type VoicePhoneCompletedCCPayload = z.infer<typeof VoicePhoneCompletedCCPayloadSchema>;
```

---

### VoicePhoneOfferedCCData

```ts
type VoicePhoneOfferedCCData = DataSchema<VoicePhoneOfferedCCMessage, typeof EVENT>;
```

Complete data type for the "mashell-voice-phone-offered-cc-event-v1" event

---

### VoicePhoneOfferedCCEventName

```ts
type VoicePhoneOfferedCCEventName = typeof VOICE_PHONE_OFFERED_CC_EVENT;
```

Type for the event name

---

### VoicePhoneOfferedCCMessage

```ts
type VoicePhoneOfferedCCMessage = BaseEventMessage<VoicePhoneOfferedCCMessageValue, VoicePhoneOfferedCCEventName>;
```

Type for the message for this event

---

### VoicePhoneOfferedCCMessageValue

```ts
type VoicePhoneOfferedCCMessageValue = VoicePhoneOfferedCCPayload;
```

Type for the message value for this event

---

### VoicePhoneOfferedCCPayload

```ts
type VoicePhoneOfferedCCPayload = z.infer<typeof VoicePhoneOfferedCCPayloadSchema>;
```

---

### VoicePhoneOfferedUCData

```ts
type VoicePhoneOfferedUCData = DataSchema<VoicePhoneOfferedUCMessage, typeof EVENT>;
```

Complete data type for the "mashell-voice-phone-offered-uc-event-v1" event

---

### VoicePhoneOfferedUCEventName

```ts
type VoicePhoneOfferedUCEventName = typeof VOICE_PHONE_OFFERED_UC_EVENT;
```

Type for the event name

---

### VoicePhoneOfferedUCMessage

```ts
type VoicePhoneOfferedUCMessage = BaseEventMessage<VoicePhoneOfferedUCMessageValue, VoicePhoneOfferedUCEventName>;
```

Type for the message for this event

---

### VoicePhoneOfferedUCMessageValue

```ts
type VoicePhoneOfferedUCMessageValue = VoicePhoneOfferedUCPayload;
```

Type for the message value for this event

---

### VoicePhoneOfferedUCPayload

```ts
type VoicePhoneOfferedUCPayload = z.infer<typeof VoicePhoneOfferedUCPayloadSchema>;
```

---

### VoicePhoneTerminatedCCData

```ts
type VoicePhoneTerminatedCCData = DataSchema<VoicePhoneTerminatedCCMessage, typeof EVENT>;
```

Complete data type for the "mashell-voice-phone-terminated-cc-event-v1" event

---

### VoicePhoneTerminatedCCEventName

```ts
type VoicePhoneTerminatedCCEventName = typeof VOICE_PHONE_TERMINATED_CC_EVENT;
```

Type for the event name

---

### VoicePhoneTerminatedCCMessage

```ts
type VoicePhoneTerminatedCCMessage = BaseEventMessage<
  VoicePhoneTerminatedCCMessageValue,
  VoicePhoneTerminatedCCEventName
>;
```

Type for the message for this event

---

### VoicePhoneTerminatedCCMessageValue

```ts
type VoicePhoneTerminatedCCMessageValue = VoicePhoneTerminatedCCPayload;
```

Type for the message value for this event

---

### VoicePhoneTerminatedCCPayload

```ts
type VoicePhoneTerminatedCCPayload = z.infer<typeof VoicePhoneTerminatedCCPayloadSchema>;
```

---

### VoicePhoneTerminatedUCData

```ts
type VoicePhoneTerminatedUCData = DataSchema<VoicePhoneTerminatedUCMessage, typeof EVENT>;
```

Complete data type for the "mashell-voice-phone-terminated-uc-event-v1" event

---

### VoicePhoneTerminatedUCEventName

```ts
type VoicePhoneTerminatedUCEventName = typeof VOICE_PHONE_TERMINATED_UC_EVENT;
```

Type for the event name

---

### VoicePhoneTerminatedUCMessage

```ts
type VoicePhoneTerminatedUCMessage = BaseEventMessage<
  VoicePhoneTerminatedUCMessageValue,
  VoicePhoneTerminatedUCEventName
>;
```

Type for the message for this event

---

### VoicePhoneTerminatedUCMessageValue

```ts
type VoicePhoneTerminatedUCMessageValue = VoicePhoneTerminatedUCPayload;
```

Type for the message value for this event

---

### VoicePhoneTerminatedUCPayload

```ts
type VoicePhoneTerminatedUCPayload = z.infer<typeof VoicePhoneTerminatedUCPayloadSchema>;
```

---

### WrapUpCodesData

```ts
type WrapUpCodesData = DataSchema<WrapUpCodesMessage, typeof EVENT>;
```

Complete data type for the "wrapUpCodes" event

---

### WrapUpCodesEventName

```ts
type WrapUpCodesEventName = typeof WRAP_UP_CODES_EVENT;
```

Type for the event name

---

### WrapUpCodesMessage

```ts
type WrapUpCodesMessage = BaseEventMessage<WrapUpCodesMessageValue, WrapUpCodesEventName>;
```

Type for the message for the "wrapUpCodes" event

---

### WrapUpCodesMessageValue

```ts
type WrapUpCodesMessageValue = WrapUpCodesPayload;
```

Type for the message value for the "wrapUpCodes" event

---

### WrapUpCodesPayload

```ts
type WrapUpCodesPayload = z.infer<typeof WrapUpCodesPayloadSchema>;
```

## Variables

### CHAT_ACCEPTED_CC_EVENT

```ts
const CHAT_ACCEPTED_CC_EVENT: "mashell-chat-accepted-cc-event-v1" = "mashell-chat-accepted-cc-event-v1";
```

---

### CHAT_COMPLETED_CC_EVENT

```ts
const CHAT_COMPLETED_CC_EVENT: "mashell-chat-completed-cc-event-v1" = "mashell-chat-completed-cc-event-v1";
```

---

### CHAT_INIT_EVENT

```ts
const CHAT_INIT_EVENT: "aw-chat-init-v1" = "aw-chat-init-v1";
```

---

### CHAT_MESSAGE_RECEIVED_EVENT

```ts
const CHAT_MESSAGE_RECEIVED_EVENT: "aw-chat-message-received-v1" = "aw-chat-message-received-v1";
```

---

### CHAT_MESSAGE_SENT_EVENT

```ts
const CHAT_MESSAGE_SENT_EVENT: "aw-chat-message-sent-v1" = "aw-chat-message-sent-v1";
```

---

### CHAT_NEXTGEN_ACCEPTED_CC_EVENT

```ts
const CHAT_NEXTGEN_ACCEPTED_CC_EVENT: "mashell-chat-nextgen-accepted-cc-event-v1" =
  "mashell-chat-nextgen-accepted-cc-event-v1";
```

---

### CHAT_NEXTGEN_COMPLETED_CC_EVENT

```ts
const CHAT_NEXTGEN_COMPLETED_CC_EVENT: "mashell-chat-nextgen-completed-cc-event-v1" =
  "mashell-chat-nextgen-completed-cc-event-v1";
```

---

### CHAT_NEXTGEN_OFFERED_CC_EVENT

```ts
const CHAT_NEXTGEN_OFFERED_CC_EVENT: "mashell-chat-nextgen-offered-cc-event-v1" =
  "mashell-chat-nextgen-offered-cc-event-v1";
```

---

### CHAT_NEXTGEN_TERMINATED_CC_EVENT

```ts
const CHAT_NEXTGEN_TERMINATED_CC_EVENT: "mashell-chat-nextgen-terminated-cc-event-v1" =
  "mashell-chat-nextgen-terminated-cc-event-v1";
```

---

### CHAT_OFFERED_CC_EVENT

```ts
const CHAT_OFFERED_CC_EVENT: "mashell-chat-offered-cc-event-v1" = "mashell-chat-offered-cc-event-v1";
```

---

### CHAT_TERMINATED_CC_EVENT

```ts
const CHAT_TERMINATED_CC_EVENT: "mashell-chat-terminated-cc-event-v1" = "mashell-chat-terminated-cc-event-v1";
```

---

### ChatCompletedCCPayloadSchema

```ts
const ChatCompletedCCPayloadSchema: z.ZodObject<
  {
    additionalData: z.ZodObject<
      {
        description: z.ZodString;
        name: z.ZodString;
      },
      "strip",
      z.ZodTypeAny,
      {
        description: string;
        name: string;
      },
      {
        description: string;
        name: string;
      }
    >;
    direction: z.ZodEnum<["inbound", "outbound"]>;
    endTime: z.ZodString;
    eventId: z.ZodString;
    eventName: z.ZodLiteral<"completed">;
    media: z.ZodLiteral<"chat">;
    mediaType: z.ZodLiteral<"web_chat">;
    method: z.ZodLiteral<"mapEvent">;
    schemaVersion: z.ZodLiteral<"1.0.0">;
    searchContext: z.ZodString;
  },
  "strip",
  z.ZodTypeAny,
  {
    additionalData: {
      description: string;
      name: string;
    };
    direction: "inbound" | "outbound";
    endTime: string;
    eventId: string;
    eventName: "completed";
    media: "chat";
    mediaType: "web_chat";
    method: "mapEvent";
    schemaVersion: "1.0.0";
    searchContext: string;
  },
  {
    additionalData: {
      description: string;
      name: string;
    };
    direction: "inbound" | "outbound";
    endTime: string;
    eventId: string;
    eventName: "completed";
    media: "chat";
    mediaType: "web_chat";
    method: "mapEvent";
    schemaVersion: "1.0.0";
    searchContext: string;
  }
>;
```

---

### ChatInitPayloadSchema

```ts
const ChatInitPayloadSchema: z.ZodObject<{
  interactionId: z.ZodString;
  messages: z.ZodArray<z.ZodObject<{
     attachments: z.ZodOptional<z.ZodArray<z.ZodObject<{
        filename: z.ZodString;
        id: z.ZodString;
        meta: z.ZodOptional<z.ZodUnion<...>>;
        size: z.ZodNumber;
        thumbnailUrl: z.ZodOptional<z.ZodString>;
        type: z.ZodEnum<[..., ..., ..., ...]>;
       }, "strip", z.ZodTypeAny, {
        filename: string;
        id: string;
        meta:   | {
           originalHeight: ...;
           originalWidth: ...;
           thumbnailContentType: ...;
           thumbnailHeight: ...;
           thumbnailWidth: ...;
          }
           | null;
        size: number;
        thumbnailUrl: string;
        type: "image" | "recording" | "document" | "generic";
       }, {
        filename: string;
        id: string;
        meta:   | {
           originalHeight: ...;
           originalWidth: ...;
           thumbnailContentType: ...;
           thumbnailHeight: ...;
           thumbnailWidth: ...;
          }
           | null;
        size: number;
        thumbnailUrl: string;
        type: "image" | "recording" | "document" | "generic";
       }>, "many">>;
     author: z.ZodOptional<z.ZodObject<{
        email: z.ZodString;
        id: z.ZodString;
        name: z.ZodString;
       }, "strip", z.ZodTypeAny, {
        email: string;
        id: string;
        name: string;
       }, {
        email: string;
        id: string;
        name: string;
       }>>;
     botName: z.ZodOptional<z.ZodString>;
     displayName: z.ZodOptional<z.ZodString>;
     id: z.ZodString;
     isBot: z.ZodOptional<z.ZodBoolean>;
     isDeleted: z.ZodOptional<z.ZodBoolean>;
     lastUpdatedTimestamp: z.ZodOptional<z.ZodNumber>;
     meta: z.ZodOptional<z.ZodObject<{
        app: z.ZodString;
        conversation_id: z.ZodOptional<z.ZodString>;
        conversation_message_id: z.ZodOptional<z.ZodString>;
        has_cards: z.ZodOptional<z.ZodString>;
        type: z.ZodString;
       }, "strip", z.ZodTypeAny, {
        app: string;
        conversation_id: string;
        conversation_message_id: string;
        has_cards: string;
        type: string;
       }, {
        app: string;
        conversation_id: string;
        conversation_message_id: string;
        has_cards: string;
        type: string;
       }>>;
     msgStatus: z.ZodOptional<z.ZodString>;
     originalMessage: z.ZodOptional<z.ZodString>;
     rawMessage: z.ZodUnion<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>;
     resent: z.ZodOptional<z.ZodBoolean>;
     timestamp: z.ZodNumber;
     translatedMessage: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
     type: z.ZodString;
     variables: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
    }, "strip", z.ZodTypeAny, {
     attachments: {
        filename: string;
        id: string;
        meta:   | {
           originalHeight: number;
           originalWidth: number;
           thumbnailContentType: string;
           thumbnailHeight: number;
           thumbnailWidth: number;
          }
           | null;
        size: number;
        thumbnailUrl: string;
        type: "image" | "recording" | "document" | "generic";
       }[];
     author: {
        email: string;
        id: string;
        name: string;
       };
     botName: string;
     displayName: string;
     id: string;
     isBot: boolean;
     isDeleted: boolean;
     lastUpdatedTimestamp: number;
     meta: {
        app: string;
        conversation_id: string;
        conversation_message_id: string;
        has_cards: string;
        type: string;
       };
     msgStatus: string;
     originalMessage: string;
     rawMessage: string | Record<string, string>;
     resent: boolean;
     timestamp: number;
     translatedMessage: string | null;
     type: string;
     variables: Record<string, string>;
    }, {
     attachments: {
        filename: string;
        id: string;
        meta:   | {
           originalHeight: number;
           originalWidth: number;
           thumbnailContentType: string;
           thumbnailHeight: number;
           thumbnailWidth: number;
          }
           | null;
        size: number;
        thumbnailUrl: string;
        type: "image" | "recording" | "document" | "generic";
       }[];
     author: {
        email: string;
        id: string;
        name: string;
       };
     botName: string;
     displayName: string;
     id: string;
     isBot: boolean;
     isDeleted: boolean;
     lastUpdatedTimestamp: number;
     meta: {
        app: string;
        conversation_id: string;
        conversation_message_id: string;
        has_cards: string;
        type: string;
       };
     msgStatus: string;
     originalMessage: string;
     rawMessage: string | Record<string, string>;
     resent: boolean;
     timestamp: number;
     translatedMessage: string | null;
     type: string;
     variables: Record<string, string>;
    }>, "many">;
  schemaVersion: z.ZodLiteral<"1.0.0">;
 }, "strip", z.ZodTypeAny, {
  interactionId: string;
  messages: {
     attachments: {
        filename: string;
        id: string;
        meta:   | {
           originalHeight: number;
           originalWidth: number;
           thumbnailContentType: string;
           thumbnailHeight: number;
           thumbnailWidth: number;
          }
           | null;
        size: number;
        thumbnailUrl: string;
        type: "image" | "recording" | "document" | "generic";
       }[];
     author: {
        email: string;
        id: string;
        name: string;
       };
     botName: string;
     displayName: string;
     id: string;
     isBot: boolean;
     isDeleted: boolean;
     lastUpdatedTimestamp: number;
     meta: {
        app: string;
        conversation_id: string;
        conversation_message_id: string;
        has_cards: string;
        type: string;
       };
     msgStatus: string;
     originalMessage: string;
     rawMessage: string | Record<string, string>;
     resent: boolean;
     timestamp: number;
     translatedMessage: string | null;
     type: string;
     variables: Record<string, string>;
    }[];
  schemaVersion: "1.0.0";
 }, {
  interactionId: string;
  messages: {
     attachments: {
        filename: string;
        id: string;
        meta:   | {
           originalHeight: number;
           originalWidth: number;
           thumbnailContentType: string;
           thumbnailHeight: number;
           thumbnailWidth: number;
          }
           | null;
        size: number;
        thumbnailUrl: string;
        type: "image" | "recording" | "document" | "generic";
       }[];
     author: {
        email: string;
        id: string;
        name: string;
       };
     botName: string;
     displayName: string;
     id: string;
     isBot: boolean;
     isDeleted: boolean;
     lastUpdatedTimestamp: number;
     meta: {
        app: string;
        conversation_id: string;
        conversation_message_id: string;
        has_cards: string;
        type: string;
       };
     msgStatus: string;
     originalMessage: string;
     rawMessage: string | Record<string, string>;
     resent: boolean;
     timestamp: number;
     translatedMessage: string | null;
     type: string;
     variables: Record<string, string>;
    }[];
  schemaVersion: "1.0.0";
}>;
```

---

### ChatMessageReceivedPayloadSchema

```ts
const ChatMessageReceivedPayloadSchema: z.ZodObject<
  {
    interactionId: z.ZodString;
    message: z.ZodString;
    schemaVersion: z.ZodLiteral<"1.0.0">;
  },
  "strip",
  z.ZodTypeAny,
  {
    interactionId: string;
    message: string;
    schemaVersion: "1.0.0";
  },
  {
    interactionId: string;
    message: string;
    schemaVersion: "1.0.0";
  }
>;
```

---

### ChatMessageSentPayloadSchema

```ts
const ChatMessageSentPayloadSchema: z.ZodObject<{
  interactionId: z.ZodString;
  message: z.ZodObject<{
     attachments: z.ZodOptional<z.ZodArray<z.ZodObject<{
        filename: z.ZodString;
        id: z.ZodString;
        meta: z.ZodOptional<z.ZodUnion<[..., ...]>>;
        size: z.ZodNumber;
        thumbnailUrl: z.ZodOptional<z.ZodString>;
        type: z.ZodEnum<["image", "document", "recording", "generic"]>;
       }, "strip", z.ZodTypeAny, {
        filename: string;
        id: string;
        meta:   | {
           originalHeight: number;
           originalWidth: number;
           thumbnailContentType: string;
           thumbnailHeight: number;
           thumbnailWidth: number;
          }
           | null;
        size: number;
        thumbnailUrl: string;
        type: "image" | "recording" | "document" | "generic";
       }, {
        filename: string;
        id: string;
        meta:   | {
           originalHeight: number;
           originalWidth: number;
           thumbnailContentType: string;
           thumbnailHeight: number;
           thumbnailWidth: number;
          }
           | null;
        size: number;
        thumbnailUrl: string;
        type: "image" | "recording" | "document" | "generic";
       }>, "many">>;
     author: z.ZodOptional<z.ZodObject<{
        email: z.ZodString;
        id: z.ZodString;
        name: z.ZodString;
       }, "strip", z.ZodTypeAny, {
        email: string;
        id: string;
        name: string;
       }, {
        email: string;
        id: string;
        name: string;
       }>>;
     botName: z.ZodOptional<z.ZodString>;
     displayName: z.ZodOptional<z.ZodString>;
     id: z.ZodString;
     isBot: z.ZodOptional<z.ZodBoolean>;
     isDeleted: z.ZodOptional<z.ZodBoolean>;
     lastUpdatedTimestamp: z.ZodOptional<z.ZodNumber>;
     meta: z.ZodOptional<z.ZodObject<{
        app: z.ZodString;
        conversation_id: z.ZodOptional<z.ZodString>;
        conversation_message_id: z.ZodOptional<z.ZodString>;
        has_cards: z.ZodOptional<z.ZodString>;
        type: z.ZodString;
       }, "strip", z.ZodTypeAny, {
        app: string;
        conversation_id: string;
        conversation_message_id: string;
        has_cards: string;
        type: string;
       }, {
        app: string;
        conversation_id: string;
        conversation_message_id: string;
        has_cards: string;
        type: string;
       }>>;
     msgStatus: z.ZodOptional<z.ZodString>;
     originalMessage: z.ZodOptional<z.ZodString>;
     rawMessage: z.ZodUnion<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>;
     resent: z.ZodOptional<z.ZodBoolean>;
     timestamp: z.ZodNumber;
     translatedMessage: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
     type: z.ZodString;
     variables: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
    }, "strip", z.ZodTypeAny, {
     attachments: {
        filename: string;
        id: string;
        meta:   | {
           originalHeight: number;
           originalWidth: number;
           thumbnailContentType: string;
           thumbnailHeight: number;
           thumbnailWidth: number;
          }
           | null;
        size: number;
        thumbnailUrl: string;
        type: "image" | "recording" | "document" | "generic";
       }[];
     author: {
        email: string;
        id: string;
        name: string;
       };
     botName: string;
     displayName: string;
     id: string;
     isBot: boolean;
     isDeleted: boolean;
     lastUpdatedTimestamp: number;
     meta: {
        app: string;
        conversation_id: string;
        conversation_message_id: string;
        has_cards: string;
        type: string;
       };
     msgStatus: string;
     originalMessage: string;
     rawMessage: string | Record<string, string>;
     resent: boolean;
     timestamp: number;
     translatedMessage: string | null;
     type: string;
     variables: Record<string, string>;
    }, {
     attachments: {
        filename: string;
        id: string;
        meta:   | {
           originalHeight: number;
           originalWidth: number;
           thumbnailContentType: string;
           thumbnailHeight: number;
           thumbnailWidth: number;
          }
           | null;
        size: number;
        thumbnailUrl: string;
        type: "image" | "recording" | "document" | "generic";
       }[];
     author: {
        email: string;
        id: string;
        name: string;
       };
     botName: string;
     displayName: string;
     id: string;
     isBot: boolean;
     isDeleted: boolean;
     lastUpdatedTimestamp: number;
     meta: {
        app: string;
        conversation_id: string;
        conversation_message_id: string;
        has_cards: string;
        type: string;
       };
     msgStatus: string;
     originalMessage: string;
     rawMessage: string | Record<string, string>;
     resent: boolean;
     timestamp: number;
     translatedMessage: string | null;
     type: string;
     variables: Record<string, string>;
    }>;
  schemaVersion: z.ZodLiteral<"1.0.0">;
 }, "strip", z.ZodTypeAny, {
  interactionId: string;
  message: {
     attachments: {
        filename: string;
        id: string;
        meta:   | {
           originalHeight: number;
           originalWidth: number;
           thumbnailContentType: string;
           thumbnailHeight: number;
           thumbnailWidth: number;
          }
           | null;
        size: number;
        thumbnailUrl: string;
        type: "image" | "recording" | "document" | "generic";
       }[];
     author: {
        email: string;
        id: string;
        name: string;
       };
     botName: string;
     displayName: string;
     id: string;
     isBot: boolean;
     isDeleted: boolean;
     lastUpdatedTimestamp: number;
     meta: {
        app: string;
        conversation_id: string;
        conversation_message_id: string;
        has_cards: string;
        type: string;
       };
     msgStatus: string;
     originalMessage: string;
     rawMessage: string | Record<string, string>;
     resent: boolean;
     timestamp: number;
     translatedMessage: string | null;
     type: string;
     variables: Record<string, string>;
    };
  schemaVersion: "1.0.0";
 }, {
  interactionId: string;
  message: {
     attachments: {
        filename: string;
        id: string;
        meta:   | {
           originalHeight: number;
           originalWidth: number;
           thumbnailContentType: string;
           thumbnailHeight: number;
           thumbnailWidth: number;
          }
           | null;
        size: number;
        thumbnailUrl: string;
        type: "image" | "recording" | "document" | "generic";
       }[];
     author: {
        email: string;
        id: string;
        name: string;
       };
     botName: string;
     displayName: string;
     id: string;
     isBot: boolean;
     isDeleted: boolean;
     lastUpdatedTimestamp: number;
     meta: {
        app: string;
        conversation_id: string;
        conversation_message_id: string;
        has_cards: string;
        type: string;
       };
     msgStatus: string;
     originalMessage: string;
     rawMessage: string | Record<string, string>;
     resent: boolean;
     timestamp: number;
     translatedMessage: string | null;
     type: string;
     variables: Record<string, string>;
    };
  schemaVersion: "1.0.0";
}>;
```

---

### ChatNextgenAcceptedCCPayloadSchema

```ts
const ChatNextgenAcceptedCCPayloadSchema: z.ZodObject<
  Omit<
    {
      direction: z.ZodEnum<["inbound", "outbound"]>;
      eventId: z.ZodString;
      eventName: z.ZodLiteral<"offered">;
      media: z.ZodLiteral<"chat">;
      mediaType: z.ZodEnum<["sms", "whatsapp"]>;
      method: z.ZodLiteral<"mapEvent">;
      schemaVersion: z.ZodLiteral<"1.0.0">;
      searchContext: z.ZodString;
    },
    "schemaVersion" | "eventName"
  > & {
    eventName: z.ZodLiteral<"accepted">;
    schemaVersion: z.ZodLiteral<"1.0.0">;
  },
  "strip",
  z.ZodTypeAny,
  {
    direction: "inbound" | "outbound";
    eventId: string;
    eventName: "accepted";
    media: "chat";
    mediaType: "sms" | "whatsapp";
    method: "mapEvent";
    schemaVersion: "1.0.0";
    searchContext: string;
  },
  {
    direction: "inbound" | "outbound";
    eventId: string;
    eventName: "accepted";
    media: "chat";
    mediaType: "sms" | "whatsapp";
    method: "mapEvent";
    schemaVersion: "1.0.0";
    searchContext: string;
  }
>;
```

---

### ChatNextgenCompletedCCPayloadSchema

```ts
const ChatNextgenCompletedCCPayloadSchema: z.ZodObject<
  {
    additionalData: z.ZodObject<
      {
        description: z.ZodString;
      },
      "strip",
      z.ZodTypeAny,
      {
        description: string;
      },
      {
        description: string;
      }
    >;
    direction: z.ZodEnum<["inbound", "outbound"]>;
    endTime: z.ZodString;
    eventId: z.ZodString;
    eventName: z.ZodLiteral<"completed">;
    media: z.ZodLiteral<"chat">;
    mediaType: z.ZodEnum<["sms", "whatsapp"]>;
    method: z.ZodLiteral<"mapEvent">;
    schemaVersion: z.ZodLiteral<"1.0.0">;
    searchContext: z.ZodString;
  },
  "strip",
  z.ZodTypeAny,
  {
    additionalData: {
      description: string;
    };
    direction: "inbound" | "outbound";
    endTime: string;
    eventId: string;
    eventName: "completed";
    media: "chat";
    mediaType: "sms" | "whatsapp";
    method: "mapEvent";
    schemaVersion: "1.0.0";
    searchContext: string;
  },
  {
    additionalData: {
      description: string;
    };
    direction: "inbound" | "outbound";
    endTime: string;
    eventId: string;
    eventName: "completed";
    media: "chat";
    mediaType: "sms" | "whatsapp";
    method: "mapEvent";
    schemaVersion: "1.0.0";
    searchContext: string;
  }
>;
```

---

### ChatNextgenOfferedCCPayloadSchema

```ts
const ChatNextgenOfferedCCPayloadSchema: z.ZodObject<
  {
    direction: z.ZodEnum<["inbound", "outbound"]>;
    eventId: z.ZodString;
    eventName: z.ZodLiteral<"offered">;
    media: z.ZodLiteral<"chat">;
    mediaType: z.ZodEnum<["sms", "whatsapp"]>;
    method: z.ZodLiteral<"mapEvent">;
    schemaVersion: z.ZodLiteral<"1.0.0">;
    searchContext: z.ZodString;
  },
  "strip",
  z.ZodTypeAny,
  {
    direction: "inbound" | "outbound";
    eventId: string;
    eventName: "offered";
    media: "chat";
    mediaType: "sms" | "whatsapp";
    method: "mapEvent";
    schemaVersion: "1.0.0";
    searchContext: string;
  },
  {
    direction: "inbound" | "outbound";
    eventId: string;
    eventName: "offered";
    media: "chat";
    mediaType: "sms" | "whatsapp";
    method: "mapEvent";
    schemaVersion: "1.0.0";
    searchContext: string;
  }
>;
```

---

### ChatNextgenTerminatedCCPayloadSchema

```ts
const ChatNextgenTerminatedCCPayloadSchema: z.ZodObject<
  {
    additionalData: z.ZodObject<
      {
        description: z.ZodString;
      },
      "strip",
      z.ZodTypeAny,
      {
        description: string;
      },
      {
        description: string;
      }
    >;
    direction: z.ZodEnum<["inbound", "outbound"]>;
    endTime: z.ZodString;
    eventId: z.ZodString;
    eventName: z.ZodLiteral<"terminated">;
    media: z.ZodLiteral<"chat">;
    mediaType: z.ZodEnum<["sms", "whatsapp"]>;
    method: z.ZodLiteral<"mapEvent">;
    schemaVersion: z.ZodLiteral<"1.0.0">;
    searchContext: z.ZodString;
  },
  "strip",
  z.ZodTypeAny,
  {
    additionalData: {
      description: string;
    };
    direction: "inbound" | "outbound";
    endTime: string;
    eventId: string;
    eventName: "terminated";
    media: "chat";
    mediaType: "sms" | "whatsapp";
    method: "mapEvent";
    schemaVersion: "1.0.0";
    searchContext: string;
  },
  {
    additionalData: {
      description: string;
    };
    direction: "inbound" | "outbound";
    endTime: string;
    eventId: string;
    eventName: "terminated";
    media: "chat";
    mediaType: "sms" | "whatsapp";
    method: "mapEvent";
    schemaVersion: "1.0.0";
    searchContext: string;
  }
>;
```

---

### ChatOfferedCCPayloadSchema

```ts
const ChatOfferedCCPayloadSchema: z.ZodObject<
  {
    additionalData: z.ZodObject<
      {
        name: z.ZodString;
      },
      "strip",
      z.ZodTypeAny,
      {
        name: string;
      },
      {
        name: string;
      }
    >;
    direction: z.ZodEnum<["inbound", "outbound"]>;
    eventId: z.ZodString;
    eventName: z.ZodLiteral<"offered">;
    media: z.ZodLiteral<"chat">;
    mediaType: z.ZodLiteral<"web_chat">;
    method: z.ZodLiteral<"mapEvent">;
    schemaVersion: z.ZodLiteral<"1.0.0">;
    searchContext: z.ZodString;
  },
  "strip",
  z.ZodTypeAny,
  {
    additionalData: {
      name: string;
    };
    direction: "inbound" | "outbound";
    eventId: string;
    eventName: "offered";
    media: "chat";
    mediaType: "web_chat";
    method: "mapEvent";
    schemaVersion: "1.0.0";
    searchContext: string;
  },
  {
    additionalData: {
      name: string;
    };
    direction: "inbound" | "outbound";
    eventId: string;
    eventName: "offered";
    media: "chat";
    mediaType: "web_chat";
    method: "mapEvent";
    schemaVersion: "1.0.0";
    searchContext: string;
  }
>;
```

---

### ChatTerminatedCCPayloadSchema

```ts
const ChatTerminatedCCPayloadSchema: z.ZodObject<
  {
    additionalData: z.ZodObject<
      {
        description: z.ZodString;
        name: z.ZodString;
      },
      "strip",
      z.ZodTypeAny,
      {
        description: string;
        name: string;
      },
      {
        description: string;
        name: string;
      }
    >;
    direction: z.ZodEnum<["inbound", "outbound"]>;
    endTime: z.ZodString;
    eventId: z.ZodString;
    eventName: z.ZodLiteral<"terminated">;
    media: z.ZodLiteral<"chat">;
    mediaType: z.ZodLiteral<"web_chat">;
    method: z.ZodLiteral<"mapEvent">;
    schemaVersion: z.ZodLiteral<"1.0.0">;
    searchContext: z.ZodString;
  },
  "strip",
  z.ZodTypeAny,
  {
    additionalData: {
      description: string;
      name: string;
    };
    direction: "inbound" | "outbound";
    endTime: string;
    eventId: string;
    eventName: "terminated";
    media: "chat";
    mediaType: "web_chat";
    method: "mapEvent";
    schemaVersion: "1.0.0";
    searchContext: string;
  },
  {
    additionalData: {
      description: string;
      name: string;
    };
    direction: "inbound" | "outbound";
    endTime: string;
    eventId: string;
    eventName: "terminated";
    media: "chat";
    mediaType: "web_chat";
    method: "mapEvent";
    schemaVersion: "1.0.0";
    searchContext: string;
  }
>;
```

---

### CLOSE_AGENT_ASSIST_EVENT

```ts
const CLOSE_AGENT_ASSIST_EVENT: "aw-close-agent-assist-v1" = "aw-close-agent-assist-v1";
```

---

### CloseAgentAssistPayloadSchema

```ts
const CloseAgentAssistPayloadSchema: z.ZodObject<
  {
    interactionId: z.ZodString;
    schemaVersion: z.ZodLiteral<"1.0.0">;
  },
  "strip",
  z.ZodTypeAny,
  {
    interactionId: string;
    schemaVersion: "1.0.0";
  },
  {
    interactionId: string;
    schemaVersion: "1.0.0";
  }
>;
```

---

### DATA_TYPES

```ts
const DATA_TYPES: {
  ERROR: "error";
  EVENT: "event";
  FILE_TRANSFER: "file-transfer";
  GENERIC: "message";
  RESPONSE: "response";
};
```

A map with the types that can exist on the data

#### Type declaration

| Name                                         | Type              | Default value   |
| -------------------------------------------- | ----------------- | --------------- |
| <a id="error-4"></a> `ERROR`                 | `"error"`         | "error"         |
| <a id="event-2"></a> `EVENT`                 | `"event"`         | "event"         |
| <a id="file_transfer-2"></a> `FILE_TRANSFER` | `"file-transfer"` | "file-transfer" |
| <a id="generic-2"></a> `GENERIC`             | `"message"`       | "message"       |
| <a id="response-2"></a> `RESPONSE`           | `"response"`      | "response"      |

---

### EMAIL_ACCEPTED_CC_EVENT

```ts
const EMAIL_ACCEPTED_CC_EVENT: "mashell-email-accepted-cc-event-v1" = "mashell-email-accepted-cc-event-v1";
```

---

### EMAIL_TERMINATED_CC_EVENT

```ts
const EMAIL_TERMINATED_CC_EVENT: "mashell-email-terminated-cc-event-v1" = "mashell-email-terminated-cc-event-v1";
```

---

### EmailAcceptedCCPayloadSchema

```ts
const EmailAcceptedCCPayloadSchema: z.ZodObject<
  {
    childNumberId: z.ZodOptional<z.ZodString>;
    contact: z.ZodObject<
      {
        emailAddress: z.ZodString;
        firstName: z.ZodOptional<z.ZodString>;
        lastName: z.ZodOptional<z.ZodString>;
      },
      "strip",
      z.ZodTypeAny,
      {
        emailAddress: string;
        firstName: string;
        lastName: string;
      },
      {
        emailAddress: string;
        firstName: string;
        lastName: string;
      }
    >;
    direction: z.ZodEnum<["inbound", "outbound"]>;
    eventId: z.ZodString;
    eventName: z.ZodLiteral<"accepted">;
    isReplyEmail: z.ZodBoolean;
    isStandAloneTerminated: z.ZodBoolean;
    mainNumberId: z.ZodString;
    media: z.ZodLiteral<"email">;
    method: z.ZodLiteral<"mapEvent">;
    schemaVersion: z.ZodLiteral<"1.0.0">;
    searchContext: z.ZodString;
    url: z.ZodString;
  },
  "strip",
  z.ZodTypeAny,
  {
    childNumberId: string;
    contact: {
      emailAddress: string;
      firstName: string;
      lastName: string;
    };
    direction: "inbound" | "outbound";
    eventId: string;
    eventName: "accepted";
    isReplyEmail: boolean;
    isStandAloneTerminated: boolean;
    mainNumberId: string;
    media: "email";
    method: "mapEvent";
    schemaVersion: "1.0.0";
    searchContext: string;
    url: string;
  },
  {
    childNumberId: string;
    contact: {
      emailAddress: string;
      firstName: string;
      lastName: string;
    };
    direction: "inbound" | "outbound";
    eventId: string;
    eventName: "accepted";
    isReplyEmail: boolean;
    isStandAloneTerminated: boolean;
    mainNumberId: string;
    media: "email";
    method: "mapEvent";
    schemaVersion: "1.0.0";
    searchContext: string;
    url: string;
  }
>;
```

---

### EmailTerminatedCCPayloadSchema

```ts
const EmailTerminatedCCPayloadSchema: z.ZodObject<
  Omit<
    {
      childNumberId: z.ZodOptional<z.ZodString>;
      contact: z.ZodObject<
        {
          emailAddress: z.ZodString;
          firstName: z.ZodOptional<z.ZodString>;
          lastName: z.ZodOptional<z.ZodString>;
        },
        "strip",
        z.ZodTypeAny,
        {
          emailAddress: string;
          firstName: string;
          lastName: string;
        },
        {
          emailAddress: string;
          firstName: string;
          lastName: string;
        }
      >;
      direction: z.ZodEnum<["inbound", "outbound"]>;
      eventId: z.ZodString;
      eventName: z.ZodLiteral<"accepted">;
      isReplyEmail: z.ZodBoolean;
      isStandAloneTerminated: z.ZodBoolean;
      mainNumberId: z.ZodString;
      media: z.ZodLiteral<"email">;
      method: z.ZodLiteral<"mapEvent">;
      schemaVersion: z.ZodLiteral<"1.0.0">;
      searchContext: z.ZodString;
      url: z.ZodString;
    },
    "schemaVersion" | "eventName"
  > & {
    eventName: z.ZodLiteral<"terminated">;
    schemaVersion: z.ZodLiteral<"1.0.0">;
  },
  "strip",
  z.ZodTypeAny,
  {
    childNumberId: string;
    contact: {
      emailAddress: string;
      firstName: string;
      lastName: string;
    };
    direction: "inbound" | "outbound";
    eventId: string;
    eventName: "terminated";
    isReplyEmail: boolean;
    isStandAloneTerminated: boolean;
    mainNumberId: string;
    media: "email";
    method: "mapEvent";
    schemaVersion: "1.0.0";
    searchContext: string;
    url: string;
  },
  {
    childNumberId: string;
    contact: {
      emailAddress: string;
      firstName: string;
      lastName: string;
    };
    direction: "inbound" | "outbound";
    eventId: string;
    eventName: "terminated";
    isReplyEmail: boolean;
    isStandAloneTerminated: boolean;
    mainNumberId: string;
    media: "email";
    method: "mapEvent";
    schemaVersion: "1.0.0";
    searchContext: string;
    url: string;
  }
>;
```

---

### FILE_TRANSFER_ACTIONS

```ts
const FILE_TRANSFER_ACTIONS: {
  CANCEL: "cancel";
  CHUNK: "chunk";
  COMPLETE: "complete";
  ERROR: "error";
  SEND_FILE: "send-file";
};
```

File transfer action constants

#### Type declaration

| Name                                 | Type          | Default value |
| ------------------------------------ | ------------- | ------------- |
| <a id="cancel-2"></a> `CANCEL`       | `"cancel"`    | "cancel"      |
| <a id="chunk-2"></a> `CHUNK`         | `"chunk"`     | "chunk"       |
| <a id="complete-2"></a> `COMPLETE`   | `"complete"`  | "complete"    |
| <a id="error-7"></a> `ERROR`         | `"error"`     | "error"       |
| <a id="send_file-2"></a> `SEND_FILE` | `"send-file"` | "send-file"   |

---

### FILE_TRANSFER_STATUS

```ts
const FILE_TRANSFER_STATUS: {
  COMPLETED: "completed";
  FAILED: "failed";
  UPLOADING: "uploading";
};
```

File transfer status constants

#### Type declaration

| Name                                 | Type          | Default value |
| ------------------------------------ | ------------- | ------------- |
| <a id="completed-2"></a> `COMPLETED` | `"completed"` | "completed"   |
| <a id="failed-2"></a> `FAILED`       | `"failed"`    | "failed"      |
| <a id="uploading-2"></a> `UPLOADING` | `"uploading"` | "uploading"   |

---

### HOLD_EVENT

```ts
const HOLD_EVENT: "aw-interaction-hold-v1" = "aw-interaction-hold-v1";
```

---

### HoldPayloadSchema

```ts
const HoldPayloadSchema: z.ZodObject<
  {
    interactionId: z.ZodString;
    schemaVersion: z.ZodLiteral<"1.0.0">;
  },
  "strip",
  z.ZodTypeAny,
  {
    interactionId: string;
    schemaVersion: "1.0.0";
  },
  {
    interactionId: string;
    schemaVersion: "1.0.0";
  }
>;
```

---

### INTERACTION_FOCUS_EVENT

```ts
const INTERACTION_FOCUS_EVENT: "aw-interaction-focus-v1" = "aw-interaction-focus-v1";
```

---

### InteractionFocusPayloadSchema

```ts
const InteractionFocusPayloadSchema: z.ZodObject<
  {
    interactionId: z.ZodString;
    schemaVersion: z.ZodLiteral<"1.0.0">;
  },
  "strip",
  z.ZodTypeAny,
  {
    interactionId: string;
    schemaVersion: "1.0.0";
  },
  {
    interactionId: string;
    schemaVersion: "1.0.0";
  }
>;
```

---

### MUTE_EVENT

```ts
const MUTE_EVENT: "aw-interaction-mute-v1" = "aw-interaction-mute-v1";
```

---

### MutePayloadSchema

```ts
const MutePayloadSchema: z.ZodObject<
  {
    interactionId: z.ZodString;
    schemaVersion: z.ZodLiteral<"1.0.0">;
  },
  "strip",
  z.ZodTypeAny,
  {
    interactionId: string;
    schemaVersion: "1.0.0";
  },
  {
    interactionId: string;
    schemaVersion: "1.0.0";
  }
>;
```

---

### RESUME_EVENT

```ts
const RESUME_EVENT: "aw-interaction-resume-v1" = "aw-interaction-resume-v1";
```

---

### ResumePayloadSchema

```ts
const ResumePayloadSchema: z.ZodObject<
  {
    interactionId: z.ZodString;
    schemaVersion: z.ZodLiteral<"1.0.0">;
  },
  "strip",
  z.ZodTypeAny,
  {
    interactionId: string;
    schemaVersion: "1.0.0";
  },
  {
    interactionId: string;
    schemaVersion: "1.0.0";
  }
>;
```

---

### SHELL_USER_DETAILS_EVENT

```ts
const SHELL_USER_DETAILS_EVENT: "global-user-details-v1" = "global-user-details-v1";
```

---

### ShellUserDetailsPayloadSchema

```ts
const ShellUserDetailsPayloadSchema: z.ZodObject<
  {
    customerId: z.ZodString;
    email: z.ZodOptional<z.ZodString>;
    firstName: z.ZodString;
    jobTitle: z.ZodString;
    language: z.ZodOptional<z.ZodString>;
    lastName: z.ZodString;
    loginId: z.ZodString;
    name: z.ZodString;
    schemaVersion: z.ZodLiteral<"1.0.0">;
    userId: z.ZodString;
  },
  "strip",
  z.ZodTypeAny,
  {
    customerId: string;
    email: string;
    firstName: string;
    jobTitle: string;
    language: string;
    lastName: string;
    loginId: string;
    name: string;
    schemaVersion: "1.0.0";
    userId: string;
  },
  {
    customerId: string;
    email: string;
    firstName: string;
    jobTitle: string;
    language: string;
    lastName: string;
    loginId: string;
    name: string;
    schemaVersion: "1.0.0";
    userId: string;
  }
>;
```

---

### UNMUTE_EVENT

```ts
const UNMUTE_EVENT: "aw-interaction-unmute-v1" = "aw-interaction-unmute-v1";
```

---

### UnmutePayloadSchema

```ts
const UnmutePayloadSchema: z.ZodObject<
  {
    interactionId: z.ZodString;
    schemaVersion: z.ZodLiteral<"1.0.0">;
  },
  "strip",
  z.ZodTypeAny,
  {
    interactionId: string;
    schemaVersion: "1.0.0";
  },
  {
    interactionId: string;
    schemaVersion: "1.0.0";
  }
>;
```

---

### VOICE_PHONE_ACCEPTED_CC_EVENT

```ts
const VOICE_PHONE_ACCEPTED_CC_EVENT: "mashell-voice-phone-accepted-cc-event-v1" =
  "mashell-voice-phone-accepted-cc-event-v1";
```

---

### VOICE_PHONE_ACCEPTED_UC_EVENT

```ts
const VOICE_PHONE_ACCEPTED_UC_EVENT: "mashell-voice-phone-accepted-uc-event-v1" =
  "mashell-voice-phone-accepted-uc-event-v1";
```

---

### VOICE_PHONE_COMPLETED_CC_EVENT

```ts
const VOICE_PHONE_COMPLETED_CC_EVENT: "mashell-voice-phone-completed-cc-event-v1" =
  "mashell-voice-phone-completed-cc-event-v1";
```

---

### VOICE_PHONE_OFFERED_CC_EVENT

```ts
const VOICE_PHONE_OFFERED_CC_EVENT: "mashell-voice-phone-offered-cc-event-v1" =
  "mashell-voice-phone-offered-cc-event-v1";
```

---

### VOICE_PHONE_OFFERED_UC_EVENT

```ts
const VOICE_PHONE_OFFERED_UC_EVENT: "mashell-voice-phone-offered-uc-event-v1" =
  "mashell-voice-phone-offered-uc-event-v1";
```

---

### VOICE_PHONE_TERMINATED_CC_EVENT

```ts
const VOICE_PHONE_TERMINATED_CC_EVENT: "mashell-voice-phone-terminated-cc-event-v1" =
  "mashell-voice-phone-terminated-cc-event-v1";
```

---

### VOICE_PHONE_TERMINATED_UC_EVENT

```ts
const VOICE_PHONE_TERMINATED_UC_EVENT: "mashell-voice-phone-terminated-uc-event-v1" =
  "mashell-voice-phone-terminated-uc-event-v1";
```

---

### VOICEMAIL_ACCEPTED_CC_EVENT

```ts
const VOICEMAIL_ACCEPTED_CC_EVENT: "mashell-voicemail-accepted-cc-event-v1" = "mashell-voicemail-accepted-cc-event-v1";
```

---

### VOICEMAIL_COMPLETED_CC_EVENT

```ts
const VOICEMAIL_COMPLETED_CC_EVENT: "mashell-voicemail-completed-cc-event-v1" =
  "mashell-voicemail-completed-cc-event-v1";
```

---

### VOICEMAIL_OFFERED_CC_EVENT

```ts
const VOICEMAIL_OFFERED_CC_EVENT: "mashell-voicemail-offered-cc-event-v1" = "mashell-voicemail-offered-cc-event-v1";
```

---

### VOICEMAIL_TERMINATED_CC_EVENT

```ts
const VOICEMAIL_TERMINATED_CC_EVENT: "mashell-voicemail-terminated-cc-event-v1" =
  "mashell-voicemail-terminated-cc-event-v1";
```

---

### VoicemailAcceptedCCPayloadSchema

```ts
const VoicemailAcceptedCCPayloadSchema: z.ZodObject<
  Omit<
    {
      callingName: z.ZodString;
      direction: z.ZodEnum<["inbound", "outbound"]>;
      eventId: z.ZodString;
      eventName: z.ZodLiteral<"offered">;
      media: z.ZodLiteral<"voicemail">;
      method: z.ZodString;
      schemaVersion: z.ZodLiteral<"1.0.0">;
      searchContext: z.ZodString;
    },
    "schemaVersion" | "eventName"
  > & {
    eventName: z.ZodLiteral<"accepted">;
    schemaVersion: z.ZodLiteral<"1.0.0">;
  },
  "strip",
  z.ZodTypeAny,
  {
    callingName: string;
    direction: "inbound" | "outbound";
    eventId: string;
    eventName: "accepted";
    media: "voicemail";
    method: string;
    schemaVersion: "1.0.0";
    searchContext: string;
  },
  {
    callingName: string;
    direction: "inbound" | "outbound";
    eventId: string;
    eventName: "accepted";
    media: "voicemail";
    method: string;
    schemaVersion: "1.0.0";
    searchContext: string;
  }
>;
```

---

### VoicemailCompletedCCPayloadSchema

```ts
const VoicemailCompletedCCPayloadSchema: z.ZodObject<
  {
    additionalData: z.ZodOptional<
      z.ZodObject<
        {
          notes: z.ZodOptional<z.ZodString>;
        },
        "strip",
        z.ZodTypeAny,
        {
          notes: string;
        },
        {
          notes: string;
        }
      >
    >;
    callDuration: z.ZodString;
    callingName: z.ZodString;
    direction: z.ZodEnum<["inbound", "outbound"]>;
    endTime: z.ZodString;
    eventId: z.ZodString;
    eventName: z.ZodLiteral<"completed">;
    media: z.ZodLiteral<"voicemail">;
    method: z.ZodLiteral<"mapEvent">;
    schemaVersion: z.ZodLiteral<"1.0.0">;
    searchContext: z.ZodString;
    startTime: z.ZodString;
  },
  "strip",
  z.ZodTypeAny,
  {
    additionalData: {
      notes: string;
    };
    callDuration: string;
    callingName: string;
    direction: "inbound" | "outbound";
    endTime: string;
    eventId: string;
    eventName: "completed";
    media: "voicemail";
    method: "mapEvent";
    schemaVersion: "1.0.0";
    searchContext: string;
    startTime: string;
  },
  {
    additionalData: {
      notes: string;
    };
    callDuration: string;
    callingName: string;
    direction: "inbound" | "outbound";
    endTime: string;
    eventId: string;
    eventName: "completed";
    media: "voicemail";
    method: "mapEvent";
    schemaVersion: "1.0.0";
    searchContext: string;
    startTime: string;
  }
>;
```

---

### VoicemailOfferedCCPayloadSchema

```ts
const VoicemailOfferedCCPayloadSchema: z.ZodObject<
  {
    callingName: z.ZodString;
    direction: z.ZodEnum<["inbound", "outbound"]>;
    eventId: z.ZodString;
    eventName: z.ZodLiteral<"offered">;
    media: z.ZodLiteral<"voicemail">;
    method: z.ZodString;
    schemaVersion: z.ZodLiteral<"1.0.0">;
    searchContext: z.ZodString;
  },
  "strip",
  z.ZodTypeAny,
  {
    callingName: string;
    direction: "inbound" | "outbound";
    eventId: string;
    eventName: "offered";
    media: "voicemail";
    method: string;
    schemaVersion: "1.0.0";
    searchContext: string;
  },
  {
    callingName: string;
    direction: "inbound" | "outbound";
    eventId: string;
    eventName: "offered";
    media: "voicemail";
    method: string;
    schemaVersion: "1.0.0";
    searchContext: string;
  }
>;
```

---

### VoicemailTerminateCCPayloadSchema

```ts
const VoicemailTerminateCCPayloadSchema: z.ZodObject<
  {
    additionalData: z.ZodObject<
      {
        disposition_code: z.ZodString;
        lastTclCodeDesc: z.ZodOptional<z.ZodString>;
        lastTclCodeShort: z.ZodOptional<z.ZodString>;
        notes: z.ZodOptional<z.ZodString>;
      },
      "strip",
      z.ZodTypeAny,
      {
        disposition_code: string;
        lastTclCodeDesc: string;
        lastTclCodeShort: string;
        notes: string;
      },
      {
        disposition_code: string;
        lastTclCodeDesc: string;
        lastTclCodeShort: string;
        notes: string;
      }
    >;
    callDuration: z.ZodString;
    callingName: z.ZodString;
    direction: z.ZodEnum<["inbound", "outbound"]>;
    endTime: z.ZodString;
    eventId: z.ZodString;
    eventName: z.ZodLiteral<"terminated">;
    media: z.ZodLiteral<"voicemail">;
    method: z.ZodLiteral<"mapEvent">;
    schemaVersion: z.ZodLiteral<"1.0.0">;
    searchContext: z.ZodString;
    startTime: z.ZodString;
  },
  "strip",
  z.ZodTypeAny,
  {
    additionalData: {
      disposition_code: string;
      lastTclCodeDesc: string;
      lastTclCodeShort: string;
      notes: string;
    };
    callDuration: string;
    callingName: string;
    direction: "inbound" | "outbound";
    endTime: string;
    eventId: string;
    eventName: "terminated";
    media: "voicemail";
    method: "mapEvent";
    schemaVersion: "1.0.0";
    searchContext: string;
    startTime: string;
  },
  {
    additionalData: {
      disposition_code: string;
      lastTclCodeDesc: string;
      lastTclCodeShort: string;
      notes: string;
    };
    callDuration: string;
    callingName: string;
    direction: "inbound" | "outbound";
    endTime: string;
    eventId: string;
    eventName: "terminated";
    media: "voicemail";
    method: "mapEvent";
    schemaVersion: "1.0.0";
    searchContext: string;
    startTime: string;
  }
>;
```

---

### VoicePhoneAcceptedCCPayloadSchema

```ts
const VoicePhoneAcceptedCCPayloadSchema: z.ZodObject<
  Omit<
    {
      direction: z.ZodEnum<["inbound", "outbound"]>;
      eventId: z.ZodString;
      eventName: z.ZodLiteral<"offered">;
      media: z.ZodLiteral<"phone">;
      method: z.ZodLiteral<"mapEvent">;
      schemaVersion: z.ZodLiteral<"1.0.0">;
      searchContext: z.ZodString;
    },
    "schemaVersion" | "eventName"
  > & {
    eventName: z.ZodLiteral<"accepted">;
    schemaVersion: z.ZodLiteral<"1.0.0">;
  },
  "strip",
  z.ZodTypeAny,
  {
    direction: "inbound" | "outbound";
    eventId: string;
    eventName: "accepted";
    media: "phone";
    method: "mapEvent";
    schemaVersion: "1.0.0";
    searchContext: string;
  },
  {
    direction: "inbound" | "outbound";
    eventId: string;
    eventName: "accepted";
    media: "phone";
    method: "mapEvent";
    schemaVersion: "1.0.0";
    searchContext: string;
  }
>;
```

---

### VoicePhoneAcceptedUCPayloadSchema

```ts
const VoicePhoneAcceptedUCPayloadSchema: z.ZodObject<
  Omit<
    {
      direction: z.ZodEnum<["inbound", "outbound"]>;
      eventId: z.ZodString;
      eventName: z.ZodLiteral<"offered">;
      media: z.ZodLiteral<"phone">;
      method: z.ZodLiteral<"mapEvent">;
      schemaVersion: z.ZodLiteral<"1.0.0">;
      searchContext: z.ZodString;
      startTime: z.ZodString;
    },
    "schemaVersion" | "eventName"
  > & {
    eventName: z.ZodLiteral<"accepted">;
    schemaVersion: z.ZodLiteral<"1.0.0">;
  },
  "strip",
  z.ZodTypeAny,
  {
    direction: "inbound" | "outbound";
    eventId: string;
    eventName: "accepted";
    media: "phone";
    method: "mapEvent";
    schemaVersion: "1.0.0";
    searchContext: string;
    startTime: string;
  },
  {
    direction: "inbound" | "outbound";
    eventId: string;
    eventName: "accepted";
    media: "phone";
    method: "mapEvent";
    schemaVersion: "1.0.0";
    searchContext: string;
    startTime: string;
  }
>;
```

---

### VoicePhoneCompletedCCPayloadSchema

```ts
const VoicePhoneCompletedCCPayloadSchema: z.ZodObject<
  {
    additionalData: z.ZodOptional<
      z.ZodObject<
        {
          notes: z.ZodOptional<z.ZodString>;
        },
        "strip",
        z.ZodTypeAny,
        {
          notes: string;
        },
        {
          notes: string;
        }
      >
    >;
    callDuration: z.ZodString;
    callRecording: z.ZodOptional<z.ZodString>;
    direction: z.ZodEnum<["inbound", "outbound"]>;
    endTime: z.ZodString;
    eventId: z.ZodString;
    eventName: z.ZodLiteral<"completed">;
    hasRecording: z.ZodBoolean;
    media: z.ZodLiteral<"phone">;
    method: z.ZodLiteral<"mapEvent">;
    schemaVersion: z.ZodLiteral<"1.0.0">;
    searchContext: z.ZodString;
    startTime: z.ZodString;
  },
  "strip",
  z.ZodTypeAny,
  {
    additionalData: {
      notes: string;
    };
    callDuration: string;
    callRecording: string;
    direction: "inbound" | "outbound";
    endTime: string;
    eventId: string;
    eventName: "completed";
    hasRecording: boolean;
    media: "phone";
    method: "mapEvent";
    schemaVersion: "1.0.0";
    searchContext: string;
    startTime: string;
  },
  {
    additionalData: {
      notes: string;
    };
    callDuration: string;
    callRecording: string;
    direction: "inbound" | "outbound";
    endTime: string;
    eventId: string;
    eventName: "completed";
    hasRecording: boolean;
    media: "phone";
    method: "mapEvent";
    schemaVersion: "1.0.0";
    searchContext: string;
    startTime: string;
  }
>;
```

---

### VoicePhoneOfferedCCPayloadSchema

```ts
const VoicePhoneOfferedCCPayloadSchema: z.ZodObject<
  {
    direction: z.ZodEnum<["inbound", "outbound"]>;
    eventId: z.ZodString;
    eventName: z.ZodLiteral<"offered">;
    media: z.ZodLiteral<"phone">;
    method: z.ZodLiteral<"mapEvent">;
    schemaVersion: z.ZodLiteral<"1.0.0">;
    searchContext: z.ZodString;
  },
  "strip",
  z.ZodTypeAny,
  {
    direction: "inbound" | "outbound";
    eventId: string;
    eventName: "offered";
    media: "phone";
    method: "mapEvent";
    schemaVersion: "1.0.0";
    searchContext: string;
  },
  {
    direction: "inbound" | "outbound";
    eventId: string;
    eventName: "offered";
    media: "phone";
    method: "mapEvent";
    schemaVersion: "1.0.0";
    searchContext: string;
  }
>;
```

---

### VoicePhoneOfferedUCPayloadSchema

```ts
const VoicePhoneOfferedUCPayloadSchema: z.ZodObject<
  {
    direction: z.ZodEnum<["inbound", "outbound"]>;
    eventId: z.ZodString;
    eventName: z.ZodLiteral<"offered">;
    media: z.ZodLiteral<"phone">;
    method: z.ZodLiteral<"mapEvent">;
    schemaVersion: z.ZodLiteral<"1.0.0">;
    searchContext: z.ZodString;
    startTime: z.ZodString;
  },
  "strip",
  z.ZodTypeAny,
  {
    direction: "inbound" | "outbound";
    eventId: string;
    eventName: "offered";
    media: "phone";
    method: "mapEvent";
    schemaVersion: "1.0.0";
    searchContext: string;
    startTime: string;
  },
  {
    direction: "inbound" | "outbound";
    eventId: string;
    eventName: "offered";
    media: "phone";
    method: "mapEvent";
    schemaVersion: "1.0.0";
    searchContext: string;
    startTime: string;
  }
>;
```

---

### VoicePhoneTerminatedCCPayloadSchema

```ts
const VoicePhoneTerminatedCCPayloadSchema: z.ZodObject<
  {
    additionalData: z.ZodObject<
      {
        disposition_code: z.ZodString;
        lastTclCodeDesc: z.ZodOptional<z.ZodString>;
        lastTclCodeShort: z.ZodOptional<z.ZodString>;
        notes: z.ZodOptional<z.ZodString>;
      },
      "strip",
      z.ZodTypeAny,
      {
        disposition_code: string;
        lastTclCodeDesc: string;
        lastTclCodeShort: string;
        notes: string;
      },
      {
        disposition_code: string;
        lastTclCodeDesc: string;
        lastTclCodeShort: string;
        notes: string;
      }
    >;
    callDuration: z.ZodString;
    callRecording: z.ZodOptional<z.ZodString>;
    direction: z.ZodEnum<["inbound", "outbound"]>;
    endTime: z.ZodString;
    eventId: z.ZodString;
    eventName: z.ZodLiteral<"terminated">;
    hasRecording: z.ZodBoolean;
    media: z.ZodLiteral<"phone">;
    method: z.ZodLiteral<"mapEvent">;
    schemaVersion: z.ZodLiteral<"1.0.0">;
    searchContext: z.ZodString;
    startTime: z.ZodString;
  },
  "strip",
  z.ZodTypeAny,
  {
    additionalData: {
      disposition_code: string;
      lastTclCodeDesc: string;
      lastTclCodeShort: string;
      notes: string;
    };
    callDuration: string;
    callRecording: string;
    direction: "inbound" | "outbound";
    endTime: string;
    eventId: string;
    eventName: "terminated";
    hasRecording: boolean;
    media: "phone";
    method: "mapEvent";
    schemaVersion: "1.0.0";
    searchContext: string;
    startTime: string;
  },
  {
    additionalData: {
      disposition_code: string;
      lastTclCodeDesc: string;
      lastTclCodeShort: string;
      notes: string;
    };
    callDuration: string;
    callRecording: string;
    direction: "inbound" | "outbound";
    endTime: string;
    eventId: string;
    eventName: "terminated";
    hasRecording: boolean;
    media: "phone";
    method: "mapEvent";
    schemaVersion: "1.0.0";
    searchContext: string;
    startTime: string;
  }
>;
```

---

### VoicePhoneTerminatedUCPayloadSchema

```ts
const VoicePhoneTerminatedUCPayloadSchema: z.ZodObject<
  {
    callDuration: z.ZodString;
    callRecording: z.ZodOptional<z.ZodString>;
    direction: z.ZodEnum<["inbound", "outbound"]>;
    endTime: z.ZodString;
    eventId: z.ZodString;
    eventName: z.ZodLiteral<"terminated">;
    hasRecording: z.ZodBoolean;
    media: z.ZodLiteral<"phone">;
    method: z.ZodLiteral<"mapEvent">;
    schemaVersion: z.ZodLiteral<"1.0.0">;
    searchContext: z.ZodString;
    startTime: z.ZodString;
  },
  "strip",
  z.ZodTypeAny,
  {
    callDuration: string;
    callRecording: string;
    direction: "inbound" | "outbound";
    endTime: string;
    eventId: string;
    eventName: "terminated";
    hasRecording: boolean;
    media: "phone";
    method: "mapEvent";
    schemaVersion: "1.0.0";
    searchContext: string;
    startTime: string;
  },
  {
    callDuration: string;
    callRecording: string;
    direction: "inbound" | "outbound";
    endTime: string;
    eventId: string;
    eventName: "terminated";
    hasRecording: boolean;
    media: "phone";
    method: "mapEvent";
    schemaVersion: "1.0.0";
    searchContext: string;
    startTime: string;
  }
>;
```

---

### WRAP_UP_CODES_EVENT

```ts
const WRAP_UP_CODES_EVENT: "aw-interaction-wrap-up-codes-v1" = "aw-interaction-wrap-up-codes-v1";
```

---

### WrapUpCodesPayloadSchema

```ts
const WrapUpCodesPayloadSchema: z.ZodObject<
  {
    interactionId: z.ZodString;
    schemaVersion: z.ZodLiteral<"1.0.0">;
    wrapUpCodes: z.ZodArray<
      z.ZodObject<
        {
          ani: z.ZodOptional<z.ZodString>;
          assignments: z.ZodObject<
            {
              list: z.ZodArray<z.ZodString, "many">;
              type: z.ZodString;
            },
            "strip",
            z.ZodTypeAny,
            {
              list: string[];
              type: string;
            },
            {
              list: string[];
              type: string;
            }
          >;
          autoSort: z.ZodBoolean;
          id: z.ZodString;
          isAgentDefault: z.ZodBoolean;
          items: z.ZodArray<
            z.ZodObject<
              {
                callBackTime: z.ZodNumber;
                callLineId: z.ZodString;
                dispositionCode: z.ZodString;
                id: z.ZodString;
                menuText: z.ZodString;
                ordinate: z.ZodString;
                parentId: z.ZodString;
                queueObjId: z.ZodString;
                reportText: z.ZodString;
                shortCodeText: z.ZodString;
                shortKeyText: z.ZodString;
              },
              "strip",
              z.ZodTypeAny,
              {
                callBackTime: number;
                callLineId: string;
                dispositionCode: string;
                id: string;
                menuText: string;
                ordinate: string;
                parentId: string;
                queueObjId: string;
                reportText: string;
                shortCodeText: string;
                shortKeyText: string;
              },
              {
                callBackTime: number;
                callLineId: string;
                dispositionCode: string;
                id: string;
                menuText: string;
                ordinate: string;
                parentId: string;
                queueObjId: string;
                reportText: string;
                shortCodeText: string;
                shortKeyText: string;
              }
            >,
            "many"
          >;
          multiChoice: z.ZodBoolean;
          name: z.ZodString;
          primaryLang: z.ZodString;
          reqBeforeOutbound: z.ZodBoolean;
          required: z.ZodBoolean;
        },
        "strip",
        z.ZodTypeAny,
        {
          ani: string;
          assignments: {
            list: string[];
            type: string;
          };
          autoSort: boolean;
          id: string;
          isAgentDefault: boolean;
          items: {
            callBackTime: number;
            callLineId: string;
            dispositionCode: string;
            id: string;
            menuText: string;
            ordinate: string;
            parentId: string;
            queueObjId: string;
            reportText: string;
            shortCodeText: string;
            shortKeyText: string;
          }[];
          multiChoice: boolean;
          name: string;
          primaryLang: string;
          reqBeforeOutbound: boolean;
          required: boolean;
        },
        {
          ani: string;
          assignments: {
            list: string[];
            type: string;
          };
          autoSort: boolean;
          id: string;
          isAgentDefault: boolean;
          items: {
            callBackTime: number;
            callLineId: string;
            dispositionCode: string;
            id: string;
            menuText: string;
            ordinate: string;
            parentId: string;
            queueObjId: string;
            reportText: string;
            shortCodeText: string;
            shortKeyText: string;
          }[];
          multiChoice: boolean;
          name: string;
          primaryLang: string;
          reqBeforeOutbound: boolean;
          required: boolean;
        }
      >,
      "many"
    >;
  },
  "strip",
  z.ZodTypeAny,
  {
    interactionId: string;
    schemaVersion: "1.0.0";
    wrapUpCodes: {
      ani: string;
      assignments: {
        list: string[];
        type: string;
      };
      autoSort: boolean;
      id: string;
      isAgentDefault: boolean;
      items: {
        callBackTime: number;
        callLineId: string;
        dispositionCode: string;
        id: string;
        menuText: string;
        ordinate: string;
        parentId: string;
        queueObjId: string;
        reportText: string;
        shortCodeText: string;
        shortKeyText: string;
      }[];
      multiChoice: boolean;
      name: string;
      primaryLang: string;
      reqBeforeOutbound: boolean;
      required: boolean;
    }[];
  },
  {
    interactionId: string;
    schemaVersion: "1.0.0";
    wrapUpCodes: {
      ani: string;
      assignments: {
        list: string[];
        type: string;
      };
      autoSort: boolean;
      id: string;
      isAgentDefault: boolean;
      items: {
        callBackTime: number;
        callLineId: string;
        dispositionCode: string;
        id: string;
        menuText: string;
        ordinate: string;
        parentId: string;
        queueObjId: string;
        reportText: string;
        shortCodeText: string;
        shortKeyText: string;
      }[];
      multiChoice: boolean;
      name: string;
      primaryLang: string;
      reqBeforeOutbound: boolean;
      required: boolean;
    }[];
  }
>;
```
