# Microsoft.AspNetCore.Routing.Patterns

``` diff
 namespace Microsoft.AspNetCore.Routing.Patterns {
     public static class RoutePatternFactory {
+        public static RoutePattern Parse(string pattern, RouteValueDictionary? defaults, RouteValueDictionary? parameterPolicies);
+        public static RoutePattern Parse(string pattern, RouteValueDictionary? defaults, RouteValueDictionary? parameterPolicies, RouteValueDictionary? requiredValues);
+        public static RoutePattern Pattern(RouteValueDictionary? defaults, RouteValueDictionary? parameterPolicies, params RoutePatternPathSegment[] segments);
+        public static RoutePattern Pattern(RouteValueDictionary? defaults, RouteValueDictionary? parameterPolicies, IEnumerable<RoutePatternPathSegment> segments);
+        public static RoutePattern Pattern(string? rawText, RouteValueDictionary? defaults, RouteValueDictionary? parameterPolicies, params RoutePatternPathSegment[] segments);
+        public static RoutePattern Pattern(string? rawText, RouteValueDictionary? defaults, RouteValueDictionary? parameterPolicies, IEnumerable<RoutePatternPathSegment> segments);
     }
     public abstract class RoutePatternTransformer {
+        public virtual RoutePattern? SubstituteRequiredValues(RoutePattern original, RouteValueDictionary requiredValues);
     }
 }
```

