code: def check_llm_text_encoder_is_not_used_with_ecd(
      config: "ModelConfig",
  ) -> None:
      """Checks that a pretrained text encoder is not used for ECD models with a text output feature."""
      if config.model_type != MODEL_ECD:
          return
  
      if config.input_features[0].type != TEXT:
          return
  
      if config.output_features[0].type != TEXT:
          return
  
      if (
          hasattr(
              config.input_features[0].encoder,
              "pretrained_model_name_or_path",
          )
          and config.input_features[
              0
          ].encoder.pretrained_model_name_or_path
      ):
          raise ConfigValidationError(
              "Please use the `model_type: llm` for text-to-text models."
          )
  
imports: from abc import ABC, abstractmethod
  from re import findall
  from typing import Callable, TYPE_CHECKING
  from transformers import AutoConfig
  from ludwig.api_annotations import DeveloperAPI
  from ludwig.constants import AUDIO, BINARY, CATEGORY, IMAGE, IN_MEMORY, MIN_QUANTIZATION_BITS_FOR_MERGE_AND_UNLOAD, MODEL_ECD, MODEL_GBM, MODEL_LLM, NUMBER, SEQUENCE, SET, TEXT, TIMESERIES, VECTOR
  from ludwig.error import ConfigValidationError
  from ludwig.utils.metric_utils import get_feature_to_metric_names_map_from_feature_collection
  from ludwig.utils.misc_utils import merge_dict
label_desc: Use image node_id 32 for calling a global function with example usage: check_llm_text_encoder_is_not_used_with_ecd(config) without return types