code: def add_subparser(
      subparsers: SubParsersAction,
      parents: List[argparse.ArgumentParser],
  ) -> None:
      """Add all data parsers.
  
      Args:
          subparsers: subparser we are going to attach to
          parents: Parent parsers, needed to ensure tree structure in argparse
      """
      data_parser = subparsers.add_parser(
          "data",
          conflict_handler="resolve",
          formatter_class=argparse.ArgumentDefaultsHelpFormatter,
          parents=parents,
          help="Utils for the Rasa training files.",
      )
      data_parser.set_defaults(
          func=lambda _: data_parser.print_help(None)
      )
  
      data_subparsers = data_parser.add_subparsers()
  
      _add_data_convert_parsers(data_subparsers, parents)
      _add_data_split_parsers(data_subparsers, parents)
      _add_data_validate_parsers(data_subparsers, parents)
      _add_data_migrate_parsers(data_subparsers, parents)
  
imports: import argparse
  import logging
  import pathlib
  from typing import List
  import rasa.shared.core.domain
  from rasa import telemetry
  from rasa.cli import SubParsersAction
  from rasa.cli.arguments import data
  from rasa.cli.arguments import default_arguments
  import rasa.cli.utils
  from rasa.shared.constants import DEFAULT_DATA_PATH, DEFAULT_CONFIG_PATH, DEFAULT_DOMAIN_PATH
  import rasa.shared.data
  from rasa.shared.importers.importer import TrainingDataImporter
  import rasa.shared.nlu.training_data.loading
  import rasa.shared.nlu.training_data.util
  import rasa.shared.utils.cli
  import rasa.utils.common
  import rasa.shared.utils.io
label_desc: Use image node_id 1 for calling a global function with example usage: add_subparser(subparsers, parents) without return types