from typing import Dict
from typing import Type


def remap_shared_output_descriptions(output_descriptions: Dict[str, str], outputs: Dict[str, Type]) -> Dict[str, str]:
    """
    Deals with mixed styles of return value descriptions used in docstrings. If the docstring contains a single entry of return value description, that output description is shared by each output variable.
    :param output_descriptions: Dict of output variable names mapping to output description
    :param outputs: Interface outputs
    :return: Dict of output variable names mapping to shared output description
    """
    # no need to remap
    if len(output_descriptions) != 1:
        return output_descriptions
    _, shared_description = next(iter(output_descriptions.items()))
    return {k: shared_description for k, _ in outputs.items()}