stubs/sqlalchemy/ext/mutable.pyi (51 lines of code) (raw):
class MutableBase(object):
    @classmethod
    def coerce(cls, key, value): ...
class Mutable(MutableBase):
    def changed(self): ...
    @classmethod
    def associate_with_attribute(cls, attribute): ...
    @classmethod
    def associate_with(cls, sqltype): ...
    @classmethod
    def as_mutable(cls, sqltype): ...
class MutableComposite(MutableBase):
    def changed(self): ...
class MutableDict(Mutable, dict):
    def __setitem__(self, key, value): ...
    def setdefault(self, key, value): ...
    def __delitem__(self, key): ...
    def update(self, *a, **kw): ...
    def pop(self, *arg): ...
    def popitem(self): ...
    def clear(self): ...
    @classmethod
    def coerce(cls, key, value): ...
class MutableList(Mutable, list):
    def __setitem__(self, index, value): ...
    def __setslice__(self, start, end, value): ...
    def __delitem__(self, index): ...
    def __delslice__(self, start, end): ...
    def pop(self, *arg): ...
    def append(self, x): ...
    def extend(self, x): ...
    def insert(self, i, x): ...
    def remove(self, i): ...
    def clear(self): ...
    def sort(self): ...
    def reverse(self): ...
    @classmethod
    def coerce(cls, index, value): ...
class MutableSet(Mutable, set):
    def update(self, *arg): ...
    def intersection_update(self, *arg): ...
    def difference_update(self, *arg): ...
    def symmetric_difference_update(self, *arg): ...
    def add(self, elem): ...
    def remove(self, elem): ...
    def discard(self, elem): ...
    def pop(self, *arg): ...
    def clear(self): ...
    @classmethod
    def coerce(cls, index, value): ...
    def __reduce_ex__(self, proto): ...