import numpy as np
from pandas.core import ops as ops
from pandas.core.construction import extract_array as extract_array
from pandas.core.dtypes.common import ensure_platform_int as ensure_platform_int, ensure_python_int as ensure_python_int, is_integer as is_integer, is_integer_dtype as is_integer_dtype, is_list_like as is_list_like, is_scalar as is_scalar, is_timedelta64_dtype as is_timedelta64_dtype
from pandas.core.dtypes.generic import ABCTimedeltaIndex as ABCTimedeltaIndex
from pandas.core.indexes.base import Index as Index, maybe_extract_name as maybe_extract_name
from pandas.core.indexes.numeric import Int64Index as Int64Index
from pandas.core.ops.common import unpack_zerodim_and_defer as unpack_zerodim_and_defer
from pandas.io.formats.printing import pprint_thing as pprint_thing
from pandas.util._decorators import Appender as Appender, cache_readonly as cache_readonly
from typing import Any, Optional, Union

class RangeIndex(Int64Index):
    def __new__(cls, start: Optional[Any] = ..., stop: Optional[Any] = ..., step: Optional[Any] = ..., dtype: Optional[Any] = ..., copy: bool = ..., name: Optional[Any] = ...) -> Any: ...
    @classmethod
    def from_range(cls, data: Any, name: Optional[Any] = ..., dtype: Optional[Any] = ...) -> Any: ...
    def __reduce__(self) -> Any: ...
    def start(self) -> Any: ...
    def stop(self) -> Any: ...
    def step(self) -> Any: ...
    def nbytes(self) -> int: ...
    def memory_usage(self, deep: bool=...) -> int: ...
    @property
    def dtype(self) -> np.dtype: ...
    @property
    def is_unique(self) -> bool: ...
    def is_monotonic_increasing(self) -> bool: ...
    def is_monotonic_decreasing(self) -> bool: ...
    @property
    def has_duplicates(self) -> bool: ...
    def __contains__(self, key: Union[int, np.integer]) -> bool: ...
    def get_loc(self, key: Any, method: Optional[Any] = ..., tolerance: Optional[Any] = ...) -> Any: ...
    def get_indexer(self, target: Any, method: Optional[Any] = ..., limit: Optional[Any] = ..., tolerance: Optional[Any] = ...) -> Any: ...
    def tolist(self) -> Any: ...
    def copy(self, name: Optional[Any] = ..., deep: bool = ..., dtype: Optional[Any] = ..., **kwargs: Any) -> Any: ...
    def min(self, axis: Optional[Any] = ..., skipna: bool = ..., *args: Any, **kwargs: Any) -> Any: ...
    def max(self, axis: Optional[Any] = ..., skipna: bool = ..., *args: Any, **kwargs: Any) -> Any: ...
    def argsort(self, *args: Any, **kwargs: Any) -> Any: ...
    def equals(self, other: Any) -> Any: ...
    def intersection(self, other: Any, sort: bool = ...) -> Any: ...
    def join(self, other: Any, how: str = ..., level: Optional[Any] = ..., return_indexers: bool = ..., sort: bool = ...) -> Any: ...
    def __len__(self) -> int: ...
    @property
    def size(self) -> int: ...
    def __getitem__(self, key: Any) -> Any: ...
    def __floordiv__(self, other: Any) -> Any: ...
    def all(self) -> bool: ...
    def any(self) -> bool: ...
