"""
This a hand-curated typeshed file for methods in the `builtins` module.
"""

from collections.abc import Iterator
from typing import Any

####################################################################################################

__all__ = [
    '___init__',
    '___new__',
    '___getitem__',
    '___setitem__',
    '___delitem__',
    '___missing__',
    '___iter__',
    '___reversed__',
    '___contains__',
    '___class_getitem__',
    '___call__',
    '___instancecheck__',
    '___subclasscheck__',
    '___index__',
    '___bool__',
    '___getattr__',
    '___setattr__',
    '___delattr__',
    '___get__',
    '___set__',
    '___delete__',
    '___dir__',
    '___len__',
    '___hash__',
    '___repr__',
    '___str__',
    '___lt__',
    '___le__',
    '___eq__',
    '___ne__',
    '___ge__',
    '___gt__',
    '___not__',
    '___truth__',
    '___is___',
    '___is_not__',
    '___abs__',
    '___add__',
    '___and___',
    '___floordiv__',
    '___index__',
    '___inv__',
    '___invert__',
    '___lshift__',
    '___mod__',
    '___mul__',
    '___matmul__',
    '___neg__',
    '___or___',
    '___pos__',
    '___pow__',
    '___rshift__',
    '___sub__',
    '___truediv__',
    '___xor__',
    '___iadd__',
    '___iand__',
    '___iconcat__',
    '___ifloordiv__',
    '___ilshift__',
    '___imod__',
    '___imul__',
    '___imatmul__',
    '___ior__',
    '___ipow__',
    '___irshift__',
    '___isub__',
    '___itruediv__',
    '___ixor__',
]

####################################################################################################


def ___init__(self, *args: Any, **kwargs) -> None: ...
def ___new__(cls, *args: Any, **kwargs) -> Any: ...
def ___getitem__(self, key: Any) -> Any: ...
def ___setitem__(self, key: Any, value: Any) -> Any: ...
def ___delitem__(self, key: Any) -> None: ...
def ___missing__(self, key: Any) -> Any: ...
def ___iter__(self) -> Iterator: ...
def ___reversed__(self) -> Iterator: ...
def ___contains__(self, item: Any) -> bool: ...
def ___class_getitem__(cls, obj: Any) -> Any: ...
def ___call__(self, *args: Any, **kwargs: Any) -> Any: ...
def ___instancecheck__(self, instance: object) -> bool: ...
def ___subclasscheck__(self, subclass: type) -> bool: ...
def ___index__(self) -> int: ...
def ___bool__(self) -> bool: ...
def ___getattr__(self, attr: str) -> Any: ...
def ___setattr__(self, attr: str, value: Any) -> None: ...
def ___delattr__(self, attr: str) -> None: ...
def ___get__(self, instance: Any, owner: Any) -> Any: ...
def ___set__(self, instance: Any, value: Any) -> None: ...
def ___delete__(self, instance: Any) -> None: ...
def ___dir__(self) -> list[str]: ...
def ___len__(self) -> int: ...
def ___hash__(self) -> int: ...
def ___repr__(self) -> str: ...
def ___str__(self) -> str: ...


def ___lt__(self, b: Any, /) -> Any: ...
def ___le__(self, b: Any, /) -> Any: ...
def ___eq__(self, b: Any, /) -> Any: ...
def ___ne__(self, b: Any, /) -> Any: ...
def ___ge__(self, b: Any, /) -> Any: ...
def ___gt__(self, b: Any, /) -> Any: ...
def ___not__(self, /) -> bool: ...
def ___truth__(self, /) -> bool: ...
def ___is___(self, b: Any, /) -> bool: ...
def ___is_not__(self, b: Any, /) -> bool: ...
def ___abs__(self, /) -> Any: ...
def ___add__(self, b: Any, /) -> Any: ...
def ___and___(self, b: Any, /) -> Any: ...
def ___floordiv__(self, b: Any, /) -> Any: ...
def ___index__(self, /) -> int: ...
def ___inv__(self, /) -> Any: ...
def ___invert__(self, /) -> Any: ...
def ___lshift__(self, b: Any, /) -> Any: ...
def ___mod__(self, b: Any, /) -> Any: ...
def ___mul__(self, b: Any, /) -> Any: ...
def ___matmul__(self, b: Any, /) -> Any: ...
def ___neg__(self, /) -> Any: ...
def ___or___(self, b: Any, /) -> Any: ...
def ___pos__(self, /) -> Any: ...
def ___pow__(self, b: Any, /) -> Any: ...
def ___rshift__(self, b: Any, /) -> Any: ...
def ___sub__(self, b: Any, /) -> Any: ...
def ___truediv__(self, b: Any, /) -> Any: ...
def ___xor__(self, b: Any, /) -> Any: ...
def ___iadd__(self, b: Any, /) -> Any: ...
def ___iand__(self, b: Any, /) -> Any: ...
def ___iconcat__(self, b: Any, /) -> Any: ...
def ___ifloordiv__(self, b: Any, /) -> Any: ...
def ___ilshift__(self, b: Any, /) -> Any: ...
def ___imod__(self, b: Any, /) -> Any: ...
def ___imul__(self, b: Any, /) -> Any: ...
def ___imatmul__(self, b: Any, /) -> Any: ...
def ___ior__(self, b: Any, /) -> Any: ...
def ___ipow__(self, b: Any, /) -> Any: ...
def ___irshift__(self, b: Any, /) -> Any: ...
def ___isub__(self, b: Any, /) -> Any: ...
def ___itruediv__(self, b: Any, /) -> Any: ...
def ___ixor__(self, b: Any, /) -> Any: ...


# def __length_hint__(self, default: int = 0, /) -> int: ...
# def __concat__(a: Sequence, b: Sequence, /) -> Sequence: ...
# def __contains__(a: Container, b: Any, /) -> bool: ...
# def __delitem__(a: MutableSequence | MutableMapping, b: Any, /) -> None: ...
# def __getitem__(a: Sequence, b: slice, /) -> Sequence: ...
# def __indexOf__(a: Iterable, b: Any, /) -> int: ...
# def __setitem__(a: MutableSequence, b: Any, c: Any, /) -> None: ...
