Marked as `@api private`, since it is needed as public API.