# androidx.a2ui.model.catalog

*** ** * ** ***

## Interfaces

|---|---|
| `https://developer.android.com/reference/kotlin/androidx/a2ui/model/catalog/A2uiFunction` | Represents a function supported by A2UI including its definition and implementation. |
| `https://developer.android.com/reference/kotlin/androidx/a2ui/model/catalog/A2uiFunctionCollection` | An immutable, indexed collection of `https://developer.android.com/reference/kotlin/androidx/a2ui/model/catalog/A2uiFunction`s. |
| `https://developer.android.com/reference/kotlin/androidx/a2ui/model/catalog/A2uiFunctionDefinition` | Represents the definition and schema of a function supported by A2UI. |

## Enums

|---|---|
| `https://developer.android.com/reference/kotlin/androidx/a2ui/model/catalog/A2uiFunctionReturnType` | The JSON-compatible return types a function can advertise to the AI agent. |

## Top-level functions summary

|---|---|
| `https://developer.android.com/reference/kotlin/androidx/a2ui/model/catalog/A2uiFunctionCollection` | `https://developer.android.com/reference/kotlin/androidx/a2ui/model/catalog/package-summary#A2uiFunctionCollection(kotlin.collections.List)(functions: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<https://developer.android.com/reference/kotlin/androidx/a2ui/model/catalog/A2uiFunction>)` Creates an immutable `https://developer.android.com/reference/kotlin/androidx/a2ui/model/catalog/package-summary#A2uiFunctionCollection(kotlin.collections.List)` from a list of `https://developer.android.com/reference/kotlin/androidx/a2ui/model/catalog/A2uiFunction`s. |

## Extension functions summary

|---|---|
| `https://developer.android.com/reference/kotlin/androidx/a2ui/model/schema/A2uiSchema` | `https://developer.android.com/reference/kotlin/androidx/a2ui/model/catalog/A2uiFunctionDefinition.https://developer.android.com/reference/kotlin/androidx/a2ui/model/catalog/package-summary#(androidx.a2ui.model.catalog.A2uiFunctionDefinition).toSchema()()` Converts this function definition into an `https://developer.android.com/reference/kotlin/androidx/a2ui/model/schema/A2uiSchema`. |

## Top-level functions

### A2uiFunctionCollection

Artifact: [androidx.a2ui:a2ui-model](https://developer.android.com/jetpack/androidx/releases/a2ui) [View Source](https://cs.android.com/search?q=file:androidx/a2ui/model/catalog/A2uiFunctionCollection.kt+function:A2uiFunctionCollection)

```
fun A2uiFunctionCollection(functions: List<A2uiFunction> = emptyList()): A2uiFunctionCollection
```

Creates an immutable `https://developer.android.com/reference/kotlin/androidx/a2ui/model/catalog/package-summary#A2uiFunctionCollection(kotlin.collections.List)` from a list of `https://developer.android.com/reference/kotlin/androidx/a2ui/model/catalog/A2uiFunction`s.

| Parameters |
|---|---|
| `functions: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<https://developer.android.com/reference/kotlin/androidx/a2ui/model/catalog/A2uiFunction> = emptyList()` | The list of functions to include. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/a2ui/model/catalog/A2uiFunctionCollection` | An initialized `https://developer.android.com/reference/kotlin/androidx/a2ui/model/catalog/package-summary#A2uiFunctionCollection(kotlin.collections.List)`. |

| Throws |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-illegal-argument-exception/index.html` | If duplicate function names are detected. |

## Extension functions

### A2uiFunctionDefinition.toSchema

Artifact: [androidx.a2ui:a2ui-model](https://developer.android.com/jetpack/androidx/releases/a2ui) [View Source](https://cs.android.com/search?q=file:androidx/a2ui/model/catalog/A2uiFunctionDefinition.kt+function:toSchema) Added in [1.0.0-alpha02](https://developer.android.com/jetpack/androidx/releases/a2ui#1.0.0-alpha02)

```
fun A2uiFunctionDefinition.toSchema(): A2uiSchema
```

Converts this function definition into an `https://developer.android.com/reference/kotlin/androidx/a2ui/model/schema/A2uiSchema`.

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/a2ui/model/schema/A2uiSchema` | the `https://developer.android.com/reference/kotlin/androidx/a2ui/model/schema/A2uiSchema` representation of this function definition |