# A2uiCoreComponentDefinition

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

*** ** * ** ***


```
interface A2uiCoreComponentDefinition
```

<br />

*** ** * ** ***

Defines a single UI component and its schema.

## Summary

| ### Public properties |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` | `https://developer.android.com/reference/kotlin/androidx/a2ui/engine/catalog/A2uiCoreComponentDefinition#description()` Describes the component behavior so the AI agent knows when to use it. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` | `https://developer.android.com/reference/kotlin/androidx/a2ui/engine/catalog/A2uiCoreComponentDefinition#name()` Component name that would be provided to the AI agent. |
| `https://developer.android.com/reference/kotlin/androidx/a2ui/model/schema/A2uiSchema` | `https://developer.android.com/reference/kotlin/androidx/a2ui/engine/catalog/A2uiCoreComponentDefinition#propertySchema()` The schema of the properties of the component. |

| ### Extension functions |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/a2ui/model/schema/A2uiSchema` | `https://developer.android.com/reference/kotlin/androidx/a2ui/engine/catalog/A2uiCoreComponentDefinition.https://developer.android.com/reference/kotlin/androidx/a2ui/engine/catalog/A2uiCoreComponentDefinition#(androidx.a2ui.engine.catalog.A2uiCoreComponentDefinition).toSchema()()` Converts this component definition into an `https://developer.android.com/reference/kotlin/androidx/a2ui/model/schema/A2uiSchema`. |

## Public properties

### description

Added in [1.0.0-alpha02](https://developer.android.com/jetpack/androidx/releases/a2ui#1.0.0-alpha02)

```
val description: String
```

Describes the component behavior so the AI agent knows when to use it.

### name

Added in [1.0.0-alpha02](https://developer.android.com/jetpack/androidx/releases/a2ui#1.0.0-alpha02)

```
val name: String
```

Component name that would be provided to the AI agent.

### propertySchema

Added in [1.0.0-alpha02](https://developer.android.com/jetpack/androidx/releases/a2ui#1.0.0-alpha02)

```
val propertySchema: A2uiSchema
```

The schema of the properties of the component.

## Extension functions

### A2uiCoreComponentDefinition.toSchema

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

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

Converts this component 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 component definition |