<div class='sourceset sourceset-common'>Common</div>

```kotlin
@Navigator.Name("composable")
public class ComposeNavigator constructor() : Navigator<Destination>(NAME)
```

Navigator that navigates through [Composable](/jetpack-compose/androidx.navigation/navigation-compose/functions/composable)s. Every destination using this Navigator must set a
valid [Composable](/jetpack-compose/androidx.navigation/navigation-compose/functions/composable) by setting it directly on an instantiated [Destination](/jetpack-compose/androidx.navigation/navigation-compose/classes/ComposeNavigator.Destination) or calling
[composable](/jetpack-compose/androidx.navigation/navigation-compose/functions/composable).

## Functions

<h2 id="preparefortransition-entry">prepareForTransition</h2>

```kotlin
public fun prepareForTransition(entry: NavBackStackEntry)
```

Function to prepare the entry for transition.

This should be called when the entry needs to move the [androidx.lifecycle.Lifecycle.State](/jetpack-compose/androidx.compose.runtime/runtime/interfaces/State)
in preparation for a transition such as when using predictive back.

<hr class="docs-overload-divider">

<h2 id="ontransitioncomplete-entry">onTransitionComplete</h2>

```kotlin
public fun onTransitionComplete(entry: NavBackStackEntry)
```

Callback to mark a navigation in transition as complete.

This should be called in conjunction with `navigate` and `popBackStack` as those calls merely
start a transition to the target destination, and requires manually marking the transition as
complete by calling this method.

Failing to call this method could result in entries being prevented from reaching their final
[androidx.lifecycle.Lifecycle.State](/jetpack-compose/androidx.compose.runtime/runtime/interfaces/State).

## Companion Object