diff --git a/core/modules/field/lib/Drupal/field/FieldInstanceConfigInterface.php b/core/modules/field/lib/Drupal/field/FieldInstanceConfigInterface.php
new file mode 100644
index 0000000..22c1574
--- /dev/null
+++ b/core/modules/field/lib/Drupal/field/FieldInstanceConfigInterface.php
@@ -0,0 +1,104 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\field\FieldInstanceConfigInterface.
+ */
+
+namespace Drupal\field;
+
+use Drupal\Core\Config\Entity\ConfigEntityInterface;
+use Drupal\Core\Field\FieldDefinitionInterface;
+
+/**
+ * Provides an interface defining a field instance entity.
+ */
+interface FieldInstanceConfigInterface extends ConfigEntityInterface, FieldDefinitionInterface {
+
+  /**
+   * Returns the field entity for this instance.
+   *
+   * @return \Drupal\field\FieldConfigInterface
+   *   The field entity for this instance.
+   */
+  public function getField();
+
+  /**
+   * Allows a bundle to be renamed.
+   *
+   * Renaming a bundle on the instance is allowed when an entity's bundle
+   * is renamed and when field_entity_bundle_rename() does internal
+   * housekeeping.
+   */
+  public function allowBundleRename();
+
+  /**
+   * Returns the name of the bundle this field instance is attached to.
+   *
+   * @return string
+   *   The name of the bundle this field instance is attached to.
+   */
+  public function targetBundle();
+
+  /**
+   * Returns the UUID of the field attached to the bundle by this instance.
+   *
+   * @return string|null
+   *   The UUID of the field attached, or NULL if the field does not have one.
+   */
+  public function getFieldUuid();
+
+  /**
+   * Allows to change values of the given field instance setting.
+   *
+   * @param string $setting_name
+   *   The name of the setting that should be set.
+   *
+   * @param mixed $settings
+   *   The new value of the field instance settings.
+   */
+  public function setSetting($setting_name, $settings);
+
+  /**
+   * Allows to change field label that will be used in this field instance.
+   *
+   * @param string $label
+   *   The label for this field instance.
+   */
+  public function setLabel($label);
+
+  /**
+   * Allows to change field description that will be used in this field instance.
+   *
+   * @param string $description
+   *   The description for this field instance.
+   */
+  public function setDescription($description);
+
+  /**
+   * Allows to change whether at least one non-empty item is required for the field attached by this instance.
+   *
+   * Currently, required-ness is only enforced at the Form API level in entity
+   * edit forms, not during direct API saves.
+   *
+   * @param bool $required
+   *   TRUE if the field is required.
+   */
+  public function setRequired($required);
+
+  /**
+   * The return indicates whether the instance is deleted or not.
+   *
+   * The delete() method marks the instance as "deleted" and removes the
+   * corresponding entry from the config storage, but keeps its definition in
+   * the state storage while field data is purged by a separate
+   * garbage-collection process.
+   *
+   * Deleted instances stay out of the regular entity lifecycle (notably, their
+   * values are not populated in loaded entities, and are not saved back).
+   *
+   * @return bool
+   */
+  public function isDeleted();
+
+}
