code: def validate_reports(
      reports: Union[List[ProfileReport], List[BaseDescription]],
      configs: List[dict],
  ) -> None:
      """Validate if the reports are comparable.
  
      Args:
          reports: two reports to compare
                   input may either be a ProfileReport, or the summary obtained from report.get_description()
      """
      if len(reports) < 2:
          raise ValueError(
              "At least two reports are required for this comparison"
          )
  
      if len(reports) > 2:
          warnings.warn(
              "Comparison of more than two reports is not supported. "
              "Reports may be produced, but may yield unexpected formatting."
          )
  
      report_types = [c.vars.timeseries.active for c in configs]  # type: ignore
      if all(report_types) != any(report_types):
          raise ValueError(
              "Comparison between timeseries and tabular reports is not supported."
          )
  
      if isinstance(reports[0], ProfileReport):
          is_df_available = [r.df is not None for r in reports]  # type: ignore
          if not all(is_df_available):
              raise ValueError(
                  "Reports where not initialized with a DataFrame."
              )
  
      if isinstance(reports[0], ProfileReport):
          features = [set(r.df.columns) for r in reports]  # type: ignore
      else:
          features = [set(r.variables.keys()) for r in reports]  # type: ignore
  
      if not all(features[0] == x for x in features):
          warnings.warn(
              "The datasets being profiled have a different set of columns. "
              "Only the left side profile will be calculated."
          )
  
imports: import json
  import warnings
  from dataclasses import asdict
  from typing import Any, List, Optional, Tuple, Union
  import pandas
  from dacite import from_dict
  from ydata_profiling.config import Correlation, Settings
  from ydata_profiling.model import BaseDescription
  from ydata_profiling.model.alerts import Alert
  from ydata_profiling.profile_report import ProfileReport
label_desc: Use image node_id 11 for calling a global function with example usage: validate_reports(reports, configs) without return types