code: def _predict(
      self,
      lists: Union[
          pd.DataFrame,
          Dict[str, Union[pd.Series, pd.DataFrame]],
          Dict[
              str,
              List[
                  Union[Tuple[pd.Timestamp, pd.Timestamp], pd.Timestamp]
              ],
          ],
      ],
  ) -> Union[
      pd.Series,
      List[Union[Tuple[pd.Timestamp, pd.Timestamp], pd.Timestamp]],
  ]:
      if isinstance(lists, dict):
          if not (
              all([isinstance(lst, list) for lst in lists.values()])
              or all(
                  [
                      isinstance(lst, (pd.Series, pd.DataFrame))
                      for lst in lists.values()
                  ]
              )
          ):
              raise TypeError(
                  "Input must be a pandas DataFrame, a dict of lists, or a "
                  "dict of pandas Series/DataFrame."
              )
      elif isinstance(lists, pd.DataFrame):
          pass
      else:
          raise TypeError(
              "Input must be a pandas DataFrame, a dict of lists, or a dict "
              "of pandas Series/DataFrame."
          )
      return self._predict_core(lists)
  
imports: from typing import Dict, List, Tuple, Union
  import pandas
  from ._base import _NonTrainableModel
label_desc: Use image node_id 1 for calling the _Aggregator obj's underlying member method code with example usage: obj._predict(lists) and returns: self