diff --git a/doc/api/deprecations.md b/doc/api/deprecations.md
index 20ef6ad7169d64..4e68e2e46157c8 100644
--- a/doc/api/deprecations.md
+++ b/doc/api/deprecations.md
@@ -2267,6 +2267,38 @@ undocumented `COUNTER_NET_SERVER_CONNECTION()`,
`COUNTER_HTTP_CLIENT_RESPONSE()` functions have been deprecated.
+
+### DEP0126: timers.active()
+
+
+Type: Runtime
+
+The previously undocumented `timers.active()` is deprecated.
+Please use the publicly documented [`timeout.refresh()`][] instead.
+If re-referencing the timeout is necessary, [`timeout.ref()`][] can be used
+with no performance impact since Node.js 10.
+
+
+### DEP0127: timers._unrefActive()
+
+
+Type: Runtime
+
+The previously undocumented and "private" `timers._unrefActive()` is deprecated.
+Please use the publicly documented [`timeout.refresh()`][] instead.
+If unreferencing the timeout is necessary, [`timeout.unref()`][] can be used
+with no performance impact since Node.js 10.
+
[`--pending-deprecation`]: cli.html#cli_pending_deprecation
[`Buffer.allocUnsafeSlow(size)`]: buffer.html#buffer_class_method_buffer_allocunsafeslow_size
[`Buffer.from(array)`]: buffer.html#buffer_class_method_buffer_from_array
@@ -2322,6 +2354,9 @@ undocumented `COUNTER_NET_SERVER_CONNECTION()`,
[`script.createCachedData()`]: vm.html#vm_script_createcacheddata
[`setInterval()`]: timers.html#timers_setinterval_callback_delay_args
[`setTimeout()`]: timers.html#timers_settimeout_callback_delay_args
+[`timeout.ref()`]: timers.html#timers_timeout_ref
+[`timeout.refresh()`]: timers.html#timers_timeout_refresh
+[`timeout.unref()`]: timers.html#timers_timeout_unref
[`tls.CryptoStream`]: tls.html#tls_class_cryptostream
[`tls.SecureContext`]: tls.html#tls_tls_createsecurecontext_options
[`tls.SecurePair`]: tls.html#tls_class_securepair
diff --git a/lib/timers.js b/lib/timers.js
index e9486edc5386fb..8a16532bd5def4 100644
--- a/lib/timers.js
+++ b/lib/timers.js
@@ -304,14 +304,21 @@ function clearImmediate(immediate) {
}
module.exports = {
- _unrefActive: unrefActive,
- active,
setTimeout,
clearTimeout,
setImmediate,
clearImmediate,
setInterval,
clearInterval,
+ _unrefActive: deprecate(
+ unrefActive,
+ 'timers._unrefActive() is deprecated.' +
+ ' Please use timeout.refresh() instead.',
+ 'DEP0127'),
+ active: deprecate(
+ active,
+ 'timers.active() is deprecated. Please use timeout.refresh() instead.',
+ 'DEP0126'),
unenroll: deprecate(
unenroll,
'timers.unenroll() is deprecated. Please use clearTimeout instead.',
diff --git a/test/parallel/test-timers-max-duration-warning.js b/test/parallel/test-timers-max-duration-warning.js
index c978cf29c3fe4d..a104c1700db81d 100644
--- a/test/parallel/test-timers-max-duration-warning.js
+++ b/test/parallel/test-timers-max-duration-warning.js
@@ -19,7 +19,7 @@ process.on('warning', common.mustCall((warning) => {
assert.strictEqual(lines[0], `${OVERFLOW} does not fit into a 32-bit signed` +
' integer.');
assert.strictEqual(lines.length, 2);
-}, 5));
+}, 6));
{