class_docstr: An abstract class representing a trainable model.
  
  The underlying model is trained by calling the `train` method with a
  training `Dataset`, producing a `Predictor` object.
code: def __init__(self, lead_time: int = 0, **kwargs) -> None:
      # TODO validation of prediction_length could also
      # TODO be bubbled-up here from subclasses classes
      assert lead_time >= 0, "The value of `lead_time` should be >= 0"
  
      self.lead_time = lead_time
  
file_path: gluonts/src/gluonts/model/estimator.py
imports: from typing import Optional
  from typing_extensions import Protocol, runtime_checkable
  import gluonts
  from gluonts.core.component import from_hyperparameters
  from gluonts.dataset.common import Dataset
  from gluonts.model.predictor import Predictor
label_desc: Use image node_id 1 to create a new Estimator object  with example: obj = Estimator(lead_time)