from typing import Dict
from typing import Any


def _set_default_parameters(params_dict: Dict[str, Any]) -> Dict[str, Any]:
    """Set default parameters for class shifts.

    Args:
        params_dict: Parameters for data generation (see :func:`generate_artificial_classification_data`).

    Returns:
        Parameters updated with default values for class shifts: each class is shifted by 2 starting with zero.

    """
    # initialize shifts of classes
    if "all_shifts" in params_dict.keys():
        # not all shifts were given correctly by the user: set default shifts
        number_of_classes = (
            params_dict["number_of_normal_distributed_classes"] + params_dict["number_of_lognormal_distributed_classes"]
        )
        all_shifts = []
        for i in range(number_of_classes):
            all_shifts.append(i * 2)
        params_dict["all_shifts"] = all_shifts
    else:
        params_dict["all_shifts"] = (
            params_dict["shifts_of_lognormal_distribution_centers"] + params_dict["means_of_normal_distributions"]
        )

    return params_dict