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