# Microsoft.AspNetCore.Components.Endpoints

``` diff
 namespace Microsoft.AspNetCore.Components.Endpoints {
+    public class ComponentTypeMetadata {
+        public ComponentTypeMetadata(Type componentType);
+        public Type Type { get; }
+    }
     public interface IComponentPrerenderer {
+        ValueTask<IHtmlAsyncContent> PrerenderComponentAsync(HttpContext httpContext, Type componentType, IComponentRenderMode renderMode, ParameterView parameters);
-        ValueTask<IHtmlAsyncContent> PrerenderComponentAsync(HttpContext httpContext, Type componentType, RenderMode renderMode, ParameterView parameters);
     }
+    public class RazorComponentDataSourceOptions {
+        public RazorComponentDataSourceOptions();
+        public bool UseDeclaredRenderModes { get; set; }
+    }
     public class RazorComponentResult : IResult {
-        public RenderMode RenderMode { get; set; }
     }
+    public abstract class RenderModeEndpointProvider {
+        protected RenderModeEndpointProvider();
+        public abstract IEnumerable<RouteEndpointBuilder> GetEndpointBuilders(IComponentRenderMode renderMode, IApplicationBuilder applicationBuilder);
+        public abstract bool Supports(IComponentRenderMode renderMode);
+    }
+    public class RootComponentMetadata {
+        public RootComponentMetadata(Type rootComponentType);
+        public Type Type { get; }
+    }
 }
```

