from typing import Dict
from typing import List


def validate_args(args_dict: Dict) -> None:
    """Validate command line arguments

    :param args_dict: dict containing command line arguments
    :type args_dict: Dict
    """
    def count_args(keys: List[str]):
        count = 0
        for key in keys:
            count += 1 if args_dict[key] else 0
        return count

    # validate style
    keys = ['tree', 'markdown', 'html']
    if count_args(keys) == 0:
        args_dict['tree'] = True        # if no style is set, use tree
    elif count_args(keys) != 1:
        raise ValueError(f"There can be only one style argument, choose from: {', '.join(keys)}")

    # validate output location

    keys = ['stdout', 'stderr', 'output']
    if count_args(keys) == 0:
        args_dict['stdout'] = True