def separate_strings_from_dicts(elements):
    """
    Receive a list of strings and dicts an returns 2 lists, one solely with string and the other
    with dicts.

    :param List[Union[str, Dict[str, str]]] elements:
    :rtype: Tuple[List[str], List[Dict[str, str]]]
    """
    all_strs = []
    all_dicts = []
    for item in elements:
        if isinstance(item, str):
            all_strs.append(item)
        elif isinstance(item, dict):
            all_dicts.append(item)
        else:
            raise RuntimeError(f"Only strings and dicts are supported, got: {item!r}")
    return all_strs, all_dicts