def METHOD_NAME(periods: list) -> list:
    """
    Check input list of period strings is valid
    Parameters
    ----------
    periods : list
        list containing period strings to be checked.
    Raises
    ------
    ValueError
        if input is not a list or any of the provided periods in that list is
        not a string or invalid.
    Returns
    -------
    list
        list of periods
    """
    checked = []
    if not isinstance(periods, list):
        raise ValueError("statistics_periods needs to be a list")
    for per in periods:
        if not isinstance(per, str):
            raise ValueError("All periods need to be strings")
        spl = [x.strip() for x in per.split("-")]
        if len(spl) > 2:
            raise ValueError(
                f"Invalid value for period ({per}), can be either single "
                f"years or period of years (e.g. 2000-2010)."
            )
        _per = "-".join([str(int(val)) for val in spl])
        checked.append(_per)
    return checked