# wrong argument name in implementation ("self" instead of "cls")
sqlalchemy.engine.URL.__new__
sqlalchemy.engine.url.URL.__new__
sqlalchemy.util.langhelpers._symbol.__new__

# unnecessary re-exports
sqlalchemy.util._collections.*
sqlalchemy.util.compat.*

# forwards arguments to another function
sqlalchemy.ext.declarative.as_declarative

# stdlib re-exports with stubtest issues
sqlalchemy.orm.collections.InstrumentedList.*
sqlalchemy.orm.collections.InstrumentedSet.*
sqlalchemy.orm.collections.MappedCollection.*
sqlalchemy.util.StringIO.*

# method arguments starting with double underscores in the implementation
sqlalchemy.testing.resolve_lambda
sqlalchemy.testing.util.resolve_lambda
sqlalchemy.util.WeakSequence.__init__

# not always present
sqlalchemy.engine.Engine.logging_name  # initialized if not None
sqlalchemy.engine.base.Engine.logging_name  # initialized if not None
sqlalchemy.testing.util.non_refcount_gc_collect

# replaced at runtime
sqlalchemy.orm.strategy_options.contains_eager
sqlalchemy.orm.strategy_options.load_only
sqlalchemy.orm.strategy_options.joinedload
sqlalchemy.orm.strategy_options.subqueryload
sqlalchemy.orm.strategy_options.selectinload
sqlalchemy.orm.strategy_options.lazyload
sqlalchemy.orm.strategy_options.immediateload
sqlalchemy.orm.strategy_options.noload
sqlalchemy.orm.strategy_options.raiseload
sqlalchemy.orm.strategy_options.defaultload
sqlalchemy.orm.strategy_options.defer
sqlalchemy.orm.strategy_options.undefer
sqlalchemy.orm.strategy_options.undefer_group
sqlalchemy.orm.strategy_options.with_expression
sqlalchemy.orm.strategy_options.selectin_polymorphic
sqlalchemy.testing.provision.configure_follower
sqlalchemy.testing.provision.create_db
sqlalchemy.testing.provision.drop_all_schema_objects_post_tables
sqlalchemy.testing.provision.drop_all_schema_objects_pre_tables
sqlalchemy.testing.provision.drop_db
sqlalchemy.testing.provision.follower_url_from_main
sqlalchemy.testing.provision.generate_driver_url
sqlalchemy.testing.provision.get_temp_table_name
sqlalchemy.testing.provision.post_configure_engine
sqlalchemy.testing.provision.prepare_for_drop_tables
sqlalchemy.testing.provision.run_reap_dbs
sqlalchemy.testing.provision.set_default_schema_on_connection
sqlalchemy.testing.provision.stop_test_class_outside_fixtures
sqlalchemy.testing.provision.temp_table_keyword_args
sqlalchemy.testing.provision.update_db_opts

# requires other packages
sqlalchemy.testing.plugin.pytestplugin

# can't be imported
sqlalchemy.testing.fixtures
sqlalchemy.testing.pickleable
sqlalchemy.testing.plugin.bootstrap

# Initialized to bool during __init__()
sqlalchemy.orm.Mapper.single
sqlalchemy.orm.mapper.Mapper.single

# Dynamically added methods where the first argument is not named "self"
sqlalchemy.orm.Load.contains_eager
sqlalchemy.orm.Load.defaultload
sqlalchemy.orm.Load.defer
sqlalchemy.orm.Load.immediateload
sqlalchemy.orm.Load.joinedload
sqlalchemy.orm.Load.lazyload
sqlalchemy.orm.Load.load_only
sqlalchemy.orm.Load.noload
sqlalchemy.orm.Load.raiseload
sqlalchemy.orm.Load.selectin_polymorphic
sqlalchemy.orm.Load.selectinload
sqlalchemy.orm.Load.subqueryload
sqlalchemy.orm.Load.undefer
sqlalchemy.orm.Load.undefer_group
sqlalchemy.orm.Load.with_expression
sqlalchemy.orm.strategy_options.Load.contains_eager
sqlalchemy.orm.strategy_options.Load.defaultload
sqlalchemy.orm.strategy_options.Load.defer
sqlalchemy.orm.strategy_options.Load.immediateload
sqlalchemy.orm.strategy_options.Load.joinedload
sqlalchemy.orm.strategy_options.Load.lazyload
sqlalchemy.orm.strategy_options.Load.load_only
sqlalchemy.orm.strategy_options.Load.noload
sqlalchemy.orm.strategy_options.Load.raiseload
sqlalchemy.orm.strategy_options.Load.selectin_polymorphic
sqlalchemy.orm.strategy_options.Load.selectinload
sqlalchemy.orm.strategy_options.Load.subqueryload
sqlalchemy.orm.strategy_options.Load.undefer
sqlalchemy.orm.strategy_options.Load.undefer_group
sqlalchemy.orm.strategy_options.Load.with_expression

# abstract fields not present at runtime
sqlalchemy.engine.Transaction.connection
sqlalchemy.engine.Transaction.is_active
sqlalchemy.engine.base.Transaction.connection
sqlalchemy.engine.base.Transaction.is_active

# initialized to None during class construction, but overridden during __init__()
sqlalchemy.engine.Connection.engine
sqlalchemy.engine.base.Connection.engine

# uses @memoized_property at runtime, but we use @property for compatibility
sqlalchemy.engine.URL.normalized_query
sqlalchemy.engine.url.URL.normalized_query

# runtime has extra internal arguments that are inconsistent across micro versions
sqlalchemy.testing.engines.testing_engine

# __new__ signature conflicts with __init__ signature (which is more precise),
# so __new__ is deliberately omitted in the stub
sqlalchemy.sql.annotation.Annotated.__new__

# At runtime __new__ is defined, but we define __init__ in the stub
# because otherwise all subclasses would be identified by pyright
# as having conflicting __new__/__init__ methods
sqlalchemy.orm.unitofwork.PostSortRec.__new__

# unclear problems
sqlalchemy.sql.elements.quoted_name.lower
sqlalchemy.sql.elements.quoted_name.upper
sqlalchemy.sql.expression.quoted_name.lower
sqlalchemy.sql.expression.quoted_name.upper
sqlalchemy.sql.quoted_name.lower
sqlalchemy.sql.quoted_name.upper
sqlalchemy.util.callable

sqlalchemy.dialects.mssql.base.MSExecutionContext.get_result_cursor_strategy
sqlalchemy.dialects.postgresql.base.PGDDLCompiler.visit_foreign_key_constraint
sqlalchemy.engine.ExecutionContext.get_result_cursor_strategy
sqlalchemy.engine.interfaces.ExecutionContext.get_result_cursor_strategy
sqlalchemy.orm.ColumnProperty.Comparator.__clause_element__
sqlalchemy.orm.properties.ColumnProperty.Comparator.__clause_element__
