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

> **Deprecated** Deprecated in favor of navigation builder that supports AnimatedContent

<h2 id="navigation-startdestination-route-arguments-deeplinks-builder">navigation</h2>

```kotlin
public fun NavGraphBuilder.navigation(
    startDestination: String,
    route: String,
    arguments: List<NamedNavArgument> = emptyList(),
    deepLinks: List<NavDeepLink> = emptyList(),
    builder: NavGraphBuilder.() -> Unit,
)
```

Construct a nested `NavGraph`

#### Parameters

| | |
| --- | --- |
| startDestination | the starting destination's route for this NavGraph |
| route | the destination's unique route |
| arguments | list of arguments to associate with destination |
| deepLinks | list of deep links to associate with the destinations |
| builder | the builder used to construct the graph |

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

> **Deprecated** Deprecated in favor of navigation builder that supports sizeTransform

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

<h2 id="navigation-startdestination-route-arguments-deeplinks-entertransition-exittransition-popentertransition-popexittransition-builder">navigation</h2>

```kotlin
public fun NavGraphBuilder.navigation(
    startDestination: String,
    route: String,
    arguments: List<NamedNavArgument> = emptyList(),
    deepLinks: List<NavDeepLink> = emptyList(),
    enterTransition: (AnimatedContentTransitionScope<NavBackStackEntry>.() -> EnterTransition?)? =
        null,
    exitTransition: (AnimatedContentTransitionScope<NavBackStackEntry>.() -> ExitTransition?)? =
        null,
    popEnterTransition:
        (AnimatedContentTransitionScope<NavBackStackEntry>.() -> EnterTransition?)? =
        enterTransition,
    popExitTransition: (AnimatedContentTransitionScope<NavBackStackEntry>.() -> ExitTransition?)? =
        exitTransition,
    builder: NavGraphBuilder.() -> Unit,
)
```

Construct a nested `NavGraph`

#### Parameters

| | |
| --- | --- |
| startDestination | the starting destination's route for this NavGraph |
| route | the destination's unique route |
| arguments | list of arguments to associate with destination |
| deepLinks | list of deep links to associate with the destinations |
| enterTransition | callback to define enter transitions for destination in this NavGraph |
| exitTransition | callback to define exit transitions for destination in this NavGraph |
| popEnterTransition | callback to define pop enter transitions for destination in this NavGraph |
| popExitTransition | callback to define pop exit transitions for destination in this NavGraph |
| builder | the builder used to construct the graph |

#### Returns

| | |
| --- | --- |
|  | the newly constructed nested NavGraph |

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

<h2 id="navigation-startdestination-route-arguments-deeplinks-entertransition-exittransition-popentertransition-popexittransition-sizetransform-builder">navigation</h2>

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

```kotlin
public fun NavGraphBuilder.navigation(
    startDestination: String,
    route: String,
    arguments: List<NamedNavArgument> = emptyList(),
    deepLinks: List<NavDeepLink> = emptyList(),
    enterTransition:
        (@JvmSuppressWildcards
        AnimatedContentTransitionScope<NavBackStackEntry>.() -> EnterTransition?)? =
        null,
    exitTransition:
        (@JvmSuppressWildcards
        AnimatedContentTransitionScope<NavBackStackEntry>.() -> ExitTransition?)? =
        null,
    popEnterTransition:
        (@JvmSuppressWildcards
        AnimatedContentTransitionScope<NavBackStackEntry>.() -> EnterTransition?)? =
        enterTransition,
    popExitTransition:
        (@JvmSuppressWildcards
        AnimatedContentTransitionScope<NavBackStackEntry>.() -> ExitTransition?)? =
        exitTransition,
    sizeTransform:
        (@JvmSuppressWildcards
        AnimatedContentTransitionScope<NavBackStackEntry>.() -> SizeTransform?)? =
        null,
    builder: NavGraphBuilder.() -> Unit,
)
```

Construct a nested `NavGraph`

#### Parameters

| | |
| --- | --- |
| startDestination | the starting destination's route for this NavGraph |
| route | the destination's unique route |
| arguments | list of arguments to associate with destination |
| deepLinks | list of deep links to associate with the destinations |
| enterTransition | callback to define enter transitions for destination in this NavGraph |
| exitTransition | callback to define exit transitions for destination in this NavGraph |
| popEnterTransition | callback to define pop enter transitions for destination in this NavGraph |
| popExitTransition | callback to define pop exit transitions for destination in this NavGraph |
| sizeTransform | callback to define the size transform for destinations in this NavGraph |
| builder | the builder used to construct the graph |

#### Returns

