import typing

import java
import java.chaquopy
import java.lang
import java.util.stream

class Buffer(java.lang.Object):
    def array(self) -> java.lang.Object: ...
    def arrayOffset(self) -> int: ...
    def capacity(self) -> int: ...
    def clear(self) -> Buffer: ...
    def duplicate(self) -> Buffer: ...
    def flip(self) -> Buffer: ...
    def hasArray(self) -> bool: ...
    def hasRemaining(self) -> bool: ...
    def isDirect(self) -> bool: ...
    def isReadOnly(self) -> bool: ...
    @typing.overload
    def limit(self) -> int: ...
    @typing.overload
    def limit(self, newLimit: int | java.jint | java.lang.Integer, /) -> Buffer: ...
    def mark(self) -> Buffer: ...
    @typing.overload
    def position(self) -> int: ...
    @typing.overload
    def position(self, newPosition: int | java.jint | java.lang.Integer, /) -> Buffer: ...
    def remaining(self) -> int: ...
    def reset(self) -> Buffer: ...
    def rewind(self) -> Buffer: ...
    @typing.overload
    def slice(self) -> Buffer: ...
    @typing.overload
    def slice(self, arg1: int | java.jint | java.lang.Integer, arg2: int | java.jint | java.lang.Integer, /) -> Buffer: ...

class BufferOverflowException(java.lang.RuntimeException):
    def __init__(self) -> None: ...

class BufferUnderflowException(java.lang.RuntimeException):
    def __init__(self) -> None: ...

