"""
This type stub file was generated by pyright.
"""

import numpy as np
import pyarrow
from typing import Any, Callable, TYPE_CHECKING, TypeVar
from pandas._typing import npt
from pandas.util._decorators import cache_readonly
from pandas.core.arrays.masked import BaseMaskedArray, BaseMaskedDtype

if TYPE_CHECKING:
    ...
T = TypeVar("T", bound="NumericArray")
class NumericDtype(BaseMaskedDtype):
    _default_np_dtype: np.dtype
    _checker: Callable[[Any], bool]
    def __repr__(self) -> str:
        ...
    
    @cache_readonly
    def is_signed_integer(self) -> bool:
        ...
    
    @cache_readonly
    def is_unsigned_integer(self) -> bool:
        ...
    
    def __from_arrow__(self, array: pyarrow.Array | pyarrow.ChunkedArray) -> BaseMaskedArray:
        """
        Construct IntegerArray/FloatingArray from pyarrow Array/ChunkedArray.
        """
        ...
    


class NumericArray(BaseMaskedArray):
    """
    Base class for IntegerArray and FloatingArray.
    """
    _dtype_cls: type[NumericDtype]
    def __init__(self, values: np.ndarray, mask: npt.NDArray[np.bool_], copy: bool = ...) -> None:
        ...
    
    @cache_readonly
    def dtype(self) -> NumericDtype:
        ...
    
    _HANDLED_TYPES = ...


