class_docstr: Base template with common code used by multiple templates.
  
  Provides a particular modular approach to implement
  `~greykite.framework.templates.template_interface.TemplateInterface.apply_template_for_pipeline_params`.
  
  Includes the config defaults from
  `~greykite.framework.templates.forecast_config_defaults.ForecastConfigDefaults`.
  
  Subclasses must provide these properties / functions used by ``apply_template_for_pipeline_params``:
  
      - estimator (__init__ default value)
      - get_regressor_cols
      - get_lagged_regressor_info
      - get_hyperparameter_grid
  
  Subclasses may optionally want to override:
  
      - get_pipeline
      - get_forecast_time_properties
      - apply_metadata_defaults
      - apply_evaluation_metric_defaults
      - apply_evaluation_period_defaults
      - apply_computation_defaults
      - apply_model_components_defaults
      - apply_forecast_config_defaults
class_docstr_tok: ["Base","template","with","common","code","used","by","multiple","templates",".","Provides","a","particular","modular","approach","to","implement","`","~greykite.framework.templates.template_interface.TemplateInterface.apply_template_for_pipeline_params","`",".","Includes","the","config","defaults","from","`","~greykite.framework.templates.forecast_config_defaults.ForecastConfigDefaults","`",".","Subclasses","must","provide","these","properties","\/","functions","used","by","``","apply_template_for_pipeline_params","``",":","-","estimator","(","__init__","default","value",")","-","get_regressor_cols","-","get_lagged_regressor_info","-","get_hyperparameter_grid","Subclasses","may","optionally","want","to","override",":","-","get_pipeline","-","get_forecast_time_properties","-","apply_metadata_defaults","-","apply_evaluation_metric_defaults","-","apply_evaluation_period_defaults","-","apply_computation_defaults","-","apply_model_components_defaults","-","apply_forecast_config_defaults"]
docstr: Returns hyperparameter grid.
  
  To be implemented by subclass.
  
  Available parameters:
  
      - self.df
      - self.config
      - self.score_func
      - self.score_func_greater_is_better
      - self.regressor_cols
      - self.estimator
      - self.pipeline
      - self.time_properties
  
  Returns
  -------
  hyperparameter_grid : `dict`, `list` [`dict`] or None
      See :func:`~greykite.framework.pipeline.pipeline.forecast_pipeline`.
      The output dictionary values are lists, combined in grid search.
docstr_tok: ["Returns","hyperparameter","grid",".","To","be","implemented","by","subclass",".","Available","parameters",":","-","self.df","-","self.config","-","self.score_func","-","self.score_func_greater_is_better","-","self.regressor_cols","-","self.estimator","-","self.pipeline","-","self.time_properties","Returns","--","--","--","-","hyperparameter_grid",":","`","dict","`",",","`","list","`","[","`","dict","`","]","or","None","See",":","func",":","`","~greykite.framework.pipeline.pipeline.forecast_pipeline","`",".","The","output","dictionary","values","are","lists",",","combined","in","grid","search","."]
code: def get_hyperparameter_grid(self):
      """Returns hyperparameter grid.
  
      To be implemented by subclass.
  
      Available parameters:
  
          - self.df
          - self.config
          - self.score_func
          - self.score_func_greater_is_better
          - self.regressor_cols
          - self.estimator
          - self.pipeline
          - self.time_properties
  
      Returns
      -------
      hyperparameter_grid : `dict`, `list` [`dict`] or None
          See :func:`~greykite.framework.pipeline.pipeline.forecast_pipeline`.
          The output dictionary values are lists, combined in grid search.
      """
      pass
  
imports: import functools
  from abc import ABC
  from abc import abstractmethod
  from typing import Dict
  from typing import Optional
  import pandas
  from greykite.common.evaluation import EvaluationMetricEnum
  from greykite.common.time_properties_forecast import get_forecast_time_properties
  from greykite.framework.pipeline.utils import get_basic_pipeline
  from greykite.framework.templates.autogen.forecast_config import ForecastConfig
  from greykite.framework.templates.forecast_config_defaults import ForecastConfigDefaults
  from greykite.framework.templates.template_interface import TemplateInterface
  from greykite.sklearn.estimator.base_forecast_estimator import BaseForecastEstimator
label_desc: Use image node_id 7 for calling the BaseTemplate obj's underlying member method code with example usage: obj.get_hyperparameter_grid() without return types