def create_default_config_from_type_config(type_config):
    """
    Creëert een dictionary met standaardwaarden gebaseerd op een typedefinitie configuratie.

    Args:
        type_config (dict): Het configuration-veld van een typedefinitie (bijv. uit processor_types).

    Returns:
        dict: Een dictionary met de naam van ieder veld als sleutel en de standaardwaarde als waarde.
        Alleen velden met een standaardwaarde of die verplicht zijn, worden opgenomen.

    Voorbeeld:
        >>> config = PROCESSOR_TYPES["HTML_PROCESSOR"]["configuration"]
        >>> create_default_config_from_type_def(config)
        {'html_tags': 'p, h1, h2, h3, h4, h5, h6, li, table, thead, tbody, tr, td',
         'html_end_tags': 'p, li, table',
         'html_excluded_classes': '',
         'html_excluded_elements': 'header, footer, nav, script',
         'html_included_elements': 'article, main',
         'chunking_heading_level': 2}
    """
    if not type_config:
        return {}

    default_config = {}

    for field_name, field_def in type_config.items():
        # Als het veld een standaardwaarde heeft, voeg deze toe
        if "default" in field_def:
            default_config[field_name] = field_def["default"]
        # Als het veld verplicht is maar geen standaardwaarde heeft, voeg een lege string toe
        elif field_def.get("required", False):
            # Kies een geschikte "lege" waarde op basis van het type
            field_type = field_def.get("type", "string")
            if field_type == "string":
                default_config[field_name] = ""
            elif field_type == "integer":
                default_config[field_name] = 0
            elif field_type == "boolean":
                default_config[field_name] = False
            elif field_type == "color":
                default_config[field_name] = "#000000"
            else:
                default_config[field_name] = ""

    return default_config
