---
url: 'https://adk.nht.io/api/@nhtio/adk/batteries/interfaces/DescriptionLike.md'
description: >-
  Structural shape of a validator/Joi `describe()` output, as consumed by the
  JSON-Schema renderer. A loose superset — only the fields the renderer reads
  are typed; the index signature carries everything else through untouched.
---

# Interface: DescriptionLike

Defined in: [batteries/llm/chat\_common/types.ts:35](https://github.com/NHTIO/ADK/blob/v1.20260609.0/src/batteries/llm/chat_common/types.ts#L35)

Structural shape of a validator/Joi `describe()` output, as consumed by the JSON-Schema
renderer. A loose superset — only the fields the renderer reads are typed; the index signature
carries everything else through untouched.

## Indexable

```ts
[key: string]: unknown
```

Pass-through for any other validator metadata the renderer does not read.

## Properties

| Property                                         | Type                                                                                                                       | Description                                                                    | Defined in                                                                                                                          |
| ------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------- |
|  `default?`         | `unknown`                                                                                                                  | Default value supplied when the field is absent.                               | [batteries/llm/chat\_common/types.ts:43](https://github.com/NHTIO/ADK/blob/v1.20260609.0/src/batteries/llm/chat_common/types.ts#L43) |
|  `description?` | `string`                                                                                                                   | Human-readable description of the field.                                       | [batteries/llm/chat\_common/types.ts:39](https://github.com/NHTIO/ADK/blob/v1.20260609.0/src/batteries/llm/chat_common/types.ts#L39) |
|  `enum?`               | `unknown`\[]                                                                                                                | Permitted values declared via an enum/valid set.                               | [batteries/llm/chat\_common/types.ts:45](https://github.com/NHTIO/ADK/blob/v1.20260609.0/src/batteries/llm/chat_common/types.ts#L45) |
|  `examples?`       | `unknown`\[]                                                                                                                | Example values for the field.                                                  | [batteries/llm/chat\_common/types.ts:49](https://github.com/NHTIO/ADK/blob/v1.20260609.0/src/batteries/llm/chat_common/types.ts#L49) |
|  `flags?`             | { `default?`: `unknown`; `description?`: `string`; `presence?`: `string`; }                                              | Validator flags bag carrying presence, description, and default.               | [batteries/llm/chat\_common/types.ts:57](https://github.com/NHTIO/ADK/blob/v1.20260609.0/src/batteries/llm/chat_common/types.ts#L57) |
| `flags.default?`                                 | `unknown`                                                                                                                  | -                                                                              | [batteries/llm/chat\_common/types.ts:57](https://github.com/NHTIO/ADK/blob/v1.20260609.0/src/batteries/llm/chat_common/types.ts#L57) |
| `flags.description?`                             | `string`                                                                                                                   | -                                                                              | [batteries/llm/chat\_common/types.ts:57](https://github.com/NHTIO/ADK/blob/v1.20260609.0/src/batteries/llm/chat_common/types.ts#L57) |
| `flags.presence?`                                | `string`                                                                                                                   | -                                                                              | [batteries/llm/chat\_common/types.ts:57](https://github.com/NHTIO/ADK/blob/v1.20260609.0/src/batteries/llm/chat_common/types.ts#L57) |
|  `items?`             | `DescriptionLike` | `DescriptionLike`\[]                                                                                   | Element description(s) for array types.                                        | [batteries/llm/chat\_common/types.ts:53](https://github.com/NHTIO/ADK/blob/v1.20260609.0/src/batteries/llm/chat_common/types.ts#L53) |
|  `presence?`       | `string`                                                                                                                   | Presence flag (`'optional'`, `'required'`, or `'forbidden'`) at the top level. | [batteries/llm/chat\_common/types.ts:41](https://github.com/NHTIO/ADK/blob/v1.20260609.0/src/batteries/llm/chat_common/types.ts#L41) |
|  `properties?`   | [`Record`](https://www.typescriptlang.org/docs/handbook/utility-types.html#recordkeys-type)<`string`, `DescriptionLike`> | Nested property descriptions, keyed by property name (for object types).       | [batteries/llm/chat\_common/types.ts:51](https://github.com/NHTIO/ADK/blob/v1.20260609.0/src/batteries/llm/chat_common/types.ts#L51) |
|  `required?`       | `string`\[]                                                                                                                 | Names of required properties (for object types).                               | [batteries/llm/chat\_common/types.ts:55](https://github.com/NHTIO/ADK/blob/v1.20260609.0/src/batteries/llm/chat_common/types.ts#L55) |
|  `type?`               | `string`                                                                                                                   | Validator type name (e.g. `'string'`, `'object'`, `'array'`).                  | [batteries/llm/chat\_common/types.ts:37](https://github.com/NHTIO/ADK/blob/v1.20260609.0/src/batteries/llm/chat_common/types.ts#L37) |
|  `valids?`           | `unknown`\[]                                                                                                                | Permitted values declared via the validator's `valid()` rule.                  | [batteries/llm/chat\_common/types.ts:47](https://github.com/NHTIO/ADK/blob/v1.20260609.0/src/batteries/llm/chat_common/types.ts#L47) |
