[**@gram-ai/elements v1.33.0**](../README.md)

***

[@gram-ai/elements](../globals.md) / ComponentOverrides

# Interface: ComponentOverrides

## Properties

### Composer?

> `optional` **Composer**: `ComponentType`

The component to use for the composer (the input area where users type messages)

***

### UserMessage?

> `optional` **UserMessage**: `ComponentType`

The component to use for the user message.

***

### EditComposer?

> `optional` **EditComposer**: `ComponentType`

The component to use for the edit composer (inline message editor)

***

### AssistantMessage?

> `optional` **AssistantMessage**: `ComponentType`

The component to use for the assistant message (messages generated by the LLM).

Note: if you override this, the Text component will not be used.

***

### ThreadWelcome?

> `optional` **ThreadWelcome**: `ComponentType`

The component to use for the thread welcome.

***

### Text?

> `optional` **Text**: `TextMessagePartComponent`

The component to use for the text message.

***

### Image?

> `optional` **Image**: `ImageMessagePartComponent`

The component to use for the image message.

***

### ToolFallback?

> `optional` **ToolFallback**: `ToolCallMessagePartComponent`

The component to use for the tool fallback (default UI shown when a tool returns a result).

***

### Reasoning?

> `optional` **Reasoning**: `ReasoningMessagePartComponent`

The component to use for the reasoning message.

***

### ReasoningGroup?

> `optional` **ReasoningGroup**: `ReasoningGroupComponent`

The component to use for the reasoning group.

***

### ToolGroup?

> `optional` **ToolGroup**: `ComponentType`\<`PropsWithChildren`\<\{ `startIndex`: `number`; `endIndex`: `number`; \}\>\>

The component to use for the tool group (a group of tool calls returned by the LLM in a single message).