class ByteBuffer(java.lang.Comparable[ByteBuffer], Buffer):
    def alignedSlice(self, unitSize: int | java.jint | java.lang.Integer, /) -> ByteBuffer: ...
    def alignmentOffset(self, index: int | java.jint | java.lang.Integer, unitSize: int | java.jint | java.lang.Integer, /) -> int: ...
    @staticmethod
    def allocate(capacity: int | java.jint | java.lang.Integer, /) -> ByteBuffer: ...
    @staticmethod
    def allocateDirect(capacity: int | java.jint | java.lang.Integer, /) -> ByteBuffer: ...
    def array(self) -> java.chaquopy.JavaArrayJByte: ...
    def arrayOffset(self) -> int: ...
    def asCharBuffer(self) -> CharBuffer: ...
    def asDoubleBuffer(self) -> DoubleBuffer: ...
    def asFloatBuffer(self) -> FloatBuffer: ...
    def asIntBuffer(self) -> IntBuffer: ...
    def asLongBuffer(self) -> LongBuffer: ...
    def asReadOnlyBuffer(self) -> ByteBuffer: ...
    def asShortBuffer(self) -> ShortBuffer: ...
    def clear(self) -> Buffer: ...
    def compact(self) -> ByteBuffer: ...
    def compareTo(self, that: ByteBuffer, /) -> int: ...
    def duplicate(self) -> ByteBuffer: ...
    def equals(self, ob: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def flip(self) -> Buffer: ...
    @typing.overload
    def get(self) -> int: ...
    @typing.overload
    def get(self, arg1: int | java.jint | java.lang.Integer, /) -> int: ...
    @typing.overload
    def get(self, dst: java.chaquopy.JavaArrayJByte, /) -> ByteBuffer: ...
    @typing.overload
    def get(self, index: int | java.jint | java.lang.Integer, dst: java.chaquopy.JavaArrayJByte, /) -> ByteBuffer: ...
    @typing.overload
    def get(self, dst: java.chaquopy.JavaArrayJByte, offset: int | java.jint | java.lang.Integer, length: int | java.jint | java.lang.Integer, /) -> ByteBuffer: ...
    @typing.overload
    def get(self, index: int | java.jint | java.lang.Integer, dst: java.chaquopy.JavaArrayJByte, offset: int | java.jint | java.lang.Integer, length: int | java.jint | java.lang.Integer, /) -> ByteBuffer: ...
    @typing.overload
    def getChar(self) -> str: ...
    @typing.overload
    def getChar(self, arg1: int | java.jint | java.lang.Integer, /) -> str: ...
    @typing.overload
    def getDouble(self) -> float: ...
    @typing.overload
    def getDouble(self, arg1: int | java.jint | java.lang.Integer, /) -> float: ...
    @typing.overload
    def getFloat(self) -> float: ...
    @typing.overload
    def getFloat(self, arg1: int | java.jint | java.lang.Integer, /) -> float: ...
    @typing.overload
    def getInt(self) -> int: ...
    @typing.overload
    def getInt(self, arg1: int | java.jint | java.lang.Integer, /) -> int: ...
    @typing.overload
    def getLong(self) -> int: ...
    @typing.overload
    def getLong(self, arg1: int | java.jint | java.lang.Integer, /) -> int: ...
    @typing.overload
    def getShort(self) -> int: ...
    @typing.overload
    def getShort(self, arg1: int | java.jint | java.lang.Integer, /) -> int: ...
    def hasArray(self) -> bool: ...
    def hashCode(self) -> int: ...
    def isDirect(self) -> bool: ...
    def limit(self, newLimit: int | java.jint | java.lang.Integer, /) -> Buffer: ...
    def mark(self) -> Buffer: ...
    def mismatch(self, that: ByteBuffer, /) -> int: ...
    @typing.overload
    def order(self) -> ByteOrder: ...
    @typing.overload
    def order(self, bo: ByteOrder, /) -> ByteBuffer: ...
    def position(self, newPosition: int | java.jint | java.lang.Integer, /) -> Buffer: ...
    @typing.overload
    def put(self, arg1: int | java.jbyte | java.lang.Byte, /) -> ByteBuffer: ...
    @typing.overload
    def put(self, src: ByteBuffer, /) -> ByteBuffer: ...
    @typing.overload
    def put(self, src: java.chaquopy.JavaArrayJByte, /) -> ByteBuffer: ...
    @typing.overload
    def put(self, arg1: int | java.jint | java.lang.Integer, arg2: int | java.jbyte | java.lang.Byte, /) -> ByteBuffer: ...
    @typing.overload
    def put(self, index: int | java.jint | java.lang.Integer, src: java.chaquopy.JavaArrayJByte, /) -> ByteBuffer: ...
    @typing.overload
    def put(self, src: java.chaquopy.JavaArrayJByte, offset: int | java.jint | java.lang.Integer, length: int | java.jint | java.lang.Integer, /) -> ByteBuffer: ...
    @typing.overload
    def put(self, index: int | java.jint | java.lang.Integer, src: ByteBuffer, offset: int | java.jint | java.lang.Integer, length: int | java.jint | java.lang.Integer, /) -> ByteBuffer: ...
    @typing.overload
    def put(self, index: int | java.jint | java.lang.Integer, src: java.chaquopy.JavaArrayJByte, offset: int | java.jint | java.lang.Integer, length: int | java.jint | java.lang.Integer, /) -> ByteBuffer: ...
    @typing.overload
    def putChar(self, arg1: str | java.jchar | java.lang.Character, /) -> ByteBuffer: ...
    @typing.overload
    def putChar(self, arg1: int | java.jint | java.lang.Integer, arg2: str | java.jchar | java.lang.Character, /) -> ByteBuffer: ...
    @typing.overload
    def putDouble(self, arg1: float | java.jdouble | java.lang.Double, /) -> ByteBuffer: ...
    @typing.overload
    def putDouble(self, arg1: int | java.jint | java.lang.Integer, arg2: float | java.jdouble | java.lang.Double, /) -> ByteBuffer: ...
    @typing.overload
    def putFloat(self, arg1: float | java.jfloat | java.lang.Float, /) -> ByteBuffer: ...
    @typing.overload
    def putFloat(self, arg1: int | java.jint | java.lang.Integer, arg2: float | java.jfloat | java.lang.Float, /) -> ByteBuffer: ...
    @typing.overload
    def putInt(self, arg1: int | java.jint | java.lang.Integer, /) -> ByteBuffer: ...
    @typing.overload
    def putInt(self, arg1: int | java.jint | java.lang.Integer, arg2: int | java.jint | java.lang.Integer, /) -> ByteBuffer: ...
    @typing.overload
    def putLong(self, arg1: int | java.jlong | java.lang.Long, /) -> ByteBuffer: ...
    @typing.overload
    def putLong(self, arg1: int | java.jint | java.lang.Integer, arg2: int | java.jlong | java.lang.Long, /) -> ByteBuffer: ...
    @typing.overload
    def putShort(self, arg1: int | java.jshort | java.lang.Short, /) -> ByteBuffer: ...
    @typing.overload
    def putShort(self, arg1: int | java.jint | java.lang.Integer, arg2: int | java.jshort | java.lang.Short, /) -> ByteBuffer: ...
    def reset(self) -> Buffer: ...
    def rewind(self) -> Buffer: ...
    @typing.overload
    def slice(self) -> ByteBuffer: ...
    @typing.overload
    def slice(self, arg1: int | java.jint | java.lang.Integer, arg2: int | java.jint | java.lang.Integer, /) -> ByteBuffer: ...
    def toString(self) -> str: ...
    @typing.overload
    @staticmethod
    def wrap(array: java.chaquopy.JavaArrayJByte, /) -> ByteBuffer: ...
    @typing.overload
    @staticmethod
    def wrap(array: java.chaquopy.JavaArrayJByte, offset: int | java.jint | java.lang.Integer, length: int | java.jint | java.lang.Integer, /) -> ByteBuffer: ...

class ByteOrder(java.lang.Object):
    BIG_ENDIAN: typing.ClassVar[ByteOrder] = ...
    LITTLE_ENDIAN: typing.ClassVar[ByteOrder] = ...
    @staticmethod
    def nativeOrder() -> ByteOrder: ...
    def toString(self) -> str: ...

class CharBuffer(java.lang.Appendable, java.lang.CharSequence, java.lang.Comparable[CharBuffer], java.lang.Readable, Buffer):
    @staticmethod
    def allocate(capacity: int | java.jint | java.lang.Integer, /) -> CharBuffer: ...
    @typing.overload
    def append(self, c: str | java.jchar | java.lang.Character, /) -> CharBuffer: ...
    @typing.overload
    def append(self, csq: java.lang.CharSequence, /) -> CharBuffer: ...
    @typing.overload
    def append(self, csq: java.lang.CharSequence, start: int | java.jint | java.lang.Integer, end: int | java.jint | java.lang.Integer, /) -> CharBuffer: ...
    def array(self) -> java.chaquopy.JavaArrayJChar: ...
    def arrayOffset(self) -> int: ...
    def asReadOnlyBuffer(self) -> CharBuffer: ...
    def charAt(self, index: int | java.jint | java.lang.Integer, /) -> str: ...
    def chars(self) -> java.util.stream.IntStream: ...
    def clear(self) -> Buffer: ...
    def compact(self) -> CharBuffer: ...
    def compareTo(self, that: CharBuffer, /) -> int: ...
    def duplicate(self) -> CharBuffer: ...
    def equals(self, ob: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def flip(self) -> Buffer: ...
    @typing.overload
    def get(self) -> str: ...
    @typing.overload
    def get(self, arg1: int | java.jint | java.lang.Integer, /) -> str: ...
    @typing.overload
    def get(self, dst: java.chaquopy.JavaArrayJChar, /) -> CharBuffer: ...
    @typing.overload
    def get(self, index: int | java.jint | java.lang.Integer, dst: java.chaquopy.JavaArrayJChar, /) -> CharBuffer: ...
    @typing.overload
    def get(self, dst: java.chaquopy.JavaArrayJChar, offset: int | java.jint | java.lang.Integer, length: int | java.jint | java.lang.Integer, /) -> CharBuffer: ...
    @typing.overload
    def get(self, index: int | java.jint | java.lang.Integer, dst: java.chaquopy.JavaArrayJChar, offset: int | java.jint | java.lang.Integer, length: int | java.jint | java.lang.Integer, /) -> CharBuffer: ...
    def hasArray(self) -> bool: ...
    def hashCode(self) -> int: ...
    def isDirect(self) -> bool: ...
    def isEmpty(self) -> bool: ...
    def length(self) -> int: ...
    def limit(self, newLimit: int | java.jint | java.lang.Integer, /) -> Buffer: ...
    def mark(self) -> Buffer: ...
    def mismatch(self, that: CharBuffer, /) -> int: ...
    def order(self) -> ByteOrder: ...
    def position(self, newPosition: int | java.jint | java.lang.Integer, /) -> Buffer: ...
    @typing.overload
    def put(self, arg1: str | java.jchar | java.lang.Character, /) -> CharBuffer: ...
    @typing.overload
    def put(self, src: str | java.lang.String, /) -> CharBuffer: ...
    @typing.overload
    def put(self, src: CharBuffer, /) -> CharBuffer: ...
    @typing.overload
    def put(self, src: java.chaquopy.JavaArrayJChar, /) -> CharBuffer: ...
    @typing.overload
    def put(self, arg1: int | java.jint | java.lang.Integer, arg2: str | java.jchar | java.lang.Character, /) -> CharBuffer: ...
    @typing.overload
    def put(self, index: int | java.jint | java.lang.Integer, src: java.chaquopy.JavaArrayJChar, /) -> CharBuffer: ...
    @typing.overload
    def put(self, src: str | java.lang.String, start: int | java.jint | java.lang.Integer, end: int | java.jint | java.lang.Integer, /) -> CharBuffer: ...
    @typing.overload
    def put(self, src: java.chaquopy.JavaArrayJChar, offset: int | java.jint | java.lang.Integer, length: int | java.jint | java.lang.Integer, /) -> CharBuffer: ...
    @typing.overload
    def put(self, index: int | java.jint | java.lang.Integer, src: CharBuffer, offset: int | java.jint | java.lang.Integer, length: int | java.jint | java.lang.Integer, /) -> CharBuffer: ...
    @typing.overload
    def put(self, index: int | java.jint | java.lang.Integer, src: java.chaquopy.JavaArrayJChar, offset: int | java.jint | java.lang.Integer, length: int | java.jint | java.lang.Integer, /) -> CharBuffer: ...
    def read(self, target: CharBuffer, /) -> int: ...
    def reset(self) -> Buffer: ...
    def rewind(self) -> Buffer: ...
    @typing.overload
    def slice(self) -> CharBuffer: ...
    @typing.overload
    def slice(self, arg1: int | java.jint | java.lang.Integer, arg2: int | java.jint | java.lang.Integer, /) -> CharBuffer: ...
    def subSequence(self, arg1: int | java.jint | java.lang.Integer, arg2: int | java.jint | java.lang.Integer, /) -> CharBuffer: ...
    def toString(self) -> str: ...
    @typing.overload
    @staticmethod
    def wrap(csq: java.lang.CharSequence, /) -> CharBuffer: ...
    @typing.overload
    @staticmethod
    def wrap(array: java.chaquopy.JavaArrayJChar, /) -> CharBuffer: ...
    @typing.overload
    @staticmethod
    def wrap(csq: java.lang.CharSequence, start: int | java.jint | java.lang.Integer, end: int | java.jint | java.lang.Integer, /) -> CharBuffer: ...
    @typing.overload
    @staticmethod
    def wrap(array: java.chaquopy.JavaArrayJChar, offset: int | java.jint | java.lang.Integer, length: int | java.jint | java.lang.Integer, /) -> CharBuffer: ...

class DoubleBuffer(java.lang.Comparable[DoubleBuffer], Buffer):
    @staticmethod
    def allocate(capacity: int | java.jint | java.lang.Integer, /) -> DoubleBuffer: ...
    def array(self) -> java.chaquopy.JavaArrayJDouble: ...
    def arrayOffset(self) -> int: ...
    def asReadOnlyBuffer(self) -> DoubleBuffer: ...
    def clear(self) -> Buffer: ...
    def compact(self) -> DoubleBuffer: ...
    def compareTo(self, that: DoubleBuffer, /) -> int: ...
    def duplicate(self) -> DoubleBuffer: ...
    def equals(self, ob: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def flip(self) -> Buffer: ...
    @typing.overload
    def get(self) -> float: ...
    @typing.overload
    def get(self, arg1: int | java.jint | java.lang.Integer, /) -> float: ...
    @typing.overload
    def get(self, dst: java.chaquopy.JavaArrayJDouble, /) -> DoubleBuffer: ...
    @typing.overload
    def get(self, index: int | java.jint | java.lang.Integer, dst: java.chaquopy.JavaArrayJDouble, /) -> DoubleBuffer: ...
    @typing.overload
    def get(self, dst: java.chaquopy.JavaArrayJDouble, offset: int | java.jint | java.lang.Integer, length: int | java.jint | java.lang.Integer, /) -> DoubleBuffer: ...
    @typing.overload
    def get(self, index: int | java.jint | java.lang.Integer, dst: java.chaquopy.JavaArrayJDouble, offset: int | java.jint | java.lang.Integer, length: int | java.jint | java.lang.Integer, /) -> DoubleBuffer: ...
    def hasArray(self) -> bool: ...
    def hashCode(self) -> int: ...
    def isDirect(self) -> bool: ...
    def limit(self, newLimit: int | java.jint | java.lang.Integer, /) -> Buffer: ...
    def mark(self) -> Buffer: ...
    def mismatch(self, that: DoubleBuffer, /) -> int: ...
    def order(self) -> ByteOrder: ...
    def position(self, newPosition: int | java.jint | java.lang.Integer, /) -> Buffer: ...
    @typing.overload
    def put(self, arg1: float | java.jdouble | java.lang.Double, /) -> DoubleBuffer: ...
    @typing.overload
    def put(self, src: DoubleBuffer, /) -> DoubleBuffer: ...
    @typing.overload
    def put(self, src: java.chaquopy.JavaArrayJDouble, /) -> DoubleBuffer: ...
    @typing.overload
    def put(self, arg1: int | java.jint | java.lang.Integer, arg2: float | java.jdouble | java.lang.Double, /) -> DoubleBuffer: ...
    @typing.overload
    def put(self, index: int | java.jint | java.lang.Integer, src: java.chaquopy.JavaArrayJDouble, /) -> DoubleBuffer: ...
    @typing.overload
    def put(self, src: java.chaquopy.JavaArrayJDouble, offset: int | java.jint | java.lang.Integer, length: int | java.jint | java.lang.Integer, /) -> DoubleBuffer: ...
    @typing.overload
    def put(self, index: int | java.jint | java.lang.Integer, src: DoubleBuffer, offset: int | java.jint | java.lang.Integer, length: int | java.jint | java.lang.Integer, /) -> DoubleBuffer: ...
    @typing.overload
    def put(self, index: int | java.jint | java.lang.Integer, src: java.chaquopy.JavaArrayJDouble, offset: int | java.jint | java.lang.Integer, length: int | java.jint | java.lang.Integer, /) -> DoubleBuffer: ...
    def reset(self) -> Buffer: ...
    def rewind(self) -> Buffer: ...
    @typing.overload
    def slice(self) -> DoubleBuffer: ...
    @typing.overload
    def slice(self, arg1: int | java.jint | java.lang.Integer, arg2: int | java.jint | java.lang.Integer, /) -> DoubleBuffer: ...
    def toString(self) -> str: ...
    @typing.overload
    @staticmethod
    def wrap(array: java.chaquopy.JavaArrayJDouble, /) -> DoubleBuffer: ...
    @typing.overload
    @staticmethod
    def wrap(array: java.chaquopy.JavaArrayJDouble, offset: int | java.jint | java.lang.Integer, length: int | java.jint | java.lang.Integer, /) -> DoubleBuffer: ...

class FloatBuffer(java.lang.Comparable[FloatBuffer], Buffer):
    @staticmethod
    def allocate(capacity: int | java.jint | java.lang.Integer, /) -> FloatBuffer: ...
    def array(self) -> java.chaquopy.JavaArrayJFloat: ...
    def arrayOffset(self) -> int: ...
    def asReadOnlyBuffer(self) -> FloatBuffer: ...
    def clear(self) -> Buffer: ...
    def compact(self) -> FloatBuffer: ...
    def compareTo(self, that: FloatBuffer, /) -> int: ...
    def duplicate(self) -> FloatBuffer: ...
    def equals(self, ob: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def flip(self) -> Buffer: ...
    @typing.overload
    def get(self) -> float: ...
    @typing.overload
    def get(self, arg1: int | java.jint | java.lang.Integer, /) -> float: ...
    @typing.overload
    def get(self, dst: java.chaquopy.JavaArrayJFloat, /) -> FloatBuffer: ...
    @typing.overload
    def get(self, index: int | java.jint | java.lang.Integer, dst: java.chaquopy.JavaArrayJFloat, /) -> FloatBuffer: ...
    @typing.overload
    def get(self, dst: java.chaquopy.JavaArrayJFloat, offset: int | java.jint | java.lang.Integer, length: int | java.jint | java.lang.Integer, /) -> FloatBuffer: ...
    @typing.overload
    def get(self, index: int | java.jint | java.lang.Integer, dst: java.chaquopy.JavaArrayJFloat, offset: int | java.jint | java.lang.Integer, length: int | java.jint | java.lang.Integer, /) -> FloatBuffer: ...
    def hasArray(self) -> bool: ...
    def hashCode(self) -> int: ...
    def isDirect(self) -> bool: ...
    def limit(self, newLimit: int | java.jint | java.lang.Integer, /) -> Buffer: ...
    def mark(self) -> Buffer: ...
    def mismatch(self, that: FloatBuffer, /) -> int: ...
    def order(self) -> ByteOrder: ...
    def position(self, newPosition: int | java.jint | java.lang.Integer, /) -> Buffer: ...
    @typing.overload
    def put(self, arg1: float | java.jfloat | java.lang.Float, /) -> FloatBuffer: ...
    @typing.overload
    def put(self, src: FloatBuffer, /) -> FloatBuffer: ...
    @typing.overload
    def put(self, src: java.chaquopy.JavaArrayJFloat, /) -> FloatBuffer: ...
    @typing.overload
    def put(self, arg1: int | java.jint | java.lang.Integer, arg2: float | java.jfloat | java.lang.Float, /) -> FloatBuffer: ...
    @typing.overload
    def put(self, index: int | java.jint | java.lang.Integer, src: java.chaquopy.JavaArrayJFloat, /) -> FloatBuffer: ...
    @typing.overload
    def put(self, src: java.chaquopy.JavaArrayJFloat, offset: int | java.jint | java.lang.Integer, length: int | java.jint | java.lang.Integer, /) -> FloatBuffer: ...
    @typing.overload
    def put(self, index: int | java.jint | java.lang.Integer, src: FloatBuffer, offset: int | java.jint | java.lang.Integer, length: int | java.jint | java.lang.Integer, /) -> FloatBuffer: ...
    @typing.overload
    def put(self, index: int | java.jint | java.lang.Integer, src: java.chaquopy.JavaArrayJFloat, offset: int | java.jint | java.lang.Integer, length: int | java.jint | java.lang.Integer, /) -> FloatBuffer: ...
    def reset(self) -> Buffer: ...
    def rewind(self) -> Buffer: ...
    @typing.overload
    def slice(self) -> FloatBuffer: ...
    @typing.overload
    def slice(self, arg1: int | java.jint | java.lang.Integer, arg2: int | java.jint | java.lang.Integer, /) -> FloatBuffer: ...
    def toString(self) -> str: ...
    @typing.overload
    @staticmethod
    def wrap(array: java.chaquopy.JavaArrayJFloat, /) -> FloatBuffer: ...
    @typing.overload
    @staticmethod
    def wrap(array: java.chaquopy.JavaArrayJFloat, offset: int | java.jint | java.lang.Integer, length: int | java.jint | java.lang.Integer, /) -> FloatBuffer: ...

class IntBuffer(java.lang.Comparable[IntBuffer], Buffer):
    @staticmethod
    def allocate(capacity: int | java.jint | java.lang.Integer, /) -> IntBuffer: ...
    def array(self) -> java.chaquopy.JavaArrayJInt: ...
    def arrayOffset(self) -> int: ...
    def asReadOnlyBuffer(self) -> IntBuffer: ...
    def clear(self) -> Buffer: ...
    def compact(self) -> IntBuffer: ...
    def compareTo(self, that: IntBuffer, /) -> int: ...
    def duplicate(self) -> IntBuffer: ...
    def equals(self, ob: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def flip(self) -> Buffer: ...
    @typing.overload
    def get(self) -> int: ...
    @typing.overload
    def get(self, arg1: int | java.jint | java.lang.Integer, /) -> int: ...
    @typing.overload
    def get(self, dst: java.chaquopy.JavaArrayJInt, /) -> IntBuffer: ...
    @typing.overload
    def get(self, index: int | java.jint | java.lang.Integer, dst: java.chaquopy.JavaArrayJInt, /) -> IntBuffer: ...
    @typing.overload
    def get(self, dst: java.chaquopy.JavaArrayJInt, offset: int | java.jint | java.lang.Integer, length: int | java.jint | java.lang.Integer, /) -> IntBuffer: ...
    @typing.overload
    def get(self, index: int | java.jint | java.lang.Integer, dst: java.chaquopy.JavaArrayJInt, offset: int | java.jint | java.lang.Integer, length: int | java.jint | java.lang.Integer, /) -> IntBuffer: ...
    def hasArray(self) -> bool: ...
    def hashCode(self) -> int: ...
    def isDirect(self) -> bool: ...
    def limit(self, newLimit: int | java.jint | java.lang.Integer, /) -> Buffer: ...
    def mark(self) -> Buffer: ...
    def mismatch(self, that: IntBuffer, /) -> int: ...
    def order(self) -> ByteOrder: ...
    def position(self, newPosition: int | java.jint | java.lang.Integer, /) -> Buffer: ...
    @typing.overload
    def put(self, arg1: int | java.jint | java.lang.Integer, /) -> IntBuffer: ...
    @typing.overload
    def put(self, src: IntBuffer, /) -> IntBuffer: ...
    @typing.overload
    def put(self, src: java.chaquopy.JavaArrayJInt, /) -> IntBuffer: ...
    @typing.overload
    def put(self, arg1: int | java.jint | java.lang.Integer, arg2: int | java.jint | java.lang.Integer, /) -> IntBuffer: ...
    @typing.overload
    def put(self, index: int | java.jint | java.lang.Integer, src: java.chaquopy.JavaArrayJInt, /) -> IntBuffer: ...
    @typing.overload
    def put(self, src: java.chaquopy.JavaArrayJInt, offset: int | java.jint | java.lang.Integer, length: int | java.jint | java.lang.Integer, /) -> IntBuffer: ...
    @typing.overload
    def put(self, index: int | java.jint | java.lang.Integer, src: IntBuffer, offset: int | java.jint | java.lang.Integer, length: int | java.jint | java.lang.Integer, /) -> IntBuffer: ...
    @typing.overload
    def put(self, index: int | java.jint | java.lang.Integer, src: java.chaquopy.JavaArrayJInt, offset: int | java.jint | java.lang.Integer, length: int | java.jint | java.lang.Integer, /) -> IntBuffer: ...
    def reset(self) -> Buffer: ...
    def rewind(self) -> Buffer: ...
    @typing.overload
    def slice(self) -> IntBuffer: ...
    @typing.overload
    def slice(self, arg1: int | java.jint | java.lang.Integer, arg2: int | java.jint | java.lang.Integer, /) -> IntBuffer: ...
    def toString(self) -> str: ...
    @typing.overload
    @staticmethod
    def wrap(array: java.chaquopy.JavaArrayJInt, /) -> IntBuffer: ...
    @typing.overload
    @staticmethod
    def wrap(array: java.chaquopy.JavaArrayJInt, offset: int | java.jint | java.lang.Integer, length: int | java.jint | java.lang.Integer, /) -> IntBuffer: ...

class InvalidMarkException(java.lang.IllegalStateException):
    def __init__(self) -> None: ...

class LongBuffer(java.lang.Comparable[LongBuffer], Buffer):
    @staticmethod
    def allocate(capacity: int | java.jint | java.lang.Integer, /) -> LongBuffer: ...
    def array(self) -> java.chaquopy.JavaArrayJLong: ...
    def arrayOffset(self) -> int: ...
    def asReadOnlyBuffer(self) -> LongBuffer: ...
    def clear(self) -> Buffer: ...
    def compact(self) -> LongBuffer: ...
    def compareTo(self, that: LongBuffer, /) -> int: ...
    def duplicate(self) -> LongBuffer: ...
    def equals(self, ob: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def flip(self) -> Buffer: ...
    @typing.overload
    def get(self) -> int: ...
    @typing.overload
    def get(self, arg1: int | java.jint | java.lang.Integer, /) -> int: ...
    @typing.overload
    def get(self, dst: java.chaquopy.JavaArrayJLong, /) -> LongBuffer: ...
    @typing.overload
    def get(self, index: int | java.jint | java.lang.Integer, dst: java.chaquopy.JavaArrayJLong, /) -> LongBuffer: ...
    @typing.overload
    def get(self, dst: java.chaquopy.JavaArrayJLong, offset: int | java.jint | java.lang.Integer, length: int | java.jint | java.lang.Integer, /) -> LongBuffer: ...
    @typing.overload
    def get(self, index: int | java.jint | java.lang.Integer, dst: java.chaquopy.JavaArrayJLong, offset: int | java.jint | java.lang.Integer, length: int | java.jint | java.lang.Integer, /) -> LongBuffer: ...
    def hasArray(self) -> bool: ...
    def hashCode(self) -> int: ...
    def isDirect(self) -> bool: ...
    def limit(self, newLimit: int | java.jint | java.lang.Integer, /) -> Buffer: ...
    def mark(self) -> Buffer: ...
    def mismatch(self, that: LongBuffer, /) -> int: ...
    def order(self) -> ByteOrder: ...
    def position(self, newPosition: int | java.jint | java.lang.Integer, /) -> Buffer: ...
    @typing.overload
    def put(self, arg1: int | java.jlong | java.lang.Long, /) -> LongBuffer: ...
    @typing.overload
    def put(self, src: LongBuffer, /) -> LongBuffer: ...
    @typing.overload
    def put(self, src: java.chaquopy.JavaArrayJLong, /) -> LongBuffer: ...
    @typing.overload
    def put(self, arg1: int | java.jint | java.lang.Integer, arg2: int | java.jlong | java.lang.Long, /) -> LongBuffer: ...
    @typing.overload
    def put(self, index: int | java.jint | java.lang.Integer, src: java.chaquopy.JavaArrayJLong, /) -> LongBuffer: ...
    @typing.overload
    def put(self, src: java.chaquopy.JavaArrayJLong, offset: int | java.jint | java.lang.Integer, length: int | java.jint | java.lang.Integer, /) -> LongBuffer: ...
    @typing.overload
    def put(self, index: int | java.jint | java.lang.Integer, src: LongBuffer, offset: int | java.jint | java.lang.Integer, length: int | java.jint | java.lang.Integer, /) -> LongBuffer: ...
    @typing.overload
    def put(self, index: int | java.jint | java.lang.Integer, src: java.chaquopy.JavaArrayJLong, offset: int | java.jint | java.lang.Integer, length: int | java.jint | java.lang.Integer, /) -> LongBuffer: ...
    def reset(self) -> Buffer: ...
    def rewind(self) -> Buffer: ...
    @typing.overload
    def slice(self) -> LongBuffer: ...
    @typing.overload
    def slice(self, arg1: int | java.jint | java.lang.Integer, arg2: int | java.jint | java.lang.Integer, /) -> LongBuffer: ...
    def toString(self) -> str: ...
    @typing.overload
    @staticmethod
    def wrap(array: java.chaquopy.JavaArrayJLong, /) -> LongBuffer: ...
    @typing.overload
    @staticmethod
    def wrap(array: java.chaquopy.JavaArrayJLong, offset: int | java.jint | java.lang.Integer, length: int | java.jint | java.lang.Integer, /) -> LongBuffer: ...

class MappedByteBuffer(ByteBuffer):
    def clear(self) -> Buffer: ...
    def compact(self) -> ByteBuffer: ...
    def duplicate(self) -> ByteBuffer: ...
    def flip(self) -> Buffer: ...
    @typing.overload
    def force(self) -> MappedByteBuffer: ...
    @typing.overload
    def force(self, index: int | java.jint | java.lang.Integer, length: int | java.jint | java.lang.Integer, /) -> MappedByteBuffer: ...
    def isLoaded(self) -> bool: ...
    def limit(self, newLimit: int | java.jint | java.lang.Integer, /) -> Buffer: ...
    def load(self) -> MappedByteBuffer: ...
    def mark(self) -> Buffer: ...
    def position(self, newPosition: int | java.jint | java.lang.Integer, /) -> Buffer: ...
    def reset(self) -> Buffer: ...
    def rewind(self) -> Buffer: ...
    @typing.overload
    def slice(self) -> ByteBuffer: ...
    @typing.overload
    def slice(self, arg1: int | java.jint | java.lang.Integer, arg2: int | java.jint | java.lang.Integer, /) -> MappedByteBuffer: ...

class ReadOnlyBufferException(java.lang.UnsupportedOperationException):
    def __init__(self) -> None: ...

class ShortBuffer(java.lang.Comparable[ShortBuffer], Buffer):
    @staticmethod
    def allocate(capacity: int | java.jint | java.lang.Integer, /) -> ShortBuffer: ...
    def array(self) -> java.chaquopy.JavaArrayJShort: ...
    def arrayOffset(self) -> int: ...
    def asReadOnlyBuffer(self) -> ShortBuffer: ...
    def clear(self) -> Buffer: ...
    def compact(self) -> ShortBuffer: ...
    def compareTo(self, that: ShortBuffer, /) -> int: ...
    def duplicate(self) -> ShortBuffer: ...
    def equals(self, ob: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def flip(self) -> Buffer: ...
    @typing.overload
    def get(self) -> int: ...
    @typing.overload
    def get(self, arg1: int | java.jint | java.lang.Integer, /) -> int: ...
    @typing.overload
    def get(self, dst: java.chaquopy.JavaArrayJShort, /) -> ShortBuffer: ...
    @typing.overload
    def get(self, index: int | java.jint | java.lang.Integer, dst: java.chaquopy.JavaArrayJShort, /) -> ShortBuffer: ...
    @typing.overload
    def get(self, dst: java.chaquopy.JavaArrayJShort, offset: int | java.jint | java.lang.Integer, length: int | java.jint | java.lang.Integer, /) -> ShortBuffer: ...
    @typing.overload
    def get(self, index: int | java.jint | java.lang.Integer, dst: java.chaquopy.JavaArrayJShort, offset: int | java.jint | java.lang.Integer, length: int | java.jint | java.lang.Integer, /) -> ShortBuffer: ...
    def hasArray(self) -> bool: ...
    def hashCode(self) -> int: ...
    def isDirect(self) -> bool: ...
    def limit(self, newLimit: int | java.jint | java.lang.Integer, /) -> Buffer: ...
    def mark(self) -> Buffer: ...
    def mismatch(self, that: ShortBuffer, /) -> int: ...
    def order(self) -> ByteOrder: ...
    def position(self, newPosition: int | java.jint | java.lang.Integer, /) -> Buffer: ...
    @typing.overload
    def put(self, src: ShortBuffer, /) -> ShortBuffer: ...
    @typing.overload
    def put(self, arg1: int | java.jshort | java.lang.Short, /) -> ShortBuffer: ...
    @typing.overload
    def put(self, src: java.chaquopy.JavaArrayJShort, /) -> ShortBuffer: ...
    @typing.overload
    def put(self, arg1: int | java.jint | java.lang.Integer, arg2: int | java.jshort | java.lang.Short, /) -> ShortBuffer: ...
    @typing.overload
    def put(self, index: int | java.jint | java.lang.Integer, src: java.chaquopy.JavaArrayJShort, /) -> ShortBuffer: ...
    @typing.overload
    def put(self, src: java.chaquopy.JavaArrayJShort, offset: int | java.jint | java.lang.Integer, length: int | java.jint | java.lang.Integer, /) -> ShortBuffer: ...
    @typing.overload
    def put(self, index: int | java.jint | java.lang.Integer, src: ShortBuffer, offset: int | java.jint | java.lang.Integer, length: int | java.jint | java.lang.Integer, /) -> ShortBuffer: ...
    @typing.overload
    def put(self, index: int | java.jint | java.lang.Integer, src: java.chaquopy.JavaArrayJShort, offset: int | java.jint | java.lang.Integer, length: int | java.jint | java.lang.Integer, /) -> ShortBuffer: ...
    def reset(self) -> Buffer: ...
    def rewind(self) -> Buffer: ...
    @typing.overload
    def slice(self) -> ShortBuffer: ...
    @typing.overload
    def slice(self, arg1: int | java.jint | java.lang.Integer, arg2: int | java.jint | java.lang.Integer, /) -> ShortBuffer: ...
    def toString(self) -> str: ...
    @typing.overload
    @staticmethod
    def wrap(array: java.chaquopy.JavaArrayJShort, /) -> ShortBuffer: ...
    @typing.overload
    @staticmethod
    def wrap(array: java.chaquopy.JavaArrayJShort, offset: int | java.jint | java.lang.Integer, length: int | java.jint | java.lang.Integer, /) -> ShortBuffer: ...
