class_docstr: Internal adapter of ExternalEnv to BaseEnv.
class_docstr_tok: ["Internal","adapter","of","ExternalEnv","to","BaseEnv","."]
code: def send_actions(self, action_dict: MultiEnvDict) -> None:
      from ray.rllib.env.base_env import _DUMMY_AGENT_ID
  
      if self.multiagent:
          for env_id, actions in action_dict.items():
              self.external_env._episodes[env_id].action_queue.put(
                  actions
              )
      else:
          for env_id, action in action_dict.items():
              self.external_env._episodes[env_id].action_queue.put(
                  action[_DUMMY_AGENT_ID]
              )
  
imports: import gymnasium
  import queue
  import threading
  import uuid
  from typing import Callable, Tuple, Optional, TYPE_CHECKING
  from ray.rllib.env.base_env import BaseEnv
  from ray.rllib.utils.annotations import override, PublicAPI
  from ray.rllib.utils.typing import EnvActionType, EnvInfoDict, EnvObsType, EnvType, MultiEnvDict
  from ray.rllib.utils.deprecation import deprecation_warning
label_desc: Use image node_id 3 for calling the ExternalEnvWrapper obj's underlying member method code with example usage: obj.send_actions(action_dict) without return types