docs: def decrypt_multi_get(decrypt_method, crypto_config_method, read_method, **kwargs):
      # type: (Callable, Callable, Callable, **Any) -> Dict
      # TODO: narrow this down
      """Transparently decrypt multiple items after getting them from the table with a scan or query method.
  
      :param callable decrypt_method: Method to use to decrypt items
      :param callable crypto_config_method: Method that accepts ``kwargs`` and provides a :class:`CryptoConfig`
      :param callable read_method: Method that reads from the table
      :param **kwargs: Keyword arguments to pass to ``read_method``
      :return: DynamoDB response
      :rtype: dict
      """
      validate_get_arguments(kwargs)
      crypto_config, ddb_kwargs = crypto_config_method(**kwargs)
      response = read_method(**ddb_kwargs)
      for pos in range(len(response["Items"])):
          response["Items"][pos] = decrypt_method(
              item=response["Items"][pos],
              crypto_config=crypto_config.with_item(_item_transformer(decrypt_method)(response["Items"][pos])),
          )
      return response