# Microsoft.AspNetCore.Components.Routing

``` diff
 namespace Microsoft.AspNetCore.Components.Routing {
+    public sealed class LocationChangingContext {
+        public LocationChangingContext();
+        public CancellationToken CancellationToken { [CompilerGeneratedAttribute] get; [CompilerGeneratedAttribute] set; }
+        public string? HistoryEntryState { [CompilerGeneratedAttribute] get; [CompilerGeneratedAttribute] set; }
+        public bool IsNavigationIntercepted { [CompilerGeneratedAttribute] get; [CompilerGeneratedAttribute] set; }
+        public required string TargetLocation { [CompilerGeneratedAttribute] get; [CompilerGeneratedAttribute] set; }
+        public void PreventNavigation();
+    }
+    public sealed class NavigationLock : IAsyncDisposable, IComponent {
+        public NavigationLock();
+        [ParameterAttribute]
+        public bool ConfirmExternalNavigation { [CompilerGeneratedAttribute] get; [CompilerGeneratedAttribute] set; }
+        [ParameterAttribute]
+        public EventCallback<LocationChangingContext> OnBeforeInternalNavigation { [CompilerGeneratedAttribute] get; [CompilerGeneratedAttribute] set; }
+        void IComponent.Attach(RenderHandle renderHandle);
+        Task IComponent.SetParametersAsync(ParameterView parameters);
+        ValueTask IAsyncDisposable.DisposeAsync();
+    }
 }
```

