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):