def generate_train_idx(
        self, target: TimeSeries, covariates: Optional[TimeSeries] = None
    ) -> tuple[SupportedIndex, pd.Timestamp]:
        """
        Generates/extracts time index (or integer index) for covariates at model training time.

        Parameters
        ----------
        target
            The target TimeSeries used during training.
        covariates
            Optionally, the covariates used for training.
            If given, the returned time index is equal to the `covariates` time index. Else, the returned time index
            covers the minimum required covariate time span for training a specific forecasting model. These
            requirements are derived from parameters set at :class:`CovariatesIndexGenerator` creation.
        """
        pass

        Generates/extracts time index (or integer index) for covariates at model training time.

        Parameters
        ----------
        target
            The target TimeSeries used during training.
        covariates
            Optionally, the covariates used for training.
            If given, the returned time index is equal to the `covariates` time index. Else, the returned time index
            covers the minimum required covariate time span for training a specific forecasting model. These
            requirements are derived from parameters set at :class:`CovariatesIndexGenerator` creation.
        
darts/dataprocessing/encoders/encoder_base.py