stubs/sqlalchemy/sql/visitors.pyi (23 lines of code) (raw):

from typing import Any class VisitableType(type): def __init__(cls, clsname, bases, clsdict) -> None: ... class Visitable(object, metaclass=VisitableType): ... class ClauseVisitor(object): __traverse_options__: Any = ... def traverse_single(self, obj, **kw): ... def iterate(self, obj): ... def traverse(self, obj): ... def chain(self, visitor): ... class CloningVisitor(ClauseVisitor): def copy_and_process(self, list_): ... def traverse(self, obj): ... class ReplacingCloningVisitor(CloningVisitor): def replace(self, elem): ... def traverse(self, obj): ... def iterate(obj, opts): ... def iterate_depthfirst(obj, opts): ... def traverse_using(iterator, obj, visitors): ... def traverse(obj, opts, visitors): ... def traverse_depthfirst(obj, opts, visitors): ... def cloned_traverse(obj, opts, visitors): ... def replacement_traverse(obj, opts, replace): ...