    ## Exceptions ##

    class NamedValueAccessError(LookupError): pass

    class ValueForKeyError(NamedValueAccessError): pass

    class NamedValueAccess:
        def hasValueForKey(self, key):
        def valueForKey(self, key, default=NoDefault):
        def hasValueForName(self, keysString):
        def valueForName(self, keysString, default=None):
        def valueForKeySequence(self, listOfKeys, default=None):
        def valuesForNames(self, keys, default=None, defaults=None, forgive=0, includeNames=0):
        def setValueForKey(self, key, value):
        def resetKeyBindings(self):
        def valueForUnknownKey(self, key, default):

    class NamedValueAccessWrapper(NamedValueAccess):
        def __init__(self, object):
        def hasValueForKey(self, key):
        def valueForKey(self, key, default=NoDefault):
        def valueForName(self, key, default=NoDefault):
    def valueForKey(obj, key, default=NoDefault):
    def valueForName(obj, name, default=NoDefault):