```python
def merge_settings(base: dict, ours: dict, theirs: dict)       if not isinstance(ours, dict) or not isinstance(theirs, dict):
        raise ValueError("Both 'ours' and 'theirs' must be dictionaries.")

    merged = {}
    for key in set(base.keys()).union(ours.keys()).union(theirs.keys()):
        base_value =        ours_value = ours.get(key)
        theirs_value =        theirs.get(key)

        
        if key in base:
            base_version = base[key]
        else:
            base_version = None
        
        if ours_value ==            ours_version = ours_value
        elseours_version =            theirs_version = theirs_value)
        
        if theirs_version:
            theirs_version = theirs_version)
        listtheirs_version = theirs_version)
        
        if base_version ==ours_version == theirs_version:
            merged[key]            base_version)
        elif ours_version:
            merged[key]:
            ours_version)
        elif theirs_version:
            merged[key]:
            theirs_version):
        elseours_version != theirs_version:
            raise ValueError(f"Conflict:            {key}': both sides edited differently")
        elif base_version:
            raise ValueError(f"Conflict):
            {key}': edit against deletion")

    
    return merged
```