diff --git a/core/modules/field/field.api.php b/core/modules/field/field.api.php
index 33f2581..ddcba12 100644
--- a/core/modules/field/field.api.php
+++ b/core/modules/field/field.api.php
@@ -151,6 +151,8 @@ function hook_field_extra_fields_alter(&$info) {
  *     instance definition. This formatter must be available whenever the field
  *     type is available (i.e. provided by the field type module, or by a module
  *     the field type module depends on).
+ *   - field item class: The namespace of the implementing class (i.e. provided
+ *     by the field type module, or by a module the field type module depends on).
  *   - no_ui: (optional) A boolean specifying that users should not be allowed
  *     to create fields and instances of this field type through the UI. Such
  *     fields can only be created programmatically. Defaults to FALSE.
@@ -166,6 +168,7 @@ function hook_field_info() {
       'instance_settings' => array('text_processing' => 0),
       'default_widget' => 'text_textfield',
       'default_formatter' => 'text_default',
+      'field item class' => '\Drupal\text\Type\TextItem',
     ),
     'text_long' => array(
       'label' => t('Long text'),
@@ -174,6 +177,7 @@ function hook_field_info() {
       'instance_settings' => array('text_processing' => 0),
       'default_widget' => 'text_textarea',
       'default_formatter' => 'text_default',
+      'field item class' => '\Drupal\text\Type\TextItem',
     ),
     'text_with_summary' => array(
       'label' => t('Long text and summary'),
@@ -182,6 +186,7 @@ function hook_field_info() {
       'instance_settings' => array('text_processing' => 1, 'display_summary' => 0),
       'default_widget' => 'text_textarea_with_summary',
       'default_formatter' => 'text_summary_or_trimmed',
+      'field item class' => '\Drupal\text\Type\TextSummaryItem',
     ),
   );
 }
