from typing import List
from typing import Dict
from typing import Union


def _find_next_values(variant: List[int], remaining_values: List[int]) -> List[Dict[str, Union[int, List[int]]]]:
    """Find the next values that will be added to the current variant."""
    current_value = variant[-1]
    next_values = []
    for remaining_value in remaining_values:
        if remaining_value - current_value > 3:
            break
        if 1 <= remaining_value - current_value <= 3:
            next_values.append({"next_value": remaining_value,
                                "remaining_values": [item for item in remaining_values if item > remaining_value]})
    return next_values