def _check_seasonality_conditions(
        self, future_covariates: Optional[TimeSeries] = None
    ) -> list[str]:
        """
        Checks if the conditions for custom conditional seasonalities are met. Each custom seasonality that has a
        `condition_name` other than None is checked. If the `condition_name` is not a column in the `future_covariates`
        or if the values in the column are not all True or False, an error is raised.
        Returns a list of the `condition_name`s of the conditional seasonalities that have been checked.

        Parameters
        ----------
        future_covariates
            optionally, a TimeSeries containing the future covariates and including the columns that are used as
            conditions for the conditional seasonalities when necessary

        Raises
        ------
        ValueError
            if a seasonality has a `condition_name` and a column named `condition_name` is missing in
            the `future_covariates`

            if a seasonality has a `condition_name` and the values in the corresponding column in `future_covariates`
            are not binary values (True or False, 1 or 0)
        """

        conditional_seasonality_covariates = []
        invalid_conditional_seasonalities = []
        if future_covariates is not None:
            future_covariates_columns = future_covariates.columns
        else:
            future_covariates_columns = []

        for seasonality_name, attributes in self._add_seasonalities.items():
            condition_name = attributes["condition_name"]
            if condition_name is not None:
                if condition_name not in future_covariates_columns:
                    invalid_conditional_seasonalities.append((
                        seasonality_name,
                        condition_name,
                        "column missing",
                    ))
                    continue
                if (
                    not future_covariates[condition_name]
                    .to_series()
                    .isin([True, False])
                    .all()
                ):
                    invalid_conditional_seasonalities.append((
                        seasonality_name,
                        condition_name,
                        "invalid values",
                    ))
                    continue
                conditional_seasonality_covariates.append(condition_name)

        if len(invalid_conditional_seasonalities) > 0:
            formatted_issues_str = ", ".join(
                f"'{name}' (condition_name: '{cond}'; issue: {reason})"
                for name, cond, reason in invalid_conditional_seasonalities
            )
            raise_log(
                ValueError(
                    f"The following seasonalities have invalid conditions: {formatted_issues_str}. "
                    f"Each conditional seasonality must be accompanied by a binary component/column in the "
                    f"`future_covariates` with the same name as the `condition_name`"
                ),
                logger,
            )
        return conditional_seasonality_covariates

        Checks if the conditions for custom conditional seasonalities are met. Each custom seasonality that has a
        `condition_name` other than None is checked. If the `condition_name` is not a column in the `future_covariates`
        or if the values in the column are not all True or False, an error is raised.
        Returns a list of the `condition_name`s of the conditional seasonalities that have been checked.

        Parameters
        ----------
        future_covariates
            optionally, a TimeSeries containing the future covariates and including the columns that are used as
            conditions for the conditional seasonalities when necessary

        Raises
        ------
        ValueError
            if a seasonality has a `condition_name` and a column named `condition_name` is missing in
            the `future_covariates`

            if a seasonality has a `condition_name` and the values in the corresponding column in `future_covariates`
            are not binary values (True or False, 1 or 0)
        
darts/models/forecasting/prophet_model.py