from typing import Any, NamedTuple

from django.db.backends.base.introspection import (
    BaseDatabaseIntrospection as BaseDatabaseIntrospection,
)

FieldInfo: Any

class InfoLine(NamedTuple):
    col_name: Any
    data_type: Any
    max_len: Any
    num_prec: Any
    num_scale: Any
    extra: Any
    column_default: Any
    is_unsigned: Any

class DatabaseIntrospection(BaseDatabaseIntrospection):
    data_types_reverse: Any = ...
    def get_field_type(self, data_type: Any, description: Any) -> Any: ...
    def get_table_list(self, cursor: Any) -> Any: ...
    def get_table_description(self, cursor: Any, table_name: Any) -> Any: ...
    def get_sequences(
        self, cursor: Any, table_name: Any, table_fields: Any = ...
    ) -> Any: ...
    def get_relations(self, cursor: Any, table_name: Any) -> Any: ...
    def get_key_columns(self, cursor: Any, table_name: Any) -> Any: ...
    def get_storage_engine(self, cursor: Any, table_name: Any) -> Any: ...
    def get_constraints(self, cursor: Any, table_name: Any) -> Any: ...
