    class UserManager:
            def userForSerialNum(self, serialNum, default=NoDefault)
            def userForExternalId(self, extId, default=NoDefault)
            def userForName(self, name, default=NoDefault)
            def users(self)
            def activeUsers(self)
            def inactiveUsers(self)
            def loginSerialNum(self, serialNum, password):
            def loginExternalId(self, externalId, password):
            def loginName(self, userName, password):
            def logout(self, user):

        ## Init ##
        def __init__(self, userClass=None):
        def shutDown(self):

        ## Settings ##
        def userClass(self):
        def setUserClass(self, userClass):
        def modifiedUserTimeout(self):
        def setModifiedUserTimeout(self, value):
        def cachedUserTimeout(self):
        def setCachedUserTimeout(self, value):
        def activeUserTimeout(self):
        def setActiveUserTimeout(self, value):

        ## Basic user access ##
        def createUser(self, name, password, userClass=None):
        def addUser(self, user):
        def userForSerialNum(self, serialNum, default=NoDefault):
        def userForExternalId(self, externalId, default=NoDefault):
        def userForName(self, name, default=NoDefault):
        def users(self):
        def numActiveUsers(self):
        def activeUsers(self):
        def inactiveUsers(self):

        ## Logging in and out ##
        def login(self, user, password):
        def logout(self, user):
        def loginSerialNum(self, serialNum, password):
        def loginExternalId(self, externalId, password):
        def loginName(self, userName, password):

        ## Cached ##
        def clearCache(self):