class_docstr: Utility class to manage a set of ``ConfigItem`` and resolve the references between them.
  
  This class maintains a set of ``ConfigItem`` objects and their associated IDs.
  The IDs must be unique within this set. A string in ``ConfigItem``
  starting with ``@`` will be treated as a reference to other ``ConfigItem`` objects by ID.
  Since ``ConfigItem`` may have a nested dictionary or list structure,
  the reference string may also contain the separator ``::`` to refer to a substructure by
  key indexing for a dictionary or integer indexing for a list.
  
  In this class, resolving references is essentially substitution of the reference strings with the
  corresponding python objects. A typical workflow of resolving references is as follows:
  
      - Add multiple ``ConfigItem`` objects to the ``ReferenceResolver`` by ``add_item()``.
      - Call ``get_resolved_content()`` to automatically resolve the references. This is done (recursively) by:
          - Convert the items to objects, for those do not have references to other items.
              - If it is instantiable, instantiate it and cache the class instance in ``resolved_content``.
              - If it is an expression, evaluate it and save the value in ``resolved_content``.
          - Substitute the reference strings with the corresponding objects.
  
  Args:
      items: ``ConfigItem``s to resolve, this could be added later with ``add_item()``.
docstr: With all the references in ``refs``, update the input config content with references
  and return the new config.
  
  Args:
      config: input config content to update.
      id: ID name for the input config.
      refs: all the referring content with ids, default to `None`.
docstr_tok: ["With","all","the","references","in","``","refs","``",",","update","the","input","config","content","with","references","and","return","the","new","config",".","Args",":","config",":","input","config","content","to","update",".","id",":","ID","name","for","the","input","config",".","refs",":","all","the","referring","content","with","ids",",","default","to","`","None","`","."]
code: def update_config_with_refs(
      cls, config: Any, id: str, refs: dict | None = None
  ) -> Any:
      """
      With all the references in ``refs``, update the input config content with references
      and return the new config.
  
      Args:
          config: input config content to update.
          id: ID name for the input config.
          refs: all the referring content with ids, default to `None`.
  
      """
      refs_: dict = refs or {}
      if isinstance(config, str):
          return cls.update_refs_pattern(config, refs_)
      if not isinstance(config, (list, dict)):
          return config
      ret = type(config)()
      for idx, sub_id, v in cls.iter_subconfigs(id, config):
          if ConfigComponent.is_instantiable(
              v
          ) or ConfigExpression.is_expression(v):
              updated = refs_[sub_id]
              if ConfigComponent.is_instantiable(v) and updated is None:
                  # the component is disabled
                  continue
          else:
              updated = cls.update_config_with_refs(v, sub_id, refs_)
          ret.update({idx: updated}) if isinstance(
              ret, dict
          ) else ret.append(updated)
      return ret
  
imports: from __future__ import annotations
  import re
  import warnings
  from collections.abc import Sequence
  from typing import Any, Iterator
  from monai.bundle.config_item import ConfigComponent, ConfigExpression, ConfigItem
  from monai.bundle.utils import ID_REF_KEY, ID_SEP_KEY
  from monai.utils import allow_missing_reference, look_up_option
label_desc: Use image node_id 14 for calling the ReferenceResolver obj's underlying member method code with example usage: obj.update_config_with_refs(cls, config, id, refs) and returns: ret, cls, config