# Microsoft.Extensions.Diagnostics.HealthChecks

``` diff
 {
     namespace Microsoft.Extensions.DependencyInjection {
         public static class HealthChecksBuilderAddCheckExtensions {
-            public static IHealthChecksBuilder AddCheck(this IHealthChecksBuilder builder, string name, IHealthCheck instance, HealthStatus? failureStatus = default(HealthStatus?), IEnumerable<string> tags = null);
+            public static IHealthChecksBuilder AddCheck(this IHealthChecksBuilder builder, string name, IHealthCheck instance, HealthStatus? failureStatus, IEnumerable<string> tags);
+            public static IHealthChecksBuilder AddCheck(this IHealthChecksBuilder builder, string name, IHealthCheck instance, HealthStatus? failureStatus = default(HealthStatus?), IEnumerable<string> tags = null, TimeSpan? timeout = default(TimeSpan?));
-            public static IHealthChecksBuilder AddCheck<T>(this IHealthChecksBuilder builder, string name, HealthStatus? failureStatus = default(HealthStatus?), IEnumerable<string> tags = null) where T : class, IHealthCheck;
+            public static IHealthChecksBuilder AddCheck<T>(this IHealthChecksBuilder builder, string name, HealthStatus? failureStatus, IEnumerable<string> tags) where T : class, IHealthCheck;
+            public static IHealthChecksBuilder AddCheck<T>(this IHealthChecksBuilder builder, string name, HealthStatus? failureStatus = default(HealthStatus?), IEnumerable<string> tags = null, TimeSpan? timeout = default(TimeSpan?)) where T : class, IHealthCheck;
+            public static IHealthChecksBuilder AddTypeActivatedCheck<T>(this IHealthChecksBuilder builder, string name, HealthStatus? failureStatus, IEnumerable<string> tags, TimeSpan timeout, params object[] args) where T : class, IHealthCheck;
         }
         public static class HealthChecksBuilderDelegateExtensions {
-            public static IHealthChecksBuilder AddAsyncCheck(this IHealthChecksBuilder builder, string name, Func<CancellationToken, Task<HealthCheckResult>> check, IEnumerable<string> tags = null);
+            public static IHealthChecksBuilder AddAsyncCheck(this IHealthChecksBuilder builder, string name, Func<CancellationToken, Task<HealthCheckResult>> check, IEnumerable<string> tags);
+            public static IHealthChecksBuilder AddAsyncCheck(this IHealthChecksBuilder builder, string name, Func<CancellationToken, Task<HealthCheckResult>> check, IEnumerable<string> tags = null, TimeSpan? timeout = default(TimeSpan?));
-            public static IHealthChecksBuilder AddAsyncCheck(this IHealthChecksBuilder builder, string name, Func<Task<HealthCheckResult>> check, IEnumerable<string> tags = null);
+            public static IHealthChecksBuilder AddAsyncCheck(this IHealthChecksBuilder builder, string name, Func<Task<HealthCheckResult>> check, IEnumerable<string> tags);
+            public static IHealthChecksBuilder AddAsyncCheck(this IHealthChecksBuilder builder, string name, Func<Task<HealthCheckResult>> check, IEnumerable<string> tags = null, TimeSpan? timeout = default(TimeSpan?));
-            public static IHealthChecksBuilder AddCheck(this IHealthChecksBuilder builder, string name, Func<HealthCheckResult> check, IEnumerable<string> tags = null);
+            public static IHealthChecksBuilder AddCheck(this IHealthChecksBuilder builder, string name, Func<HealthCheckResult> check, IEnumerable<string> tags);
+            public static IHealthChecksBuilder AddCheck(this IHealthChecksBuilder builder, string name, Func<HealthCheckResult> check, IEnumerable<string> tags = null, TimeSpan? timeout = default(TimeSpan?));
-            public static IHealthChecksBuilder AddCheck(this IHealthChecksBuilder builder, string name, Func<CancellationToken, HealthCheckResult> check, IEnumerable<string> tags = null);
+            public static IHealthChecksBuilder AddCheck(this IHealthChecksBuilder builder, string name, Func<CancellationToken, HealthCheckResult> check, IEnumerable<string> tags);
+            public static IHealthChecksBuilder AddCheck(this IHealthChecksBuilder builder, string name, Func<CancellationToken, HealthCheckResult> check, IEnumerable<string> tags = null, TimeSpan? timeout = default(TimeSpan?));
         }
     }
 }
```

