# A2uiComponentModel

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


```
class A2uiComponentModel
```

<br />

*** ** * ** ***

Represents a fully resolved and ready for rendering A2UI component.

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiComponentModel#A2uiComponentModel(androidx.a2ui.model.processor.A2uiSurfaceModel,kotlin.String,androidx.a2ui.compose.runtime.A2uiComponentProperties,androidx.a2ui.compose.runtime.A2uiComponentScope)( surface: https://developer.android.com/reference/kotlin/androidx/a2ui/model/processor/A2uiSurfaceModel, type: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html, properties: https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiComponentProperties, scope: https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiComponentScope )` |

| ### Public functions |
|---|---|
| `open operator https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiComponentModel#equals(kotlin.Any)(other: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html?)` |
| `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiComponentModel#hashCode()()` |
| `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` | `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiComponentModel#toString()()` |

| ### Public properties |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiComponentProperties` | `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiComponentModel#properties()` The stable `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiComponentProperties` payload defining the component's structure and dynamic data bindings. |
| `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiComponentScope` | `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiComponentModel#scope()` The `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiComponentScope` bound to this specific component instance, providing mechanisms for data binding, child resolution, action dispatching, etc. |
| `https://developer.android.com/reference/kotlin/androidx/a2ui/model/processor/A2uiSurfaceModel` | `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiComponentModel#surface()` The `https://developer.android.com/reference/kotlin/androidx/a2ui/model/processor/A2uiSurfaceModel` containing the data, components, and catalog. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` | `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiComponentModel#type()` The string identifier of the component's type (e.g., `"Text"`, `"Button"`). |

## Public constructors

### A2uiComponentModel

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

```
A2uiComponentModel(
    surface: A2uiSurfaceModel,
    type: String,
    properties: A2uiComponentProperties,
    scope: A2uiComponentScope
)
```

## Public functions

### equals

```
open operator fun equals(other: Any?): Boolean
```

### hashCode

```
open fun hashCode(): Int
```

### toString

```
open fun toString(): String
```

## Public properties

### properties

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

```
val properties: A2uiComponentProperties
```

The stable `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiComponentProperties` payload defining the component's structure and dynamic data bindings.

### scope

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

```
val scope: A2uiComponentScope
```

The `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiComponentScope` bound to this specific component instance, providing mechanisms for data binding, child resolution, action dispatching, etc.

### surface

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

```
val surface: A2uiSurfaceModel
```

The `https://developer.android.com/reference/kotlin/androidx/a2ui/model/processor/A2uiSurfaceModel` containing the data, components, and catalog.

### type

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

```
val type: String
```

The string identifier of the component's type (e.g., `"Text"`, `"Button"`).