| | |
| --- | --- |
|  | the newly constructed nested NavGraph |

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

<h2 id="navigation-startdestination-typemap-deeplinks">navigation</h2>

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

```kotlin
public inline fun <reified T : Any> NavGraphBuilder.navigation(
    startDestination: KClass<*>,
    typeMap: Map<KType, @JvmSuppressWildcards NavType<*>> = emptyMap(),
    deepLinks: List<NavDeepLink> = emptyList(),
    noinline enterTransition:
        (AnimatedContentTransitionScope<NavBackStackEntry>.() -> @JvmSuppressWildcards
            EnterTransition?)? =
        null,
    noinline exitTransition:
        (AnimatedContentTransitionScope<NavBackStackEntry>.() -> @JvmSuppressWildcards
            ExitTransition?)? =
        null,
    noinline popEnterTransition:
        (AnimatedContentTransitionScope<NavBackStackEntry>.() -> @JvmSuppressWildcards
            EnterTransition?)? =
        enterTransition,
    noinline popExitTransition:
        (AnimatedContentTransitionScope<NavBackStackEntry>.() -> @JvmSuppressWildcards
            ExitTransition?)? =
        exitTransition,
    noinline sizeTransform:
        (AnimatedContentTransitionScope<NavBackStackEntry>.() -> @JvmSuppressWildcards
            SizeTransform?)? =
        null,
    noinline builder: NavGraphBuilder.() -> Unit,
)
```

Construct a nested `NavGraph`

#### Parameters

| | |
| --- | --- |
| T | the destination's unique route from a KClass |
| startDestination | the starting destination's route from `KClass` for this NavGraph |
| typeMap | map of destination arguments' kotlin type `KType` to its respective custom `NavType`. May be empty if `T` does not use custom NavTypes. |
| deepLinks | list of deep links to associate with the destinations |
| enterTransition | callback to define enter transitions for destination in this NavGraph |
| exitTransition | callback to define exit transitions for destination in this NavGraph |
| popEnterTransition | callback to define pop enter transitions for destination in this NavGraph |
| popExitTransition | callback to define pop exit transitions for destination in this NavGraph |
| sizeTransform | callback to define the size transform for destinations in this NavGraph |
| builder | the builder used to construct the graph |

#### Returns

| | |
| --- | --- |
|  | the newly constructed nested NavGraph |

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

<h2 id="navigation-startdestination-route-typemap-deeplinks-entertransition-exittransition-popentertransition-popexittransition-sizetransform-builder">navigation</h2>

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

```kotlin
public fun <T : Any> NavGraphBuilder.navigation(
    startDestination: KClass<*>,
    route: KClass<T>,
    typeMap: Map<KType, @JvmSuppressWildcards NavType<*>> = emptyMap(),
    deepLinks: List<NavDeepLink> = emptyList(),
    enterTransition:
        (AnimatedContentTransitionScope<NavBackStackEntry>.() -> @JvmSuppressWildcards
            EnterTransition?)? =
        null,
    exitTransition:
        (AnimatedContentTransitionScope<NavBackStackEntry>.() -> @JvmSuppressWildcards
            ExitTransition?)? =
        null,
    popEnterTransition:
        (AnimatedContentTransitionScope<NavBackStackEntry>.() -> @JvmSuppressWildcards
            EnterTransition?)? =
        enterTransition,
    popExitTransition:
        (AnimatedContentTransitionScope<NavBackStackEntry>.() -> @JvmSuppressWildcards
            ExitTransition?)? =
        exitTransition,
    sizeTransform:
        (AnimatedContentTransitionScope<NavBackStackEntry>.() -> @JvmSuppressWildcards
            SizeTransform?)? =
        null,
    builder: NavGraphBuilder.() -> Unit,
)
```

Construct a nested `NavGraph`

#### Parameters

| | |
| --- | --- |
| route | the destination's unique route from a KClass |
| startDestination | the starting destination's route from `KClass` for this NavGraph |
| typeMap | map of destination arguments' kotlin type `KType` to its respective custom `NavType`. May be empty if `route` does not use custom NavTypes. |
| deepLinks | list of deep links to associate with the destinations |
| enterTransition | callback to define enter transitions for destination in this NavGraph |
| exitTransition | callback to define exit transitions for destination in this NavGraph |
| popEnterTransition | callback to define pop enter transitions for destination in this NavGraph |
| popExitTransition | callback to define pop exit transitions for destination in this NavGraph |
| sizeTransform | callback to define the size transform for destinations in this NavGraph |
| builder | the builder used to construct the graph |

#### Returns

