class_docstr: A subclass of :py:class:`monai.transforms.Transform` with an assumption
  that the ``data`` input of ``self.__call__`` is a MutableMapping such as ``dict``.
  
  The ``keys`` parameter will be used to get and set the actual data
  item to transform.  That is, the callable of this transform should
  follow the pattern:
  
      .. code-block:: python
  
          def __call__(self, data):
              for key in self.keys:
                  if key in data:
                      # update output data with some_transform_function(data[key]).
                  else:
                      # raise exception unless allow_missing_keys==True.
              return data
  
  Raises:
      ValueError: When ``keys`` is an empty iterable.
      TypeError: When ``keys`` type is not in ``Union[Hashable, Iterable[Hashable]]``.
class_docstr_tok: ["A","subclass","of",":","py",":","class",":","`","monai.transforms.Transform","`","with","an","assumption","that","the","``","data","``","input","of","``","self.__call__","``","is","a","MutableMapping","such","as","``","dict","``",".","The","``","keys","``","parameter","will","be","used","to","get","and","set","the","actual","data","item","to","transform",".","That","is",",","the","callable","of","this","transform","should","follow","the","pattern",":","..","code-block",":",":","python","def","__call__","(","self",",","data",")",":","for","key","in","self.keys",":","if","key","in","data",":","#","update","output","data","with","some_transform_function","(","data","[","key","]",")",".","else",":","#","raise","exception","unless","allow_missing_keys==True",".","return","data","Raises",":","ValueError",":","When","``","keys","``","is","an","empty","iterable",".","TypeError",":","When","``","keys","``","type","is","not","in","``","Union","[","Hashable",",","Iterable","[","Hashable","]","]","``","."]
docstr: Get the first available key of `self.keys` in the input `data` dictionary.
  If no available key, return an empty tuple `()`.
  
  Args:
      data: data that the transform will be applied to.
code: def first_key(self, data: dict[Hashable, Any]):
      """
      Get the first available key of `self.keys` in the input `data` dictionary.
      If no available key, return an empty tuple `()`.
  
      Args:
          data: data that the transform will be applied to.
  
      """
      return first(self.key_iterator(data), ())
  
imports: from __future__ import annotations
  import logging
  from abc import ABC, abstractmethod
  from collections.abc import Callable, Generator, Hashable, Iterable, Mapping
  from typing import Any, TypeVar
  import numpy
  import torch
  from monai import config, transforms
  from monai.config import KeysCollection
  from monai.data.meta_tensor import MetaTensor
  from monai.transforms.traits import LazyTrait, RandomizableTrait, ThreadUnsafe
  from monai.utils import MAX_SEED, ensure_tuple, first
  from monai.utils.enums import TransformBackends
  from monai.utils.misc import MONAIEnvVars
label_desc: Use image node_id 6 for calling the MapTransform obj's underlying member method code with example usage: obj.first_key(data) and returns: first