diff --git a/core/modules/config_translation/src/ConfigEntityMapper.php b/core/modules/config_translation/src/ConfigEntityMapper.php
index faf8991..348ad43 100644
--- a/core/modules/config_translation/src/ConfigEntityMapper.php
+++ b/core/modules/config_translation/src/ConfigEntityMapper.php
@@ -18,7 +18,7 @@
 /**
  * Configuration mapper for configuration entities.
  */
-class ConfigEntityMapper extends ConfigNamesMapper {
+class ConfigEntityMapper extends ConfigNamesMapper implements ConfigEntityMapperInterface {
 
   /**
    * The entity manager.
@@ -111,29 +111,14 @@ public function populateFromRouteMatch(RouteMatchInterface $route_match) {
   }
 
   /**
-   * Gets the entity instance for this mapper.
-   *
-   * @return \Drupal\Core\Config\Entity\ConfigEntityInterface $entity
-   *   The configuration entity.
+   * {@inheritdoc}
    */
   public function getEntity() {
     return $this->entity;
   }
 
   /**
-   * Sets the entity instance for this mapper.
-   *
-   * This method can only be invoked when the concrete entity is known, that is
-   * in a request for an entity translation path. After this method is called,
-   * the mapper is fully populated with the proper display title and
-   * configuration names to use to check permissions or display a translation
-   * screen.
-   *
-   * @param \Drupal\Core\Config\Entity\ConfigEntityInterface $entity
-   *   The configuration entity to set.
-   *
-   * @return bool
-   *   TRUE, if the entity was set successfully; FALSE otherwise.
+   * {@inheritdoc}
    */
   public function setEntity(ConfigEntityInterface $entity) {
     if (isset($this->entity)) {
@@ -169,19 +154,7 @@ public function getBaseRouteParameters() {
   }
 
   /**
-   * Set entity type for this mapper.
-   *
-   * This should be set in initialization. A mapper that knows its type but
-   * not yet its names is still useful for router item and tab generation. The
-   * concrete entity only turns out later with actual controller invocations,
-   * when the setEntity() method is invoked before the rest of the methods are
-   * used.
-   *
-   * @param string $entity_type
-   *   The entity type to set.
-   *
-   * @return bool
-   *   TRUE if the entity type was set correctly; FALSE otherwise.
+   * {@inheritdoc}
    */
   public function setType($entity_type) {
     if (isset($this->entityType)) {
@@ -192,9 +165,7 @@ public function setType($entity_type) {
   }
 
   /**
-   * Gets the entity type from this mapper.
-   *
-   * @return string
+   * {@inheritdoc}
    */
   public function getType() {
     return $this->entityType;
diff --git a/core/modules/config_translation/src/ConfigEntityMapperInterface.php b/core/modules/config_translation/src/ConfigEntityMapperInterface.php
new file mode 100644
index 0000000..066903b
--- /dev/null
+++ b/core/modules/config_translation/src/ConfigEntityMapperInterface.php
@@ -0,0 +1,61 @@
+<?php
+
+namespace Drupal\config_translation;
+
+use Drupal\Core\Config\Entity\ConfigEntityInterface;
+
+/**
+ * Defines an interface for configuration entity mappers.
+ */
+interface ConfigEntityMapperInterface extends ConfigMapperInterface {
+
+  /**
+   * Gets the entity this configuration mapper is for.
+   *
+   * @return \Drupal\Core\Config\Entity\ConfigEntityInterface
+   *   The configuration entity.
+   */
+  public function getEntity();
+
+  /**
+   * Sets the entity instance for this mapper.
+   *
+   * This method can only be invoked when the concrete entity is known, that is
+   * in a request for an entity translation path. After this method is called,
+   * the mapper is fully populated with the proper display title and
+   * configuration names to use to check permissions or display a translation
+   * screen.
+   *
+   * @param \Drupal\Core\Config\Entity\ConfigEntityInterface $entity
+   *   The configuration entity to set.
+   *
+   * @return bool
+   *   TRUE, if the entity was set successfully; FALSE otherwise.
+   */
+  public function setEntity(ConfigEntityInterface $entity);
+
+  /**
+   * Sets the entity type this mapper is for.
+   *
+   * This should be set during initialization. A mapper that knows its type but
+   * not yet its entity (and, thus, its configuration names) is still useful for
+   * router item and tab generation. The concrete entity is only populated
+   * given a route match when the setEntity() method is invoked before using the
+   * mapper further.
+   *
+   * @param string $entity_type
+   *   The entity type to set.
+   *
+   * @return bool
+   *   TRUE if the entity type was set correctly; FALSE otherwise.
+   */
+  public function setType($entity_type);
+
+  /**
+   * Gets the entity type this mapper is for.
+   *
+   * @return string
+   */
+  public function getType();
+
+}
