# androidx.a2ui.compose.runtime

## Interfaces

|---|---|
| `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiComponentScope` | The receiver scope provided to an A2UI component for rendering. |
| `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiComponentState` | Represents the state of an A2UI component instance. |
| `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiReadinessEvaluator` | Enables the UI layer to evaluate whether a resolved A2UI component is ready to be rendered, as defined by the component implementation (e.g., all its required dynamic data bindings have been resolved). |
| `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiRuntimeCatalog` | A marker interface representing a registry of A2UI components and functions that can be utilized by the Jetpack Compose A2UI runtime layer. |

## Classes

|---|---|
| `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiComponentModel` | Represents a fully resolved and ready for rendering A2UI component. |
| `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiComponentProperties` | An immutable wrapper around the raw component property map supplied by the A2UI protocol. |
| `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiComponentReference` | Represents a pointer to an A2UI component with its optional data scope override. |
| `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiComponentState.Error` | Indicates that the component failed to resolve, evaluate, or render. |
| `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiComponentState.Success` | Indicates that the component successfully resolved its definition and properties, and is ready to be emitted into the composition tree. |
| `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiProperty` | A typed declaration of a property expected by an A2UI component. |
| `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/ChildListA2uiProperty` | A property representing a structural list of child components. |
| `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/DynamicA2uiProperty` | A property that supports dynamic data-binding and requires reactive evaluation. |
| `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/StaticA2uiProperty` | A static configuration or structural property that should be read synchronously. |

## Objects

|---|---|
| `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiComponentState.Loading` | Indicates that the component's definition and properties are currently loading. |

## Composables

|---|---|
| `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/ProvideActionInterceptor.composable` | Intercepts actions dispatched by descendant components within `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/package-summary#(androidx.a2ui.compose.runtime.A2uiComponentScope).ProvideActionInterceptor(kotlin.Function1,kotlin.Function0)`. |
| `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/observeA2uiComponentState.composable` | Resolves the current `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiComponentState` of the root component for an A2UI surface and subscribes for future updates. |

## Top-level functions summary

|---|---|
| `https://developer.android.com/reference/kotlin/androidx/a2ui/model/processor/A2uiMessageParser<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html>` | `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/package-summary#A2uiMessageParser()()` Creates an `https://developer.android.com/reference/kotlin/androidx/a2ui/model/processor/A2uiMessageParser` configured to parse String-based JSON payloads into `https://developer.android.com/reference/kotlin/androidx/a2ui/model/protocol/A2uiServerToClientMessage` objects. |
| `https://developer.android.com/reference/kotlin/androidx/a2ui/model/processor/A2uiMessageProcessor` | `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/package-summary#a2uiRuntimeMessageProcessor(kotlin.collections.List,kotlin.collections.List)( catalogs: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiRuntimeCatalog>, interceptors: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<https://developer.android.com/reference/kotlin/androidx/a2ui/model/processor/A2uiActionInterceptor> )` Creates a `https://developer.android.com/reference/kotlin/androidx/a2ui/model/processor/A2uiMessageProcessor` tailored for Jetpack Compose. |

## Top-level properties summary

|---|---|
| `https://developer.android.com/reference/kotlin/androidx/compose/runtime/ProvidableCompositionLocal<https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiReadinessEvaluator>` | `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/package-summary#LocalA2uiReadinessEvaluator()` Provider for `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiReadinessEvaluator`. |

## Top-level functions

### A2uiMessageParser

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/A2uiMessageParser.kt+function:A2uiMessageParser) Added in [1.0.0-alpha02](https://developer.android.com/jetpack/androidx/releases/a2ui-compose#1.0.0-alpha02)

```
fun A2uiMessageParser(): A2uiMessageParser<String>
```

Creates an `https://developer.android.com/reference/kotlin/androidx/a2ui/model/processor/A2uiMessageParser` configured to parse String-based JSON payloads into `https://developer.android.com/reference/kotlin/androidx/a2ui/model/protocol/A2uiServerToClientMessage` objects.

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/a2ui/model/processor/A2uiMessageParser<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html>` | An `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/package-summary#A2uiMessageParser()` configured for the incoming JSON payloads. |

### a2uiRuntimeMessageProcessor

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/A2uiRuntimeMessageProcessor.kt+function:a2uiRuntimeMessageProcessor)

```
fun a2uiRuntimeMessageProcessor(
    catalogs: List<A2uiRuntimeCatalog>,
    interceptors: List<A2uiActionInterceptor> = emptyList()
): A2uiMessageProcessor
```

Creates a `https://developer.android.com/reference/kotlin/androidx/a2ui/model/processor/A2uiMessageProcessor` tailored for Jetpack Compose.

This provisions the underlying core processor with a Compose-backed component registry and reactive data model that leverage the Compose Snapshot state.

| Parameters |
|---|---|
| `catalogs: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiRuntimeCatalog>` | The list of `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiRuntimeCatalog`s defining the component schemas, local functions, and theme definitions supported by the client app. Each catalog provided must also implement the underlying `https://developer.android.com/reference/kotlin/androidx/a2ui/engine/catalog/A2uiCoreCatalog` interface so that it can be ingested by the core data layer. |
| `interceptors: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<https://developer.android.com/reference/kotlin/androidx/a2ui/model/processor/A2uiActionInterceptor> = emptyList()` | An optional list of `https://developer.android.com/reference/kotlin/androidx/a2ui/model/processor/A2uiActionInterceptor` instances. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/a2ui/model/processor/A2uiMessageProcessor` | A fully initialized `https://developer.android.com/reference/kotlin/androidx/a2ui/engine/processor/A2uiCoreMessageProcessor` ready to process incoming messages. |

| Throws |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-illegal-argument-exception/index.html` | If any catalog in the `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/package-summary#a2uiRuntimeMessageProcessor(kotlin.collections.List,kotlin.collections.List)` list does not implement the `https://developer.android.com/reference/kotlin/androidx/a2ui/engine/catalog/A2uiCoreCatalog` interface. |

## Top-level properties

### LocalA2uiReadinessEvaluator

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/A2uiReadinessEvaluator.kt+symbol:LocalA2uiReadinessEvaluator) Added in [1.0.0-alpha02](https://developer.android.com/jetpack/androidx/releases/a2ui-compose#1.0.0-alpha02)

```
val LocalA2uiReadinessEvaluator: ProvidableCompositionLocal<A2uiReadinessEvaluator>
```

Provider for `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiReadinessEvaluator`.