# NavigatorProvider

Artifact: [androidx.navigation:navigation-common](https://developer.android.com/jetpack/androidx/releases/navigation) [View Source](https://cs.android.com/search?q=file:androidx/navigation/NavigatorProvider.+class:androidx.navigation.NavigatorProvider) Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/navigation#1.0.0)

*** ** * ** ***

Common/AllAndroid/JVMJavaScript
- Cmn

  ```
  open class NavigatorProvider
  ```

*** ** * ** ***

A NavigationProvider stores a set of `https://developer.android.com/reference/kotlin/androidx/navigation/Navigator`s that are valid ways to navigate to a destination.

## Summary

| ### Public constructors |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorProvider#NavigatorProvider()()` | Cmn android |

| ### Public functions |
|---|---|---|
| `https://developer.android.com/reference/kotlin/androidx/navigation/Navigator<https://developer.android.com/reference/kotlin/androidx/navigation/NavDestination>?` | `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorProvider#addNavigator(androidx.navigation.Navigator)(navigator: https://developer.android.com/reference/kotlin/androidx/navigation/Navigator<https://developer.android.com/reference/kotlin/androidx/navigation/NavDestination>)` Register a navigator using the name provided by the `https://developer.android.com/reference/kotlin/androidx/navigation/Navigator.Name`. | Cmn android |
| `open https://developer.android.com/reference/kotlin/androidx/navigation/Navigator<https://developer.android.com/reference/kotlin/androidx/navigation/NavDestination>?` | `@https://developer.android.com/reference/kotlin/androidx/annotation/CallSuper https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorProvider#addNavigator(kotlin.String,androidx.navigation.Navigator)(name: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html, navigator: https://developer.android.com/reference/kotlin/androidx/navigation/Navigator<https://developer.android.com/reference/kotlin/androidx/navigation/NavDestination>)` Register a navigator by name. | Cmn android |
| `open T` | `<T : https://developer.android.com/reference/kotlin/androidx/navigation/Navigator<*>> https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorProvider#getNavigator(kotlin.String)(name: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html)` Retrieves a registered `https://developer.android.com/reference/kotlin/androidx/navigation/Navigator` by name. | Cmn android |
| `T` | `@https://developer.android.com/reference/kotlin/androidx/annotation/CallSuper <T : https://developer.android.com/reference/kotlin/androidx/navigation/Navigator<*>> https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorProvider#getNavigator(java.lang.Class)(navigatorClass: https://developer.android.com/reference/java/lang/Class.html<T>)` Retrieves a registered `https://developer.android.com/reference/kotlin/androidx/navigation/Navigator` using the name provided by the `https://developer.android.com/reference/kotlin/androidx/navigation/Navigator.Name`. | android |
| `T` | `<T : https://developer.android.com/reference/kotlin/androidx/navigation/Navigator<*>> https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorProvider#getNavigator(kotlin.reflect.KClass)(navigatorClass: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-class/index.html<T>)` Retrieves a registered `https://developer.android.com/reference/kotlin/androidx/navigation/Navigator` using class. | Cmn |

| ### Extension functions |
|---|---|---|
| `inline https://developer.android.com/reference/kotlin/androidx/navigation/NavGraph` | `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorProvider.[navigation](https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorProvider#(androidx.navigation.NavigatorProvider).navigation(kotlin.Int,kotlin.Int,kotlin.Function1))( id: @https://developer.android.com/reference/kotlin/androidx/annotation/IdRes https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, startDestination: @https://developer.android.com/reference/kotlin/androidx/annotation/IdRes https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, builder: https://developer.android.com/reference/kotlin/androidx/navigation/dynamicfeatures/DynamicNavGraphBuilder.() -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html )` **This function is deprecated.** Use routes to create your DynamicNavGraph instead | android |
| `inline https://developer.android.com/reference/kotlin/androidx/navigation/NavGraph` | `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorProvider.https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorProvider#(androidx.navigation.NavigatorProvider).navigation(kotlin.String,kotlin.String,kotlin.Function1)( startDestination: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html, route: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html?, builder: https://developer.android.com/reference/kotlin/androidx/navigation/dynamicfeatures/DynamicNavGraphBuilder.() -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html )` Construct a new `https://developer.android.com/reference/kotlin/androidx/navigation/dynamicfeatures/DynamicGraphNavigator.DynamicNavGraph` | android |
| `inline https://developer.android.com/reference/kotlin/androidx/navigation/NavGraph` | `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorProvider.https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorProvider#(androidx.navigation.NavigatorProvider).navigation(kotlin.Any,kotlin.reflect.KClass,kotlin.collections.Map,kotlin.Function1)( startDestination: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html, route: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-class/index.html<*>?, typeMap: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-map/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-type/index.html, https://developer.android.com/reference/kotlin/androidx/navigation/NavType<*>>, builder: https://developer.android.com/reference/kotlin/androidx/navigation/dynamicfeatures/DynamicNavGraphBuilder.() -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html )` Construct a new `https://developer.android.com/reference/kotlin/androidx/navigation/dynamicfeatures/DynamicGraphNavigator.DynamicNavGraph` | android |
| `inline https://developer.android.com/reference/kotlin/androidx/navigation/NavGraph` | `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorProvider.https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorProvider#(androidx.navigation.NavigatorProvider).navigation(kotlin.reflect.KClass,kotlin.reflect.KClass,kotlin.collections.Map,kotlin.Function1)( startDestination: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-class/index.html<*>, route: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-class/index.html<*>?, typeMap: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-map/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-type/index.html, https://developer.android.com/reference/kotlin/androidx/navigation/NavType<*>>, builder: https://developer.android.com/reference/kotlin/androidx/navigation/dynamicfeatures/DynamicNavGraphBuilder.() -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html )` Construct a new `https://developer.android.com/reference/kotlin/androidx/navigation/dynamicfeatures/DynamicGraphNavigator.DynamicNavGraph` | android |
| `inline https://developer.android.com/reference/kotlin/androidx/navigation/NavGraph` | `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorProvider.[navigation](https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorProvider#(androidx.navigation.NavigatorProvider).navigation(kotlin.Int,kotlin.Int,kotlin.Function1))( id: @https://developer.android.com/reference/kotlin/androidx/annotation/IdRes https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, startDestination: @https://developer.android.com/reference/kotlin/androidx/annotation/IdRes https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, builder: https://developer.android.com/reference/kotlin/androidx/navigation/NavGraphBuilder.() -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html )` **This function is deprecated.** Use routes to build your NavGraph instead | android |
| `inline https://developer.android.com/reference/kotlin/androidx/navigation/NavGraph` | `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorProvider.https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorProvider#(androidx.navigation.NavigatorProvider).navigation(kotlin.String,kotlin.String,kotlin.Function1)( startDestination: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html, route: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html?, builder: https://developer.android.com/reference/kotlin/androidx/navigation/NavGraphBuilder.() -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html )` Construct a new `https://developer.android.com/reference/kotlin/androidx/navigation/NavGraph` | Cmn |
| `inline https://developer.android.com/reference/kotlin/androidx/navigation/NavGraph` | `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorProvider.https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorProvider#(androidx.navigation.NavigatorProvider).navigation(kotlin.Any,kotlin.reflect.KClass,kotlin.collections.Map,kotlin.Function1)( startDestination: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html, route: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-class/index.html<*>?, typeMap: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-map/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-type/index.html, https://developer.android.com/reference/kotlin/androidx/navigation/NavType<*>>, builder: https://developer.android.com/reference/kotlin/androidx/navigation/NavGraphBuilder.() -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html )` Construct a new `https://developer.android.com/reference/kotlin/androidx/navigation/NavGraph` | Cmn |
| `inline https://developer.android.com/reference/kotlin/androidx/navigation/NavGraph` | `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorProvider.https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorProvider#(androidx.navigation.NavigatorProvider).navigation(kotlin.reflect.KClass,kotlin.reflect.KClass,kotlin.collections.Map,kotlin.Function1)( startDestination: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-class/index.html<*>, route: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-class/index.html<*>?, typeMap: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-map/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-type/index.html, https://developer.android.com/reference/kotlin/androidx/navigation/NavType<*>>, builder: https://developer.android.com/reference/kotlin/androidx/navigation/NavGraphBuilder.() -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html )` Construct a new `https://developer.android.com/reference/kotlin/androidx/navigation/NavGraph` | Cmn |
| `inline operator T` | `<T : https://developer.android.com/reference/kotlin/androidx/navigation/Navigator<https://developer.android.com/reference/kotlin/androidx/navigation/NavDestination>> https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorProvider.https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorProvider#(androidx.navigation.NavigatorProvider).get(kotlin.reflect.KClass)(clazz: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-class/index.html<T>)` Retrieves a registered `https://developer.android.com/reference/kotlin/androidx/navigation/Navigator` using the name provided by the `https://developer.android.com/reference/kotlin/androidx/navigation/Navigator.Name`. | Cmn android |
| `inline operator T` | `<T : https://developer.android.com/reference/kotlin/androidx/navigation/Navigator<https://developer.android.com/reference/kotlin/androidx/navigation/NavDestination>> https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorProvider.https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorProvider#(androidx.navigation.NavigatorProvider).get(kotlin.String)(name: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html)` Retrieves a registered `https://developer.android.com/reference/kotlin/androidx/navigation/Navigator` by name. | Cmn |
| `inline operator https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorProvider.https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorProvider#(androidx.navigation.NavigatorProvider).plusAssign(androidx.navigation.Navigator)(navigator: https://developer.android.com/reference/kotlin/androidx/navigation/Navigator<https://developer.android.com/reference/kotlin/androidx/navigation/NavDestination>)` Register a navigator using the name provided by the `https://developer.android.com/reference/kotlin/androidx/navigation/Navigator.Name`. | Cmn |
| `inline operator https://developer.android.com/reference/kotlin/androidx/navigation/Navigator<https://developer.android.com/reference/kotlin/androidx/navigation/NavDestination>?` | `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorProvider.https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorProvider#(androidx.navigation.NavigatorProvider).set(kotlin.String,androidx.navigation.Navigator)( name: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html, navigator: https://developer.android.com/reference/kotlin/androidx/navigation/Navigator<https://developer.android.com/reference/kotlin/androidx/navigation/NavDestination> )` Register a `https://developer.android.com/reference/kotlin/androidx/navigation/Navigator` by name. | Cmn |

## Public constructors

### NavigatorProvider

Cmn android Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/navigation#1.0.0)

```
NavigatorProvider()
```

## Public functions

### addNavigator

Cmn android Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/navigation#1.0.0)

```
fun addNavigator(navigator: Navigator<NavDestination>): Navigator<NavDestination>?
```

Register a navigator using the name provided by the `https://developer.android.com/reference/kotlin/androidx/navigation/Navigator.Name`. `https://developer.android.com/reference/kotlin/androidx/navigation/NavDestination` may refer to any registered navigator by name for inflation. If a navigator by this name is already registered, this new navigator will replace it.

| Parameters |
|---|---|
| `navigator: https://developer.android.com/reference/kotlin/androidx/navigation/Navigator<https://developer.android.com/reference/kotlin/androidx/navigation/NavDestination>` | navigator to add |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/navigation/Navigator<https://developer.android.com/reference/kotlin/androidx/navigation/NavDestination>?` | the previously added Navigator for the name provided by the `https://developer.android.com/reference/kotlin/androidx/navigation/Navigator.Name`, if any |

### addNavigator

Cmn android Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/navigation#1.0.0)

```
@CallSuper
open fun addNavigator(name: String, navigator: Navigator<NavDestination>): Navigator<NavDestination>?
```

Register a navigator by name. `https://developer.android.com/reference/kotlin/androidx/navigation/NavDestination` may refer to any registered navigator by name for inflation. If a navigator by this name is already registered, this new navigator will replace it.

| Parameters |
|---|---|
| `name: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` | name for this navigator |
| `navigator: https://developer.android.com/reference/kotlin/androidx/navigation/Navigator<https://developer.android.com/reference/kotlin/androidx/navigation/NavDestination>` | navigator to add |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/navigation/Navigator<https://developer.android.com/reference/kotlin/androidx/navigation/NavDestination>?` | the previously added Navigator for the given name, if any |

### getNavigator

Cmn android Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/navigation#1.0.0)

```
open fun <T : Navigator<*>> getNavigator(name: String): T
```

Retrieves a registered `https://developer.android.com/reference/kotlin/androidx/navigation/Navigator` by name.

| Parameters |
|---|---|
| `name: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` | name of the navigator to return |

| Returns |
|---|---|
| `T` | the registered navigator with the given name |

| Throws |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-illegal-state-exception/index.html` | if the Navigator has not been added |

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorProvider#addNavigator(androidx.navigation.Navigator)` |   |

### getNavigator

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

```
@CallSuper
fun <T : Navigator<*>> getNavigator(navigatorClass: Class<T>): T
```

Retrieves a registered `https://developer.android.com/reference/kotlin/androidx/navigation/Navigator` using the name provided by the `https://developer.android.com/reference/kotlin/androidx/navigation/Navigator.Name`.

| Parameters |
|---|---|
| `navigatorClass: https://developer.android.com/reference/java/lang/Class.html<T>` | class of the navigator to return |

| Returns |
|---|---|
| `T` | the registered navigator with the given `https://developer.android.com/reference/kotlin/androidx/navigation/Navigator.Name` |

| Throws |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-illegal-argument-exception/index.html` | if the Navigator does not have a `https://developer.android.com/reference/kotlin/androidx/navigation/Navigator.Name` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-illegal-state-exception/index.html` | if the Navigator has not been added |

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorProvider#addNavigator(androidx.navigation.Navigator)` |   |

### getNavigator

Cmn

```
fun <T : Navigator<*>> getNavigator(navigatorClass: KClass<T>): T
```

Retrieves a registered `https://developer.android.com/reference/kotlin/androidx/navigation/Navigator` using class.

| Parameters |
|---|---|
| `navigatorClass: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-class/index.html<T>` | class of the navigator to return |

| Returns |
|---|---|
| `T` | the registered navigator with the given `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-class/index.html` |

| Throws |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-illegal-state-exception/index.html` | if the Navigator has not been added |

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorProvider#addNavigator(androidx.navigation.Navigator)` |   |

## Extension functions

### NavigatorProvider.navigation

android Artifact: [androidx.navigation:navigation-dynamic-features-runtime](https://developer.android.com/jetpack/androidx/releases/navigation) [View Source](https://cs.android.com/search?q=file:androidx/navigation/dynamicfeatures/DynamicNavGraphBuilder.kt+function:navigation)

```
inline fun NavigatorProvider.[navigation](https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorProvider#(androidx.navigation.NavigatorProvider).navigation(kotlin.Int,kotlin.Int,kotlin.Function1))(
    id: @IdRes Int = 0,
    startDestination: @IdRes Int,
    builder: DynamicNavGraphBuilder.() -> Unit
): NavGraph
```

> [!CAUTION]
> **This function is deprecated.**   
> Use routes to create your DynamicNavGraph instead, use this instead:
>
> ```kotlin
> navigation(startDestination = startDestination.toString(), route = id.toString()) { builder.invoke() }
> ```

Construct a new `https://developer.android.com/reference/kotlin/androidx/navigation/dynamicfeatures/DynamicGraphNavigator.DynamicNavGraph`

| Parameters |
|---|---|
| `id: @https://developer.android.com/reference/kotlin/androidx/annotation/IdRes https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html = 0` | NavGraph id. |
| `startDestination: @https://developer.android.com/reference/kotlin/androidx/annotation/IdRes https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | Id start destination in the graph |
| `builder: https://developer.android.com/reference/kotlin/androidx/navigation/dynamicfeatures/DynamicNavGraphBuilder.() -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | Another builder for chaining. |

### NavigatorProvider.navigation

android Artifact: [androidx.navigation:navigation-dynamic-features-runtime](https://developer.android.com/jetpack/androidx/releases/navigation) [View Source](https://cs.android.com/search?q=file:androidx/navigation/dynamicfeatures/DynamicNavGraphBuilder.kt+function:navigation)

```
inline fun NavigatorProvider.navigation(
    startDestination: String,
    route: String? = null,
    builder: DynamicNavGraphBuilder.() -> Unit
): NavGraph
```

Construct a new `https://developer.android.com/reference/kotlin/androidx/navigation/dynamicfeatures/DynamicGraphNavigator.DynamicNavGraph`

| Parameters |
|---|---|
| `startDestination: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` | route start destination in the graph |
| `route: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html? = null` | NavGraph route. |
| `builder: https://developer.android.com/reference/kotlin/androidx/navigation/dynamicfeatures/DynamicNavGraphBuilder.() -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | Another builder for chaining. |

### NavigatorProvider.navigation

android Artifact: [androidx.navigation:navigation-dynamic-features-runtime](https://developer.android.com/jetpack/androidx/releases/navigation) [View Source](https://cs.android.com/search?q=file:androidx/navigation/dynamicfeatures/DynamicNavGraphBuilder.kt+function:navigation)

```
inline fun NavigatorProvider.navigation(
    startDestination: Any,
    route: KClass<*>? = null,
    typeMap: Map<KType, NavType<*>> = emptyMap(),
    builder: DynamicNavGraphBuilder.() -> Unit
): NavGraph
```

Construct a new `https://developer.android.com/reference/kotlin/androidx/navigation/dynamicfeatures/DynamicGraphNavigator.DynamicNavGraph`

| Parameters |
|---|---|
| `startDestination: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html` | the starting destination's route from an Object for this NavGraph. The respective NavDestination must be added with route from a `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-class/index.html` in order to match. |
| `route: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-class/index.html<*>? = null` | the graph's unique route as a `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-class/index.html` |
| `typeMap: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-map/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-type/index.html, https://developer.android.com/reference/kotlin/androidx/navigation/NavType<*>> = emptyMap()` | A mapping of KType to custom NavType\<\*\> in the `https://developer.android.com/reference/kotlin/androidx/navigation/dynamicfeatures/package-summary#(androidx.navigation.NavigatorProvider).navigation(kotlin.Any,kotlin.reflect.KClass,kotlin.collections.Map,kotlin.Function1)`. May be empty if `https://developer.android.com/reference/kotlin/androidx/navigation/dynamicfeatures/package-summary#(androidx.navigation.NavigatorProvider).navigation(kotlin.Any,kotlin.reflect.KClass,kotlin.collections.Map,kotlin.Function1)` does not use custom NavTypes. |
| `builder: https://developer.android.com/reference/kotlin/androidx/navigation/dynamicfeatures/DynamicNavGraphBuilder.() -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | Another builder for chaining. |

### NavigatorProvider.navigation

android Artifact: [androidx.navigation:navigation-dynamic-features-runtime](https://developer.android.com/jetpack/androidx/releases/navigation) [View Source](https://cs.android.com/search?q=file:androidx/navigation/dynamicfeatures/DynamicNavGraphBuilder.kt+function:navigation)

```
inline fun NavigatorProvider.navigation(
    startDestination: KClass<*>,
    route: KClass<*>? = null,
    typeMap: Map<KType, NavType<*>> = emptyMap(),
    builder: DynamicNavGraphBuilder.() -> Unit
): NavGraph
```

Construct a new `https://developer.android.com/reference/kotlin/androidx/navigation/dynamicfeatures/DynamicGraphNavigator.DynamicNavGraph`

| Parameters |
|---|---|
| `startDestination: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-class/index.html<*>` | the starting destination's route from a `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-class/index.html` for this NavGraph. The respective NavDestination must be added with route from a `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-class/index.html` in order to match. |
| `route: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-class/index.html<*>? = null` | the graph's unique route as a `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-class/index.html` |
| `typeMap: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-map/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-type/index.html, https://developer.android.com/reference/kotlin/androidx/navigation/NavType<*>> = emptyMap()` | A mapping of KType to custom NavType\<\*\> in the `https://developer.android.com/reference/kotlin/androidx/navigation/dynamicfeatures/package-summary#(androidx.navigation.NavigatorProvider).navigation(kotlin.reflect.KClass,kotlin.reflect.KClass,kotlin.collections.Map,kotlin.Function1)`. May be empty if `https://developer.android.com/reference/kotlin/androidx/navigation/dynamicfeatures/package-summary#(androidx.navigation.NavigatorProvider).navigation(kotlin.reflect.KClass,kotlin.reflect.KClass,kotlin.collections.Map,kotlin.Function1)` does not use custom NavTypes. |
| `builder: https://developer.android.com/reference/kotlin/androidx/navigation/dynamicfeatures/DynamicNavGraphBuilder.() -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | Another builder for chaining. |

### NavigatorProvider.navigation

android Artifact: [androidx.navigation:navigation-common](https://developer.android.com/jetpack/androidx/releases/navigation) [View Source](https://cs.android.com/search?q=file:androidx/navigation/NavGraphBuilder.android.kt+function:navigation)

```
inline fun NavigatorProvider.[navigation](https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorProvider#(androidx.navigation.NavigatorProvider).navigation(kotlin.Int,kotlin.Int,kotlin.Function1))(
    id: @IdRes Int = 0,
    startDestination: @IdRes Int,
    builder: NavGraphBuilder.() -> Unit
): NavGraph
```

> [!CAUTION]
> **This function is deprecated.**   
> Use routes to build your NavGraph instead, use this instead:
>
> ```kotlin
> navigation(startDestination = startDestination.toString(), route = id.toString()) { builder.invoke() }
> ```

Construct a new `https://developer.android.com/reference/kotlin/androidx/navigation/NavGraph`

| Parameters |
|---|---|
| `id: @https://developer.android.com/reference/kotlin/androidx/annotation/IdRes https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html = 0` | the destination's unique id |
| `startDestination: @https://developer.android.com/reference/kotlin/androidx/annotation/IdRes https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | the starting destination for this NavGraph |
| `builder: https://developer.android.com/reference/kotlin/androidx/navigation/NavGraphBuilder.() -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | the builder used to construct the graph |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/navigation/NavGraph` | the newly constructed NavGraph |

### NavigatorProvider.navigation

Cmn Artifact: [androidx.navigation:navigation-common](https://developer.android.com/jetpack/androidx/releases/navigation) [View Source](https://cs.android.com/search?q=file:androidx/navigation/NavGraphBuilder.kt+function:navigation)

```
inline fun NavigatorProvider.navigation(
    startDestination: String,
    route: String? = null,
    builder: NavGraphBuilder.() -> Unit
): NavGraph
```

Construct a new `https://developer.android.com/reference/kotlin/androidx/navigation/NavGraph`

| Parameters |
|---|---|
| `startDestination: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` | the starting destination's route for this NavGraph |
| `route: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html? = null` | the destination's unique route |
| `builder: https://developer.android.com/reference/kotlin/androidx/navigation/NavGraphBuilder.() -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | the builder used to construct the graph |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/navigation/NavGraph` | the newly constructed NavGraph |

### NavigatorProvider.navigation

Cmn Artifact: [androidx.navigation:navigation-common](https://developer.android.com/jetpack/androidx/releases/navigation) [View Source](https://cs.android.com/search?q=file:androidx/navigation/NavGraphBuilder.kt+function:navigation)

```
inline fun NavigatorProvider.navigation(
    startDestination: Any,
    route: KClass<*>? = null,
    typeMap: Map<KType, NavType<*>> = emptyMap(),
    builder: NavGraphBuilder.() -> Unit
): NavGraph
```

Construct a new `https://developer.android.com/reference/kotlin/androidx/navigation/NavGraph`

| Parameters |
|---|---|
| `startDestination: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html` | the starting destination's route from an Object for this NavGraph. The respective NavDestination must be added with route from a `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-class/index.html` in order to match. |
| `route: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-class/index.html<*>? = null` | the graph's unique route as a `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-class/index.html` |
| `typeMap: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-map/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-type/index.html, https://developer.android.com/reference/kotlin/androidx/navigation/NavType<*>> = emptyMap()` | A mapping of KType to custom NavType\<\*\> in the `https://developer.android.com/reference/kotlin/androidx/navigation/package-summary#(androidx.navigation.NavigatorProvider).navigation(kotlin.Any,kotlin.reflect.KClass,kotlin.collections.Map,kotlin.Function1)`. May be empty if `https://developer.android.com/reference/kotlin/androidx/navigation/package-summary#(androidx.navigation.NavigatorProvider).navigation(kotlin.Any,kotlin.reflect.KClass,kotlin.collections.Map,kotlin.Function1)` does not use custom NavTypes. |
| `builder: https://developer.android.com/reference/kotlin/androidx/navigation/NavGraphBuilder.() -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | the builder used to construct the graph |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/navigation/NavGraph` | the newly constructed NavGraph |

### NavigatorProvider.navigation

Cmn Artifact: [androidx.navigation:navigation-common](https://developer.android.com/jetpack/androidx/releases/navigation) [View Source](https://cs.android.com/search?q=file:androidx/navigation/NavGraphBuilder.kt+function:navigation)

```
inline fun NavigatorProvider.navigation(
    startDestination: KClass<*>,
    route: KClass<*>? = null,
    typeMap: Map<KType, NavType<*>> = emptyMap(),
    builder: NavGraphBuilder.() -> Unit
): NavGraph
```

Construct a new `https://developer.android.com/reference/kotlin/androidx/navigation/NavGraph`

| Parameters |
|---|---|
| `startDestination: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-class/index.html<*>` | the starting destination's route from a `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-class/index.html` for this NavGraph. The respective NavDestination must be added with route from a `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-class/index.html` in order to match. |
| `route: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-class/index.html<*>? = null` | the graph's unique route as a `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-class/index.html` |
| `typeMap: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-map/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-type/index.html, https://developer.android.com/reference/kotlin/androidx/navigation/NavType<*>> = emptyMap()` | A mapping of KType to custom NavType\<\*\> in the `https://developer.android.com/reference/kotlin/androidx/navigation/package-summary#(androidx.navigation.NavigatorProvider).navigation(kotlin.reflect.KClass,kotlin.reflect.KClass,kotlin.collections.Map,kotlin.Function1)`. May be empty if `https://developer.android.com/reference/kotlin/androidx/navigation/package-summary#(androidx.navigation.NavigatorProvider).navigation(kotlin.reflect.KClass,kotlin.reflect.KClass,kotlin.collections.Map,kotlin.Function1)` does not use custom NavTypes. |
| `builder: https://developer.android.com/reference/kotlin/androidx/navigation/NavGraphBuilder.() -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | the builder used to construct the graph |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/navigation/NavGraph` | the newly constructed NavGraph |

### NavigatorProvider.get

Cmn android Artifact: [androidx.navigation:navigation-common](https://developer.android.com/jetpack/androidx/releases/navigation) [View Source](https://cs.android.com/search?q=file:androidx/navigation/NavigatorProvider.+function:get)

```
inline operator fun <T : Navigator<NavDestination>> NavigatorProvider.get(clazz: KClass<T>): T
```

Retrieves a registered `https://developer.android.com/reference/kotlin/androidx/navigation/Navigator` using the name provided by the `https://developer.android.com/reference/kotlin/androidx/navigation/Navigator.Name`.

| Throws |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-illegal-state-exception/index.html` | if the Navigator has not been added |

### NavigatorProvider.get

Cmn Artifact: [androidx.navigation:navigation-common](https://developer.android.com/jetpack/androidx/releases/navigation) [View Source](https://cs.android.com/search?q=file:androidx/navigation/NavigatorProvider.kt+function:get)

```
inline operator fun <T : Navigator<NavDestination>> NavigatorProvider.get(name: String): T
```

Retrieves a registered `https://developer.android.com/reference/kotlin/androidx/navigation/Navigator` by name.

| Throws |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-illegal-state-exception/index.html` | if the Navigator has not been added |

### NavigatorProvider.plusAssign

Cmn Artifact: [androidx.navigation:navigation-common](https://developer.android.com/jetpack/androidx/releases/navigation) [View Source](https://cs.android.com/search?q=file:androidx/navigation/NavigatorProvider.kt+function:plusAssign)

```
inline operator fun NavigatorProvider.plusAssign(navigator: Navigator<NavDestination>): Unit
```

Register a navigator using the name provided by the `https://developer.android.com/reference/kotlin/androidx/navigation/Navigator.Name`.

### NavigatorProvider.set

Cmn Artifact: [androidx.navigation:navigation-common](https://developer.android.com/jetpack/androidx/releases/navigation) [View Source](https://cs.android.com/search?q=file:androidx/navigation/NavigatorProvider.kt+function:set)

```
inline operator fun NavigatorProvider.set(
    name: String,
    navigator: Navigator<NavDestination>
): Navigator<NavDestination>?
```

Register a `https://developer.android.com/reference/kotlin/androidx/navigation/Navigator` by name. If a navigator by this name is already registered, this new navigator will replace it.

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/navigation/Navigator<https://developer.android.com/reference/kotlin/androidx/navigation/NavDestination>?` | the previously added `https://developer.android.com/reference/kotlin/androidx/navigation/Navigator` for the given name, if any |