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 lagged regressor column names and minimal/maximal lag order. The lag order
  can be used to check potential imputation in the computation of lags.
  
  Can be overridden by subclass.
  
  Returns
  -------
  lagged_regressor_info : `dict`
      A dictionary that includes the lagged regressor column names and maximal/minimal lag order
      The keys are:
  
          lagged_regressor_cols : `list` [`str`] or None
              See `~greykite.framework.pipeline.pipeline.forecast_pipeline`.
          overall_min_lag_order : `int` or None
          overall_max_lag_order : `int` or None
docstr_tok: ["Returns","lagged","regressor","column","names","and","minimal\/maximal","lag","order",".","The","lag","order","can","be","used","to","check","potential","imputation","in","the","computation","of","lags",".","Can","be","overridden","by","subclass",".","Returns","--","--","--","-","lagged_regressor_info",":","`","dict","`","A","dictionary","that","includes","the","lagged","regressor","column","names","and","maximal\/minimal","lag","order","The","keys","are",":","lagged_regressor_cols",":","`","list","`","[","`","str","`","]","or","None","See","`","~greykite.framework.pipeline.pipeline.forecast_pipeline","`",".","overall_min_lag_order",":","`","int","`","or","None","overall_max_lag_order",":","`","int","`","or","None"]
code: def get_lagged_regressor_info(self):
      """Returns lagged regressor column names and minimal/maximal lag order. The lag order
      can be used to check potential imputation in the computation of lags.
  
      Can be overridden by subclass.
  
      Returns
      -------
      lagged_regressor_info : `dict`
          A dictionary that includes the lagged regressor column names and maximal/minimal lag order
          The keys are:
  
              lagged_regressor_cols : `list` [`str`] or None
                  See `~greykite.framework.pipeline.pipeline.forecast_pipeline`.
              overall_min_lag_order : `int` or None
              overall_max_lag_order : `int` or None
      """
      lagged_regressor_info = {
          "lagged_regressor_cols": None,
          "overall_min_lag_order": None,
          "overall_max_lag_order": None,
      }
      return lagged_regressor_info
  
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 4 for calling the BaseTemplate obj's underlying member method code with example usage: obj.get_lagged_regressor_info() and returns: lagged_regressor_info