def _process_input_transformer(
        self, params: dict
    ) -> tuple[Optional[FittableDataTransformer], list, list]:
        """Processes input params used at model creation and returns tuple of one transformer object and two masks
        that specify which past / future encoders accept being transformed.

        Parameters
        ----------
        params
            Dict from parameter `add_encoders` (kwargs) used at model creation. Relevant parameters are:
            * params={'transformer': Scaler()}
        """
        if not params:
            return None, [], []

        transformer = params.get(TRANSFORMER_KEYS[0], None)
        if transformer is None:
            return None, [], []

        raise_if_not(
            isinstance(transformer, VALID_TRANSFORMER_DTYPES),
            f"Encountered `{TRANSFORMER_KEYS[0]}` of invalid type `{type(transformer)}` "
            f"in `add_encoders` at model creation. Transformer must be an instance of "
            f"`{VALID_TRANSFORMER_DTYPES}`.",
            logger,
        )

        transform_past_mask = [
            transform
            for enc in self.past_encoders
            for transform in enc.accept_transformer
        ]
        transform_future_mask = [
            transform
            for enc in self.future_encoders
            for transform in enc.accept_transformer
        ]
        return transformer, transform_past_mask, transform_future_mask
Processes input params used at model creation and returns tuple of one transformer object and two masks
        that specify which past / future encoders accept being transformed.

        Parameters
        ----------
        params
            Dict from parameter `add_encoders` (kwargs) used at model creation. Relevant parameters are:
            * params={'transformer': Scaler()}
        
darts/dataprocessing/encoders/encoders.py