# Stubs for sqlalchemy.exc (Python 2)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.

from typing import Any

class SQLAlchemyError(Exception): ...
class ArgumentError(SQLAlchemyError): ...
class NoSuchModuleError(ArgumentError): ...
class NoForeignKeysError(ArgumentError): ...
class AmbiguousForeignKeysError(ArgumentError): ...

class CircularDependencyError(SQLAlchemyError):
    cycles = ... # type: Any
    edges = ... # type: Any
    def __init__(self, message, cycles, edges, msg=...) -> None: ...
    def __reduce__(self): ...

class CompileError(SQLAlchemyError): ...

class UnsupportedCompilationError(CompileError):
    def __init__(self, compiler, element_type) -> None: ...

class IdentifierError(SQLAlchemyError): ...
class DisconnectionError(SQLAlchemyError): ...
class TimeoutError(SQLAlchemyError): ...
class InvalidRequestError(SQLAlchemyError): ...
class NoInspectionAvailable(InvalidRequestError): ...
class ResourceClosedError(InvalidRequestError): ...
class NoSuchColumnError(KeyError, InvalidRequestError): ...
class NoReferenceError(InvalidRequestError): ...

class NoReferencedTableError(NoReferenceError):
    table_name = ... # type: Any
    def __init__(self, message, tname) -> None: ...
    def __reduce__(self): ...

class NoReferencedColumnError(NoReferenceError):
    table_name = ... # type: Any
    column_name = ... # type: Any
    def __init__(self, message, tname, cname) -> None: ...
    def __reduce__(self): ...

class NoSuchTableError(InvalidRequestError): ...
class UnboundExecutionError(InvalidRequestError): ...
class DontWrapMixin: ...

UnmappedColumnError = ... # type: Any

class StatementError(SQLAlchemyError):
    statement = ... # type: Any
    params = ... # type: Any
    orig = ... # type: Any
    detail = ... # type: Any
    def __init__(self, message, statement, params, orig) -> None: ...
    def add_detail(self, msg): ...
    def __reduce__(self): ...
    def __unicode__(self): ...

class DBAPIError(StatementError):
    @classmethod
    def instance(cls, statement, params, orig, dbapi_base_err, connection_invalidated=..., dialect=...): ...
    def __reduce__(self): ...
    connection_invalidated = ... # type: Any
    def __init__(self, statement, params, orig, connection_invalidated=...) -> None: ...

class InterfaceError(DBAPIError): ...
class DatabaseError(DBAPIError): ...
class DataError(DatabaseError): ...
class OperationalError(DatabaseError): ...
class IntegrityError(DatabaseError): ...
class InternalError(DatabaseError): ...
class ProgrammingError(DatabaseError): ...
class NotSupportedError(DatabaseError): ...
class SADeprecationWarning(DeprecationWarning): ...
class SAPendingDeprecationWarning(PendingDeprecationWarning): ...
class SAWarning(RuntimeWarning): ...
