def METHOD_NAME(
    firstFp: pathlib.Path,
    lastFp: pathlib.Path | None = None
) -> tuple[int, int]:
    '''
    Return a 2-tuple of the maximum PNG number and the number of digits used to
    specify the PNG (for MuseScore generated PNGs, for use in the widget)
    '''
    inputFpStr = firstFp.name  # not pathlib.
    if not inputFpStr.endswith('.png'):
        raise ValueError(f'firstFp must end with ".png"; got {firstFp}')
    if lastFp is None:
        lastFp = findLastPNGPath(firstFp)
    dash_location = inputFpStr.rfind('-')
    if dash_location == -1:
        raise ValueError(
            f'firstFp must end with "-0001.png" or similar; got {firstFp}'
        )
    suffix_len = 4  # len('.png')
    num_digits = len(inputFpStr) - dash_location - suffix_len - 1
    num_string = lastFp.name[dash_location + 1:dash_location + 1 + num_digits]
    # print(inputFpStr, dash_location, num_digits, lastFp, num_string)
    last_number = int(num_string)
    return (last_number, num_digits)