| | |
| --- | --- |
|  | the newly constructed nested NavGraph |

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

<h2 id="navigation-startdestination-typemap-deeplinks-2">navigation</h2>

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

```kotlin
public inline fun <reified T : Any> NavGraphBuilder.navigation(
    startDestination: Any,
    typeMap: Map<KType, @JvmSuppressWildcards NavType<*>> = emptyMap(),
    deepLinks: List<NavDeepLink> = emptyList(),
    noinline enterTransition:
        (AnimatedContentTransitionScope<NavBackStackEntry>.() -> @JvmSuppressWildcards
            EnterTransition?)? =
        null,
    noinline exitTransition:
        (AnimatedContentTransitionScope<NavBackStackEntry>.() -> @JvmSuppressWildcards
            ExitTransition?)? =
        null,
    noinline popEnterTransition:
        (AnimatedContentTransitionScope<NavBackStackEntry>.() -> @JvmSuppressWildcards
            EnterTransition?)? =
        enterTransition,
    noinline popExitTransition:
        (AnimatedContentTransitionScope<NavBackStackEntry>.() -> @JvmSuppressWildcards
            ExitTransition?)? =
        exitTransition,
    noinline sizeTransform:
        (AnimatedContentTransitionScope<NavBackStackEntry>.() -> @JvmSuppressWildcards
            SizeTransform?)? =
        null,
    noinline builder: NavGraphBuilder.() -> Unit,
)
```

Construct a nested `NavGraph`

#### Parameters

| | |
| --- | --- |
| T | the destination's unique route from a KClass |
| startDestination | the starting destination's route from an Object for this NavGraph |
| typeMap | map of destination arguments' kotlin type `KType` to its respective custom `NavType`. May be empty if `T` does not use custom NavTypes. |
| deepLinks | list of deep links to associate with the destinations |
| enterTransition | callback to define enter transitions for destination in this NavGraph |
| exitTransition | callback to define exit transitions for destination in this NavGraph |
| popEnterTransition | callback to define pop enter transitions for destination in this NavGraph |
| popExitTransition | callback to define pop exit transitions for destination in this NavGraph |
| sizeTransform | callback to define the size transform for destinations in this NavGraph |
| builder | the builder used to construct the graph |

#### Returns

| | |
| --- | --- |
|  | the newly constructed nested NavGraph |

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

<h2 id="navigation-startdestination-route-typemap-deeplinks-entertransition-exittransition-popentertransition-popexittransition-sizetransform-builder-2">navigation</h2>

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

```kotlin
public fun <T : Any> NavGraphBuilder.navigation(
    startDestination: Any,
    route: KClass<T>,
    typeMap: Map<KType, @JvmSuppressWildcards NavType<*>> = emptyMap(),
    deepLinks: List<NavDeepLink> = emptyList(),
    enterTransition:
        (AnimatedContentTransitionScope<NavBackStackEntry>.() -> @JvmSuppressWildcards
            EnterTransition?)? =
        null,
    exitTransition:
        (AnimatedContentTransitionScope<NavBackStackEntry>.() -> @JvmSuppressWildcards
            ExitTransition?)? =
        null,
    popEnterTransition:
        (AnimatedContentTransitionScope<NavBackStackEntry>.() -> @JvmSuppressWildcards
            EnterTransition?)? =
        enterTransition,
    popExitTransition:
        (AnimatedContentTransitionScope<NavBackStackEntry>.() -> @JvmSuppressWildcards
            ExitTransition?)? =
        exitTransition,
    sizeTransform:
        (AnimatedContentTransitionScope<NavBackStackEntry>.() -> @JvmSuppressWildcards
            SizeTransform?)? =
        null,
    builder: NavGraphBuilder.() -> Unit,
)
```

Construct a nested `NavGraph`

#### Parameters

| | |
| --- | --- |
| route | the destination's unique route from a KClass |
| startDestination | the starting destination's route from an Object for this NavGraph |
| typeMap | map of destination arguments' kotlin type `KType` to its respective custom `NavType`. May be empty if `route` does not use custom NavTypes. |
| deepLinks | list of deep links to associate with the destinations |
| enterTransition | callback to define enter transitions for destination in this NavGraph |
| exitTransition | callback to define exit transitions for destination in this NavGraph |
| popEnterTransition | callback to define pop enter transitions for destination in this NavGraph |
| popExitTransition | callback to define pop exit transitions for destination in this NavGraph |
| sizeTransform | callback to define the size transform for destinations in this NavGraph |
| builder | the builder used to construct the graph |

#### Returns

| | |
| --- | --- |
|  | the newly constructed nested NavGraph |