from logging import Logger
from typing import Any

from django.db.backends.mysql.schema import DatabaseSchemaEditor
from django.db.models.base import Model
from django.db.models.fields import Field

logger: Logger

class MySQLGISSchemaEditor(DatabaseSchemaEditor):
    sql_add_spatial_index: str
    sql_drop_spatial_index: str
    geometry_sql: Any
    def __init__(self, *args: Any, **kwargs: Any) -> None: ...
    def skip_default(self, field: Field) -> bool: ...
    def column_sql(
        self, model: type[Model], field: Field, include_default: bool = ...
    ) -> tuple[None, None] | tuple[str, list[Any]]: ...
    def create_model(self, model: type[Model]) -> None: ...
    def add_field(self, model: type[Model], field: Field) -> None: ...
    def remove_field(self, model: type[Model], field: Field) -> None: ...
    def create_spatial_indexes(self) -> None: ...
