from pandas._typing import Dtype as Dtype
from pandas.core.dtypes.base import ExtensionDtype as ExtensionDtype
from pandas.core.dtypes.cast import astype_nansafe as astype_nansafe

from pandas.core.dtypes.dtypes import register_extension_dtype as register_extension_dtype
from pandas.core.dtypes.missing import isna as isna, na_value_for_dtype as na_value_for_dtype
from typing import Any

class SparseDtype(ExtensionDtype):
    def __init__(self, dtype: Dtype=..., fill_value: Any = ...) -> None: ...
    def __hash__(self) -> Any: ...
    def __eq__(self, other: Any) -> bool: ...
    @property
    def fill_value(self) -> Any: ...
    @property
    def kind(self) -> Any: ...
    @property
    def type(self) -> Any: ...
    @property
    def subtype(self) -> Any: ...
    @property
    def name(self) -> Any: ...
    @classmethod
    def construct_array_type(cls) -> Any: ...
    @classmethod
    def construct_from_string(cls, string: Any) -> Any: ...
    @classmethod
    def is_dtype(cls, dtype: Any) -> Any: ...
    def update_dtype(self, dtype: Any) -> Any: ...
