diff --git a/core/lib/Drupal/Core/Entity/ContentEntityStorageInterface.php b/core/lib/Drupal/Core/Entity/ContentEntityStorageInterface.php
index eb979c7..678937b 100644
--- a/core/lib/Drupal/Core/Entity/ContentEntityStorageInterface.php
+++ b/core/lib/Drupal/Core/Entity/ContentEntityStorageInterface.php
@@ -5,7 +5,7 @@
 /**
  * A storage that supports content entity types.
  */
-interface ContentEntityStorageInterface extends EntityStorageInterface {
+interface ContentEntityStorageInterface extends EntityStorageInterface, RevisionableStorageInterface {
 
   /**
    * Constructs a new entity translation object, without permanently saving it.
diff --git a/core/lib/Drupal/Core/Entity/EntityStorageInterface.php b/core/lib/Drupal/Core/Entity/EntityStorageInterface.php
index 9f50674..34f9252 100644
--- a/core/lib/Drupal/Core/Entity/EntityStorageInterface.php
+++ b/core/lib/Drupal/Core/Entity/EntityStorageInterface.php
@@ -79,6 +79,9 @@ public function loadUnchanged($id);
    *
    * @return \Drupal\Core\Entity\EntityInterface|null
    *   The specified entity revision or NULL if not found.
+   *
+   * @deprecated in Drupal 8.5.0 and will be removed before Drupal 9.0.0. Use
+   *   \Drupal\Core\Entity\RevisionableStorageInterface instead.
    */
   public function loadRevision($revision_id);
 
@@ -89,6 +92,9 @@ public function loadRevision($revision_id);
    *
    * @param int $revision_id
    *   The revision id.
+   *
+   * @deprecated in Drupal 8.5.0 and will be removed before Drupal 9.0.0. Use
+   *   \Drupal\Core\Entity\RevisionableStorageInterface instead.
    */
   public function deleteRevision($revision_id);
 
diff --git a/core/lib/Drupal/Core/Entity/RevisionableStorageInterface.php b/core/lib/Drupal/Core/Entity/RevisionableStorageInterface.php
new file mode 100644
index 0000000..3d05bbb
--- /dev/null
+++ b/core/lib/Drupal/Core/Entity/RevisionableStorageInterface.php
@@ -0,0 +1,31 @@
+<?php
+
+namespace Drupal\Core\Entity;
+
+/**
+ * A storage that supports revisionable entity types.
+ */
+interface RevisionableStorageInterface {
+
+  /**
+   * Loads a specific entity revision.
+   *
+   * @param int $revision_id
+   *   The revision ID.
+   *
+   * @return \Drupal\Core\Entity\EntityInterface|null
+   *   The specified entity revision or NULL if not found.
+   */
+  public function loadRevision($revision_id);
+
+  /**
+   * Deletes a specific entity revision.
+   *
+   * A revision can only be deleted if it's not the currently active one.
+   *
+   * @param int $revision_id
+   *   The revision id.
+   */
+  public function deleteRevision($revision_id);
+
+}
