from typing import Any, Optional
from .base import (
    MySQLDialect as MySQLDialect,
    MySQLExecutionContext as MySQLExecutionContext,
    MySQLCompiler as MySQLCompiler,
    MySQLIdentifierPreparer as MySQLIdentifierPreparer
)
class MySQLExecutionContext_mysqldb(MySQLExecutionContext):
    @property
    def rowcount(self) -> int: ...

class MySQLCompiler_mysqldb(MySQLCompiler):
    def visit_mod_binary(self, binary, operator, **kw): ...
    def post_process_text(self, text): ...

class MySQLIdentifierPreparer_mysqldb(MySQLIdentifierPreparer): ...

class MySQLDialect_mysqldb(MySQLDialect):
    driver: str = ...
    supports_unicode_statements: bool = ...
    supports_sane_rowcount: bool = ...
    supports_sane_multi_rowcount: bool = ...
    supports_native_decimal: bool = ...
    default_paramstyle: str = ...
    execution_ctx_cls: Any = ...
    statement_compiler: Any = ...
    preparer: Any = ...
    server_side_cursors: Any = ...
    def __init__(self, server_side_cursors: bool = ..., **kwargs) -> None: ...
    def supports_server_side_cursors(self): ...
    @classmethod
    def dbapi(cls): ...
    def do_executemany(self, cursor, statement, parameters, context: Optional[Any] = ...): ...
    def create_connect_args(self, url): ...

dialect: Any = ...
