import typing

import android.content
import android.content.res
import android.graphics
import android.view
import java
import java.chaquopy
import java.lang
import java.nio

class Allocation(BaseObj):
    USAGE_GRAPHICS_CONSTANTS: typing.ClassVar[int] = ...
    USAGE_GRAPHICS_RENDER_TARGET: typing.ClassVar[int] = ...
    USAGE_GRAPHICS_TEXTURE: typing.ClassVar[int] = ...
    USAGE_GRAPHICS_VERTEX: typing.ClassVar[int] = ...
    USAGE_IO_INPUT: typing.ClassVar[int] = ...
    USAGE_IO_OUTPUT: typing.ClassVar[int] = ...
    USAGE_SCRIPT: typing.ClassVar[int] = ...
    USAGE_SHARED: typing.ClassVar[int] = ...
    @typing.overload
    def copy1DRangeFrom(self, off: int | java.jint | java.lang.Integer, count: int | java.jint | java.lang.Integer, array: java.lang.Object | int | bool | float | str, /) -> None: ...
    @typing.overload
    def copy1DRangeFrom(self, off: int | java.jint | java.lang.Integer, count: int | java.jint | java.lang.Integer, d: java.chaquopy.JavaArrayJByte, /) -> None: ...
    @typing.overload
    def copy1DRangeFrom(self, off: int | java.jint | java.lang.Integer, count: int | java.jint | java.lang.Integer, d: java.chaquopy.JavaArrayJFloat, /) -> None: ...
    @typing.overload
    def copy1DRangeFrom(self, off: int | java.jint | java.lang.Integer, count: int | java.jint | java.lang.Integer, d: java.chaquopy.JavaArrayJInt, /) -> None: ...
    @typing.overload
    def copy1DRangeFrom(self, off: int | java.jint | java.lang.Integer, count: int | java.jint | java.lang.Integer, d: java.chaquopy.JavaArrayJShort, /) -> None: ...
    @typing.overload
    def copy1DRangeFrom(self, off: int | java.jint | java.lang.Integer, count: int | java.jint | java.lang.Integer, data: Allocation, dataOff: int | java.jint | java.lang.Integer, /) -> None: ...
    @typing.overload
    def copy1DRangeFromUnchecked(self, off: int | java.jint | java.lang.Integer, count: int | java.jint | java.lang.Integer, array: java.lang.Object | int | bool | float | str, /) -> None: ...
    @typing.overload
    def copy1DRangeFromUnchecked(self, off: int | java.jint | java.lang.Integer, count: int | java.jint | java.lang.Integer, d: java.chaquopy.JavaArrayJByte, /) -> None: ...
    @typing.overload
    def copy1DRangeFromUnchecked(self, off: int | java.jint | java.lang.Integer, count: int | java.jint | java.lang.Integer, d: java.chaquopy.JavaArrayJFloat, /) -> None: ...
    @typing.overload
    def copy1DRangeFromUnchecked(self, off: int | java.jint | java.lang.Integer, count: int | java.jint | java.lang.Integer, d: java.chaquopy.JavaArrayJInt, /) -> None: ...
    @typing.overload
    def copy1DRangeFromUnchecked(self, off: int | java.jint | java.lang.Integer, count: int | java.jint | java.lang.Integer, d: java.chaquopy.JavaArrayJShort, /) -> None: ...
    @typing.overload
    def copy1DRangeTo(self, off: int | java.jint | java.lang.Integer, count: int | java.jint | java.lang.Integer, array: java.lang.Object | int | bool | float | str, /) -> None: ...
    @typing.overload
    def copy1DRangeTo(self, off: int | java.jint | java.lang.Integer, count: int | java.jint | java.lang.Integer, d: java.chaquopy.JavaArrayJByte, /) -> None: ...
    @typing.overload
    def copy1DRangeTo(self, off: int | java.jint | java.lang.Integer, count: int | java.jint | java.lang.Integer, d: java.chaquopy.JavaArrayJFloat, /) -> None: ...
    @typing.overload
    def copy1DRangeTo(self, off: int | java.jint | java.lang.Integer, count: int | java.jint | java.lang.Integer, d: java.chaquopy.JavaArrayJInt, /) -> None: ...
    @typing.overload
    def copy1DRangeTo(self, off: int | java.jint | java.lang.Integer, count: int | java.jint | java.lang.Integer, d: java.chaquopy.JavaArrayJShort, /) -> None: ...
    @typing.overload
    def copy1DRangeToUnchecked(self, off: int | java.jint | java.lang.Integer, count: int | java.jint | java.lang.Integer, array: java.lang.Object | int | bool | float | str, /) -> None: ...
    @typing.overload
    def copy1DRangeToUnchecked(self, off: int | java.jint | java.lang.Integer, count: int | java.jint | java.lang.Integer, d: java.chaquopy.JavaArrayJByte, /) -> None: ...
    @typing.overload
    def copy1DRangeToUnchecked(self, off: int | java.jint | java.lang.Integer, count: int | java.jint | java.lang.Integer, d: java.chaquopy.JavaArrayJFloat, /) -> None: ...
    @typing.overload
    def copy1DRangeToUnchecked(self, off: int | java.jint | java.lang.Integer, count: int | java.jint | java.lang.Integer, d: java.chaquopy.JavaArrayJInt, /) -> None: ...
    @typing.overload
    def copy1DRangeToUnchecked(self, off: int | java.jint | java.lang.Integer, count: int | java.jint | java.lang.Integer, d: java.chaquopy.JavaArrayJShort, /) -> None: ...
    @typing.overload
    def copy2DRangeFrom(self, xoff: int | java.jint | java.lang.Integer, yoff: int | java.jint | java.lang.Integer, data: android.graphics.Bitmap, /) -> None: ...
    @typing.overload
    def copy2DRangeFrom(self, xoff: int | java.jint | java.lang.Integer, yoff: int | java.jint | java.lang.Integer, w: int | java.jint | java.lang.Integer, h: int | java.jint | java.lang.Integer, array: java.lang.Object | int | bool | float | str, /) -> None: ...
    @typing.overload
    def copy2DRangeFrom(self, xoff: int | java.jint | java.lang.Integer, yoff: int | java.jint | java.lang.Integer, w: int | java.jint | java.lang.Integer, h: int | java.jint | java.lang.Integer, data: java.chaquopy.JavaArrayJByte, /) -> None: ...
    @typing.overload
    def copy2DRangeFrom(self, xoff: int | java.jint | java.lang.Integer, yoff: int | java.jint | java.lang.Integer, w: int | java.jint | java.lang.Integer, h: int | java.jint | java.lang.Integer, data: java.chaquopy.JavaArrayJFloat, /) -> None: ...
    @typing.overload
    def copy2DRangeFrom(self, xoff: int | java.jint | java.lang.Integer, yoff: int | java.jint | java.lang.Integer, w: int | java.jint | java.lang.Integer, h: int | java.jint | java.lang.Integer, data: java.chaquopy.JavaArrayJInt, /) -> None: ...
    @typing.overload
    def copy2DRangeFrom(self, xoff: int | java.jint | java.lang.Integer, yoff: int | java.jint | java.lang.Integer, w: int | java.jint | java.lang.Integer, h: int | java.jint | java.lang.Integer, data: java.chaquopy.JavaArrayJShort, /) -> None: ...
    @typing.overload
    def copy2DRangeFrom(self, xoff: int | java.jint | java.lang.Integer, yoff: int | java.jint | java.lang.Integer, w: int | java.jint | java.lang.Integer, h: int | java.jint | java.lang.Integer, data: Allocation, dataXoff: int | java.jint | java.lang.Integer, dataYoff: int | java.jint | java.lang.Integer, /) -> None: ...
    @typing.overload
    def copy2DRangeTo(self, xoff: int | java.jint | java.lang.Integer, yoff: int | java.jint | java.lang.Integer, w: int | java.jint | java.lang.Integer, h: int | java.jint | java.lang.Integer, array: java.lang.Object | int | bool | float | str, /) -> None: ...
    @typing.overload
    def copy2DRangeTo(self, xoff: int | java.jint | java.lang.Integer, yoff: int | java.jint | java.lang.Integer, w: int | java.jint | java.lang.Integer, h: int | java.jint | java.lang.Integer, data: java.chaquopy.JavaArrayJByte, /) -> None: ...
    @typing.overload
    def copy2DRangeTo(self, xoff: int | java.jint | java.lang.Integer, yoff: int | java.jint | java.lang.Integer, w: int | java.jint | java.lang.Integer, h: int | java.jint | java.lang.Integer, data: java.chaquopy.JavaArrayJFloat, /) -> None: ...
    @typing.overload
    def copy2DRangeTo(self, xoff: int | java.jint | java.lang.Integer, yoff: int | java.jint | java.lang.Integer, w: int | java.jint | java.lang.Integer, h: int | java.jint | java.lang.Integer, data: java.chaquopy.JavaArrayJInt, /) -> None: ...
    @typing.overload
    def copy2DRangeTo(self, xoff: int | java.jint | java.lang.Integer, yoff: int | java.jint | java.lang.Integer, w: int | java.jint | java.lang.Integer, h: int | java.jint | java.lang.Integer, data: java.chaquopy.JavaArrayJShort, /) -> None: ...
    @typing.overload
    def copy3DRangeFrom(self, xoff: int | java.jint | java.lang.Integer, yoff: int | java.jint | java.lang.Integer, zoff: int | java.jint | java.lang.Integer, w: int | java.jint | java.lang.Integer, h: int | java.jint | java.lang.Integer, d: int | java.jint | java.lang.Integer, array: java.lang.Object | int | bool | float | str, /) -> None: ...
    @typing.overload
    def copy3DRangeFrom(self, xoff: int | java.jint | java.lang.Integer, yoff: int | java.jint | java.lang.Integer, zoff: int | java.jint | java.lang.Integer, w: int | java.jint | java.lang.Integer, h: int | java.jint | java.lang.Integer, d: int | java.jint | java.lang.Integer, data: Allocation, dataXoff: int | java.jint | java.lang.Integer, dataYoff: int | java.jint | java.lang.Integer, dataZoff: int | java.jint | java.lang.Integer, /) -> None: ...
    def copy3DRangeTo(self, xoff: int | java.jint | java.lang.Integer, yoff: int | java.jint | java.lang.Integer, zoff: int | java.jint | java.lang.Integer, w: int | java.jint | java.lang.Integer, h: int | java.jint | java.lang.Integer, d: int | java.jint | java.lang.Integer, array: java.lang.Object | int | bool | float | str, /) -> None: ...
    @typing.overload
    def copyFrom(self, b: android.graphics.Bitmap, /) -> None: ...
    @typing.overload
    def copyFrom(self, a: Allocation, /) -> None: ...
    @typing.overload
    def copyFrom(self, array: java.lang.Object | int | bool | float | str, /) -> None: ...
    @typing.overload
    def copyFrom(self, d: java.chaquopy.JavaArrayJByte, /) -> None: ...
    @typing.overload
    def copyFrom(self, d: java.chaquopy.JavaArrayJFloat, /) -> None: ...
    @typing.overload
    def copyFrom(self, d: java.chaquopy.JavaArrayJInt, /) -> None: ...
    @typing.overload
    def copyFrom(self, d: java.chaquopy.JavaArray[BaseObj], /) -> None: ...
    @typing.overload
    def copyFrom(self, d: java.chaquopy.JavaArrayJShort, /) -> None: ...
    @typing.overload
    def copyFromUnchecked(self, array: java.lang.Object | int | bool | float | str, /) -> None: ...
    @typing.overload
    def copyFromUnchecked(self, d: java.chaquopy.JavaArrayJByte, /) -> None: ...
    @typing.overload
    def copyFromUnchecked(self, d: java.chaquopy.JavaArrayJFloat, /) -> None: ...
    @typing.overload
    def copyFromUnchecked(self, d: java.chaquopy.JavaArrayJInt, /) -> None: ...
    @typing.overload
    def copyFromUnchecked(self, d: java.chaquopy.JavaArrayJShort, /) -> None: ...
    @typing.overload
    def copyTo(self, b: android.graphics.Bitmap, /) -> None: ...
    @typing.overload
    def copyTo(self, array: java.lang.Object | int | bool | float | str, /) -> None: ...
    @typing.overload
    def copyTo(self, d: java.chaquopy.JavaArrayJByte, /) -> None: ...
    @typing.overload
    def copyTo(self, d: java.chaquopy.JavaArrayJFloat, /) -> None: ...
    @typing.overload
    def copyTo(self, d: java.chaquopy.JavaArrayJInt, /) -> None: ...
    @typing.overload
    def copyTo(self, d: java.chaquopy.JavaArrayJShort, /) -> None: ...
    @staticmethod
    def createAllocations(rs: RenderScript, t: Type, usage: int | java.jint | java.lang.Integer, numAlloc: int | java.jint | java.lang.Integer, /) -> java.chaquopy.JavaArray[Allocation]: ...
    @typing.overload
    @staticmethod
    def createCubemapFromBitmap(rs: RenderScript, b: android.graphics.Bitmap, /) -> Allocation: ...
    @typing.overload
    @staticmethod
    def createCubemapFromBitmap(rs: RenderScript, b: android.graphics.Bitmap, mips: Allocation.MipmapControl, usage: int | java.jint | java.lang.Integer, /) -> Allocation: ...
    @typing.overload
    @staticmethod
    def createCubemapFromCubeFaces(rs: RenderScript, xpos: android.graphics.Bitmap, xneg: android.graphics.Bitmap, ypos: android.graphics.Bitmap, yneg: android.graphics.Bitmap, zpos: android.graphics.Bitmap, zneg: android.graphics.Bitmap, /) -> Allocation: ...
    @typing.overload
    @staticmethod
    def createCubemapFromCubeFaces(rs: RenderScript, xpos: android.graphics.Bitmap, xneg: android.graphics.Bitmap, ypos: android.graphics.Bitmap, yneg: android.graphics.Bitmap, zpos: android.graphics.Bitmap, zneg: android.graphics.Bitmap, mips: Allocation.MipmapControl, usage: int | java.jint | java.lang.Integer, /) -> Allocation: ...
    @typing.overload
    @staticmethod
    def createFromBitmap(rs: RenderScript, b: android.graphics.Bitmap, /) -> Allocation: ...
    @typing.overload
    @staticmethod
    def createFromBitmap(rs: RenderScript, b: android.graphics.Bitmap, mips: Allocation.MipmapControl, usage: int | java.jint | java.lang.Integer, /) -> Allocation: ...
    @typing.overload
    @staticmethod
    def createFromBitmapResource(rs: RenderScript, res: android.content.res.Resources, id: int | java.jint | java.lang.Integer, /) -> Allocation: ...
    @typing.overload
    @staticmethod
    def createFromBitmapResource(rs: RenderScript, res: android.content.res.Resources, id: int | java.jint | java.lang.Integer, mips: Allocation.MipmapControl, usage: int | java.jint | java.lang.Integer, /) -> Allocation: ...
    @staticmethod
    def createFromString(rs: RenderScript, str: str | java.lang.String, usage: int | java.jint | java.lang.Integer, /) -> Allocation: ...
    @typing.overload
    @staticmethod
    def createSized(rs: RenderScript, e: Element, count: int | java.jint | java.lang.Integer, /) -> Allocation: ...
    @typing.overload
    @staticmethod
    def createSized(rs: RenderScript, e: Element, count: int | java.jint | java.lang.Integer, usage: int | java.jint | java.lang.Integer, /) -> Allocation: ...
    @typing.overload
    @staticmethod
    def createTyped(rs: RenderScript, type: Type, /) -> Allocation: ...
    @typing.overload
    @staticmethod
    def createTyped(rs: RenderScript, type: Type, usage: int | java.jint | java.lang.Integer, /) -> Allocation: ...
    @typing.overload
    @staticmethod
    def createTyped(rs: RenderScript, type: Type, mips: Allocation.MipmapControl, usage: int | java.jint | java.lang.Integer, /) -> Allocation: ...
    def destroy(self) -> None: ...
    def finalize(self) -> None: ...
    def generateMipmaps(self) -> None: ...
    def getByteBuffer(self) -> java.nio.ByteBuffer: ...
    def getBytesSize(self) -> int: ...
    def getElement(self) -> Element: ...
    def getStride(self) -> int: ...
    def getSurface(self) -> android.view.Surface: ...
    def getTimeStamp(self) -> int: ...
    def getType(self) -> Type: ...
    def getUsage(self) -> int: ...
    def ioReceive(self) -> None: ...
    def ioSend(self) -> None: ...
    def resize(self, dimX: int | java.jint | java.lang.Integer, /) -> None: ...
    def setAutoPadding(self, useAutoPadding: bool | java.jboolean | java.lang.Boolean, /) -> None: ...
    @typing.overload
    def setFromFieldPacker(self, xoff: int | java.jint | java.lang.Integer, fp: FieldPacker, /) -> None: ...
    @typing.overload
    def setFromFieldPacker(self, xoff: int | java.jint | java.lang.Integer, component_number: int | java.jint | java.lang.Integer, fp: FieldPacker, /) -> None: ...
    @typing.overload
    def setFromFieldPacker(self, xoff: int | java.jint | java.lang.Integer, yoff: int | java.jint | java.lang.Integer, zoff: int | java.jint | java.lang.Integer, component_number: int | java.jint | java.lang.Integer, fp: FieldPacker, /) -> None: ...
    def setOnBufferAvailableListener(self, callback: Allocation.OnBufferAvailableListener, /) -> None: ...
    def setSurface(self, sur: android.view.Surface, /) -> None: ...
    def syncAll(self, srcLocation: int | java.jint | java.lang.Integer, /) -> None: ...

    class OnBufferAvailableListener(java.lang.Object):
        def onBufferAvailable(self, arg1: Allocation, /) -> None: ...

    class MipmapControl(java.lang.Enum[Allocation.MipmapControl]):
        MIPMAP_FULL: typing.ClassVar[Allocation.MipmapControl] = ...
        MIPMAP_NONE: typing.ClassVar[Allocation.MipmapControl] = ...
        MIPMAP_ON_SYNC_TO_TEXTURE: typing.ClassVar[Allocation.MipmapControl] = ...
        @staticmethod
        def valueOf(name: str | java.lang.String, /) -> Allocation.MipmapControl: ...
        @staticmethod
        def values() -> java.chaquopy.JavaArray[Allocation.MipmapControl]: ...

class AllocationAdapter(Allocation):
    @staticmethod
    def create1D(rs: RenderScript, a: Allocation, /) -> AllocationAdapter: ...
    @staticmethod
    def create2D(rs: RenderScript, a: Allocation, /) -> AllocationAdapter: ...
    @staticmethod
    def createTyped(rs: RenderScript, a: Allocation, t: Type, /) -> AllocationAdapter: ...
    def resize(self, dimX: int | java.jint | java.lang.Integer, /) -> None: ...
    def setFace(self, cf: Type.CubemapFace, /) -> None: ...
    def setLOD(self, lod: int | java.jint | java.lang.Integer, /) -> None: ...
    def setX(self, x: int | java.jint | java.lang.Integer, /) -> None: ...
    def setY(self, y: int | java.jint | java.lang.Integer, /) -> None: ...
    def setZ(self, z: int | java.jint | java.lang.Integer, /) -> None: ...

class BaseObj(java.lang.Object):
    def destroy(self) -> None: ...
    def equals(self, obj: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def finalize(self) -> None: ...
    def getName(self) -> str: ...
    def hashCode(self) -> int: ...
    def setName(self, name: str | java.lang.String, /) -> None: ...

class Byte2(java.lang.Object):
    x: int = ...
    y: int = ...
    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, initX: int | java.jbyte | java.lang.Byte, initY: int | java.jbyte | java.lang.Byte, /) -> None: ...

class Byte3(java.lang.Object):
    x: int = ...
    y: int = ...
    z: int = ...
    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, initX: int | java.jbyte | java.lang.Byte, initY: int | java.jbyte | java.lang.Byte, initZ: int | java.jbyte | java.lang.Byte, /) -> None: ...

class Byte4(java.lang.Object):
    w: int = ...
    x: int = ...
    y: int = ...
    z: int = ...
    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, initX: int | java.jbyte | java.lang.Byte, initY: int | java.jbyte | java.lang.Byte, initZ: int | java.jbyte | java.lang.Byte, initW: int | java.jbyte | java.lang.Byte, /) -> None: ...

class Double2(java.lang.Object):
    x: float = ...
    y: float = ...
    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, x: float | java.jdouble | java.lang.Double, y: float | java.jdouble | java.lang.Double, /) -> None: ...

class Double3(java.lang.Object):
    x: float = ...
    y: float = ...
    z: float = ...
    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, x: float | java.jdouble | java.lang.Double, y: float | java.jdouble | java.lang.Double, z: float | java.jdouble | java.lang.Double, /) -> None: ...

class Double4(java.lang.Object):
    w: float = ...
    x: float = ...
    y: float = ...
    z: float = ...
    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, x: float | java.jdouble | java.lang.Double, y: float | java.jdouble | java.lang.Double, z: float | java.jdouble | java.lang.Double, w: float | java.jdouble | java.lang.Double, /) -> None: ...

class Element(BaseObj):
    @staticmethod
    def ALLOCATION(rs: RenderScript, /) -> Element: ...
    @staticmethod
    def A_8(rs: RenderScript, /) -> Element: ...
    @staticmethod
    def BOOLEAN(rs: RenderScript, /) -> Element: ...
    @staticmethod
    def ELEMENT(rs: RenderScript, /) -> Element: ...
    @staticmethod
    def F16(rs: RenderScript, /) -> Element: ...
    @staticmethod
    def F16_2(rs: RenderScript, /) -> Element: ...
    @staticmethod
    def F16_3(rs: RenderScript, /) -> Element: ...
    @staticmethod
    def F16_4(rs: RenderScript, /) -> Element: ...
    @staticmethod
    def F32(rs: RenderScript, /) -> Element: ...
    @staticmethod
    def F32_2(rs: RenderScript, /) -> Element: ...
    @staticmethod
    def F32_3(rs: RenderScript, /) -> Element: ...
    @staticmethod
    def F32_4(rs: RenderScript, /) -> Element: ...
    @staticmethod
    def F64(rs: RenderScript, /) -> Element: ...
    @staticmethod
    def F64_2(rs: RenderScript, /) -> Element: ...
    @staticmethod
    def F64_3(rs: RenderScript, /) -> Element: ...
    @staticmethod
    def F64_4(rs: RenderScript, /) -> Element: ...
    @staticmethod
    def FONT(rs: RenderScript, /) -> Element: ...
    @staticmethod
    def I16(rs: RenderScript, /) -> Element: ...
    @staticmethod
    def I16_2(rs: RenderScript, /) -> Element: ...
    @staticmethod
    def I16_3(rs: RenderScript, /) -> Element: ...
    @staticmethod
    def I16_4(rs: RenderScript, /) -> Element: ...
    @staticmethod
    def I32(rs: RenderScript, /) -> Element: ...
    @staticmethod
    def I32_2(rs: RenderScript, /) -> Element: ...
    @staticmethod
    def I32_3(rs: RenderScript, /) -> Element: ...
    @staticmethod
    def I32_4(rs: RenderScript, /) -> Element: ...
    @staticmethod
    def I64(rs: RenderScript, /) -> Element: ...
    @staticmethod
    def I64_2(rs: RenderScript, /) -> Element: ...
    @staticmethod
    def I64_3(rs: RenderScript, /) -> Element: ...
    @staticmethod
    def I64_4(rs: RenderScript, /) -> Element: ...
    @staticmethod
    def I8(rs: RenderScript, /) -> Element: ...
    @staticmethod
    def I8_2(rs: RenderScript, /) -> Element: ...
    @staticmethod
    def I8_3(rs: RenderScript, /) -> Element: ...
    @staticmethod
    def I8_4(rs: RenderScript, /) -> Element: ...
    @staticmethod
    def MATRIX4X4(rs: RenderScript, /) -> Element: ...
    @staticmethod
    def MATRIX_2X2(rs: RenderScript, /) -> Element: ...
    @staticmethod
    def MATRIX_3X3(rs: RenderScript, /) -> Element: ...
    @staticmethod
    def MATRIX_4X4(rs: RenderScript, /) -> Element: ...
    @staticmethod
    def MESH(rs: RenderScript, /) -> Element: ...
    @staticmethod
    def PROGRAM_FRAGMENT(rs: RenderScript, /) -> Element: ...
    @staticmethod
    def PROGRAM_RASTER(rs: RenderScript, /) -> Element: ...
    @staticmethod
    def PROGRAM_STORE(rs: RenderScript, /) -> Element: ...
    @staticmethod
    def PROGRAM_VERTEX(rs: RenderScript, /) -> Element: ...
    @staticmethod
    def RGBA_4444(rs: RenderScript, /) -> Element: ...
    @staticmethod
    def RGBA_5551(rs: RenderScript, /) -> Element: ...
    @staticmethod
    def RGBA_8888(rs: RenderScript, /) -> Element: ...
    @staticmethod
    def RGB_565(rs: RenderScript, /) -> Element: ...
    @staticmethod
    def RGB_888(rs: RenderScript, /) -> Element: ...
    @staticmethod
    def SAMPLER(rs: RenderScript, /) -> Element: ...
    @staticmethod
    def SCRIPT(rs: RenderScript, /) -> Element: ...
    @staticmethod
    def TYPE(rs: RenderScript, /) -> Element: ...
    @staticmethod
    def U16(rs: RenderScript, /) -> Element: ...
    @staticmethod
    def U16_2(rs: RenderScript, /) -> Element: ...
    @staticmethod
    def U16_3(rs: RenderScript, /) -> Element: ...
    @staticmethod
    def U16_4(rs: RenderScript, /) -> Element: ...
    @staticmethod
    def U32(rs: RenderScript, /) -> Element: ...
    @staticmethod
    def U32_2(rs: RenderScript, /) -> Element: ...
    @staticmethod
    def U32_3(rs: RenderScript, /) -> Element: ...
    @staticmethod
    def U32_4(rs: RenderScript, /) -> Element: ...
    @staticmethod
    def U64(rs: RenderScript, /) -> Element: ...
    @staticmethod
    def U64_2(rs: RenderScript, /) -> Element: ...
    @staticmethod
    def U64_3(rs: RenderScript, /) -> Element: ...
    @staticmethod
    def U64_4(rs: RenderScript, /) -> Element: ...
    @staticmethod
    def U8(rs: RenderScript, /) -> Element: ...
    @staticmethod
    def U8_2(rs: RenderScript, /) -> Element: ...
    @staticmethod
    def U8_3(rs: RenderScript, /) -> Element: ...
    @staticmethod
    def U8_4(rs: RenderScript, /) -> Element: ...
    @staticmethod
    def YUV(rs: RenderScript, /) -> Element: ...
    @staticmethod
    def createPixel(rs: RenderScript, dt: Element.DataType, dk: Element.DataKind, /) -> Element: ...
    @staticmethod
    def createVector(rs: RenderScript, dt: Element.DataType, size: int | java.jint | java.lang.Integer, /) -> Element: ...
    def getBytesSize(self) -> int: ...
    def getDataKind(self) -> Element.DataKind: ...
    def getDataType(self) -> Element.DataType: ...
    def getSubElement(self, index: int | java.jint | java.lang.Integer, /) -> Element: ...
    def getSubElementArraySize(self, index: int | java.jint | java.lang.Integer, /) -> int: ...
    def getSubElementCount(self) -> int: ...
    def getSubElementName(self, index: int | java.jint | java.lang.Integer, /) -> str: ...
    def getSubElementOffsetBytes(self, index: int | java.jint | java.lang.Integer, /) -> int: ...
    def getVectorSize(self) -> int: ...
    def isCompatible(self, e: Element, /) -> bool: ...
    def isComplex(self) -> bool: ...

    class DataType(java.lang.Enum[Element.DataType]):
        BOOLEAN: typing.ClassVar[Element.DataType] = ...
        FLOAT_16: typing.ClassVar[Element.DataType] = ...
        FLOAT_32: typing.ClassVar[Element.DataType] = ...
        FLOAT_64: typing.ClassVar[Element.DataType] = ...
        MATRIX_2X2: typing.ClassVar[Element.DataType] = ...
        MATRIX_3X3: typing.ClassVar[Element.DataType] = ...
        MATRIX_4X4: typing.ClassVar[Element.DataType] = ...
        NONE: typing.ClassVar[Element.DataType] = ...
        RS_ALLOCATION: typing.ClassVar[Element.DataType] = ...
        RS_ELEMENT: typing.ClassVar[Element.DataType] = ...
        RS_FONT: typing.ClassVar[Element.DataType] = ...
        RS_MESH: typing.ClassVar[Element.DataType] = ...
        RS_PROGRAM_FRAGMENT: typing.ClassVar[Element.DataType] = ...
        RS_PROGRAM_RASTER: typing.ClassVar[Element.DataType] = ...
        RS_PROGRAM_STORE: typing.ClassVar[Element.DataType] = ...
        RS_PROGRAM_VERTEX: typing.ClassVar[Element.DataType] = ...
        RS_SAMPLER: typing.ClassVar[Element.DataType] = ...
        RS_SCRIPT: typing.ClassVar[Element.DataType] = ...
        RS_TYPE: typing.ClassVar[Element.DataType] = ...
        SIGNED_16: typing.ClassVar[Element.DataType] = ...
        SIGNED_32: typing.ClassVar[Element.DataType] = ...
        SIGNED_64: typing.ClassVar[Element.DataType] = ...
        SIGNED_8: typing.ClassVar[Element.DataType] = ...
        UNSIGNED_16: typing.ClassVar[Element.DataType] = ...
        UNSIGNED_32: typing.ClassVar[Element.DataType] = ...
        UNSIGNED_4_4_4_4: typing.ClassVar[Element.DataType] = ...
        UNSIGNED_5_5_5_1: typing.ClassVar[Element.DataType] = ...
        UNSIGNED_5_6_5: typing.ClassVar[Element.DataType] = ...
        UNSIGNED_64: typing.ClassVar[Element.DataType] = ...
        UNSIGNED_8: typing.ClassVar[Element.DataType] = ...
        @staticmethod
        def valueOf(name: str | java.lang.String, /) -> Element.DataType: ...
        @staticmethod
        def values() -> java.chaquopy.JavaArray[Element.DataType]: ...

    class DataKind(java.lang.Enum[Element.DataKind]):
        PIXEL_A: typing.ClassVar[Element.DataKind] = ...
        PIXEL_DEPTH: typing.ClassVar[Element.DataKind] = ...
        PIXEL_L: typing.ClassVar[Element.DataKind] = ...
        PIXEL_LA: typing.ClassVar[Element.DataKind] = ...
        PIXEL_RGB: typing.ClassVar[Element.DataKind] = ...
        PIXEL_RGBA: typing.ClassVar[Element.DataKind] = ...
        PIXEL_YUV: typing.ClassVar[Element.DataKind] = ...
        USER: typing.ClassVar[Element.DataKind] = ...
        @staticmethod
        def valueOf(name: str | java.lang.String, /) -> Element.DataKind: ...
        @staticmethod
        def values() -> java.chaquopy.JavaArray[Element.DataKind]: ...

    class Builder(java.lang.Object):
        def __init__(self, rs: RenderScript, /) -> None: ...
        @typing.overload
        def add(self, element: Element, name: str | java.lang.String, /) -> Element.Builder: ...
        @typing.overload
        def add(self, element: Element, name: str | java.lang.String, arraySize: int | java.jint | java.lang.Integer, /) -> Element.Builder: ...
        def create(self) -> Element: ...

class FieldPacker(java.lang.Object):
    @typing.overload
    def __init__(self, len: int | java.jint | java.lang.Integer, /) -> None: ...
    @typing.overload
    def __init__(self, data: java.chaquopy.JavaArrayJByte, /) -> None: ...
    def addBoolean(self, v: bool | java.jboolean | java.lang.Boolean, /) -> None: ...
    @typing.overload
    def addF32(self, v: float | java.jfloat | java.lang.Float, /) -> None: ...
    @typing.overload
    def addF32(self, v: Float2, /) -> None: ...
    @typing.overload
    def addF32(self, v: Float3, /) -> None: ...
    @typing.overload
    def addF32(self, v: Float4, /) -> None: ...
    @typing.overload
    def addF64(self, v: float | java.jdouble | java.lang.Double, /) -> None: ...
    @typing.overload
    def addF64(self, v: Double2, /) -> None: ...
    @typing.overload
    def addF64(self, v: Double3, /) -> None: ...
    @typing.overload
    def addF64(self, v: Double4, /) -> None: ...
    @typing.overload
    def addI16(self, v: Short2, /) -> None: ...
    @typing.overload
    def addI16(self, v: Short3, /) -> None: ...
    @typing.overload
    def addI16(self, v: Short4, /) -> None: ...
    @typing.overload
    def addI16(self, v: int | java.jshort | java.lang.Short, /) -> None: ...
    @typing.overload
    def addI32(self, v: int | java.jint | java.lang.Integer, /) -> None: ...
    @typing.overload
    def addI32(self, v: Int2, /) -> None: ...
    @typing.overload
    def addI32(self, v: Int3, /) -> None: ...
    @typing.overload
    def addI32(self, v: Int4, /) -> None: ...
    @typing.overload
    def addI64(self, v: int | java.jlong | java.lang.Long, /) -> None: ...
    @typing.overload
    def addI64(self, v: Long2, /) -> None: ...
    @typing.overload
    def addI64(self, v: Long3, /) -> None: ...
    @typing.overload
    def addI64(self, v: Long4, /) -> None: ...
    @typing.overload
    def addI8(self, v: int | java.jbyte | java.lang.Byte, /) -> None: ...
    @typing.overload
    def addI8(self, v: Byte2, /) -> None: ...
    @typing.overload
    def addI8(self, v: Byte3, /) -> None: ...
    @typing.overload
    def addI8(self, v: Byte4, /) -> None: ...
    @typing.overload
    def addMatrix(self, v: Matrix2f, /) -> None: ...
    @typing.overload
    def addMatrix(self, v: Matrix3f, /) -> None: ...
    @typing.overload
    def addMatrix(self, v: Matrix4f, /) -> None: ...
    def addObj(self, obj: BaseObj, /) -> None: ...
    @typing.overload
    def addU16(self, v: int | java.jint | java.lang.Integer, /) -> None: ...
    @typing.overload
    def addU16(self, v: Int2, /) -> None: ...
    @typing.overload
    def addU16(self, v: Int3, /) -> None: ...
    @typing.overload
    def addU16(self, v: Int4, /) -> None: ...
    @typing.overload
    def addU32(self, v: int | java.jlong | java.lang.Long, /) -> None: ...
    @typing.overload
    def addU32(self, v: Long2, /) -> None: ...
    @typing.overload
    def addU32(self, v: Long3, /) -> None: ...
    @typing.overload
    def addU32(self, v: Long4, /) -> None: ...
    @typing.overload
    def addU64(self, v: int | java.jlong | java.lang.Long, /) -> None: ...
    @typing.overload
    def addU64(self, v: Long2, /) -> None: ...
    @typing.overload
    def addU64(self, v: Long3, /) -> None: ...
    @typing.overload
    def addU64(self, v: Long4, /) -> None: ...
    @typing.overload
    def addU8(self, v: Short2, /) -> None: ...
    @typing.overload
    def addU8(self, v: Short3, /) -> None: ...
    @typing.overload
    def addU8(self, v: Short4, /) -> None: ...
    @typing.overload
    def addU8(self, v: int | java.jshort | java.lang.Short, /) -> None: ...
    def align(self, v: int | java.jint | java.lang.Integer, /) -> None: ...
    def getData(self) -> java.chaquopy.JavaArrayJByte: ...
    @typing.overload
    def reset(self) -> None: ...
    @typing.overload
    def reset(self, i: int | java.jint | java.lang.Integer, /) -> None: ...
    def skip(self, i: int | java.jint | java.lang.Integer, /) -> None: ...
    def subBoolean(self) -> bool: ...
    def subByte2(self) -> Byte2: ...
    def subByte3(self) -> Byte3: ...
    def subByte4(self) -> Byte4: ...
    def subDouble2(self) -> Double2: ...
    def subDouble3(self) -> Double3: ...
    def subDouble4(self) -> Double4: ...
    def subF32(self) -> float: ...
    def subF64(self) -> float: ...
    def subFloat2(self) -> Float2: ...
    def subFloat3(self) -> Float3: ...
    def subFloat4(self) -> Float4: ...
    def subI16(self) -> int: ...
    def subI32(self) -> int: ...
    def subI64(self) -> int: ...
    def subI8(self) -> int: ...
    def subInt2(self) -> Int2: ...
    def subInt3(self) -> Int3: ...
    def subInt4(self) -> Int4: ...
    def subLong2(self) -> Long2: ...
    def subLong3(self) -> Long3: ...
    def subLong4(self) -> Long4: ...
    def subMatrix2f(self) -> Matrix2f: ...
    def subMatrix3f(self) -> Matrix3f: ...
    def subMatrix4f(self) -> Matrix4f: ...
    def subShort2(self) -> Short2: ...
    def subShort3(self) -> Short3: ...
    def subShort4(self) -> Short4: ...
    def subalign(self, v: int | java.jint | java.lang.Integer, /) -> None: ...

class Float2(java.lang.Object):
    x: float = ...
    y: float = ...
    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, x: float | java.jfloat | java.lang.Float, y: float | java.jfloat | java.lang.Float, /) -> None: ...

class Float3(java.lang.Object):
    x: float = ...
    y: float = ...
    z: float = ...
    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, x: float | java.jfloat | java.lang.Float, y: float | java.jfloat | java.lang.Float, z: float | java.jfloat | java.lang.Float, /) -> None: ...

class Float4(java.lang.Object):
    w: float = ...
    x: float = ...
    y: float = ...
    z: float = ...
    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, x: float | java.jfloat | java.lang.Float, y: float | java.jfloat | java.lang.Float, z: float | java.jfloat | java.lang.Float, w: float | java.jfloat | java.lang.Float, /) -> None: ...

class Int2(java.lang.Object):
    x: int = ...
    y: int = ...
    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, x: int | java.jint | java.lang.Integer, y: int | java.jint | java.lang.Integer, /) -> None: ...

class Int3(java.lang.Object):
    x: int = ...
    y: int = ...
    z: int = ...
    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, x: int | java.jint | java.lang.Integer, y: int | java.jint | java.lang.Integer, z: int | java.jint | java.lang.Integer, /) -> None: ...

class Int4(java.lang.Object):
    w: int = ...
    x: int = ...
    y: int = ...
    z: int = ...
    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, x: int | java.jint | java.lang.Integer, y: int | java.jint | java.lang.Integer, z: int | java.jint | java.lang.Integer, w: int | java.jint | java.lang.Integer, /) -> None: ...

class Long2(java.lang.Object):
    x: int = ...
    y: int = ...
    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, x: int | java.jlong | java.lang.Long, y: int | java.jlong | java.lang.Long, /) -> None: ...

class Long3(java.lang.Object):
    x: int = ...
    y: int = ...
    z: int = ...
    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, x: int | java.jlong | java.lang.Long, y: int | java.jlong | java.lang.Long, z: int | java.jlong | java.lang.Long, /) -> None: ...

class Long4(java.lang.Object):
    w: int = ...
    x: int = ...
    y: int = ...
    z: int = ...
    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, x: int | java.jlong | java.lang.Long, y: int | java.jlong | java.lang.Long, z: int | java.jlong | java.lang.Long, w: int | java.jlong | java.lang.Long, /) -> None: ...

class Matrix2f(java.lang.Object):
    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, dataArray: java.chaquopy.JavaArrayJFloat, /) -> None: ...
    def get(self, x: int | java.jint | java.lang.Integer, y: int | java.jint | java.lang.Integer, /) -> float: ...
    def getArray(self) -> java.chaquopy.JavaArrayJFloat: ...
    def load(self, src: Matrix2f, /) -> None: ...
    def loadIdentity(self) -> None: ...
    def loadMultiply(self, lhs: Matrix2f, rhs: Matrix2f, /) -> None: ...
    def loadRotate(self, rot: float | java.jfloat | java.lang.Float, /) -> None: ...
    def loadScale(self, x: float | java.jfloat | java.lang.Float, y: float | java.jfloat | java.lang.Float, /) -> None: ...
    def multiply(self, rhs: Matrix2f, /) -> None: ...
    def rotate(self, rot: float | java.jfloat | java.lang.Float, /) -> None: ...
    def scale(self, x: float | java.jfloat | java.lang.Float, y: float | java.jfloat | java.lang.Float, /) -> None: ...
    def set(self, x: int | java.jint | java.lang.Integer, y: int | java.jint | java.lang.Integer, v: float | java.jfloat | java.lang.Float, /) -> None: ...
    def transpose(self) -> None: ...

class Matrix3f(java.lang.Object):
    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, dataArray: java.chaquopy.JavaArrayJFloat, /) -> None: ...
    def get(self, x: int | java.jint | java.lang.Integer, y: int | java.jint | java.lang.Integer, /) -> float: ...
    def getArray(self) -> java.chaquopy.JavaArrayJFloat: ...
    def load(self, src: Matrix3f, /) -> None: ...
    def loadIdentity(self) -> None: ...
    def loadMultiply(self, lhs: Matrix3f, rhs: Matrix3f, /) -> None: ...
    @typing.overload
    def loadRotate(self, rot: float | java.jfloat | java.lang.Float, /) -> None: ...
    @typing.overload
    def loadRotate(self, rot: float | java.jfloat | java.lang.Float, x: float | java.jfloat | java.lang.Float, y: float | java.jfloat | java.lang.Float, z: float | java.jfloat | java.lang.Float, /) -> None: ...
    @typing.overload
    def loadScale(self, x: float | java.jfloat | java.lang.Float, y: float | java.jfloat | java.lang.Float, /) -> None: ...
    @typing.overload
    def loadScale(self, x: float | java.jfloat | java.lang.Float, y: float | java.jfloat | java.lang.Float, z: float | java.jfloat | java.lang.Float, /) -> None: ...
    def loadTranslate(self, x: float | java.jfloat | java.lang.Float, y: float | java.jfloat | java.lang.Float, /) -> None: ...
    def multiply(self, rhs: Matrix3f, /) -> None: ...
    @typing.overload
    def rotate(self, rot: float | java.jfloat | java.lang.Float, /) -> None: ...
    @typing.overload
    def rotate(self, rot: float | java.jfloat | java.lang.Float, x: float | java.jfloat | java.lang.Float, y: float | java.jfloat | java.lang.Float, z: float | java.jfloat | java.lang.Float, /) -> None: ...
    @typing.overload
    def scale(self, x: float | java.jfloat | java.lang.Float, y: float | java.jfloat | java.lang.Float, /) -> None: ...
    @typing.overload
    def scale(self, x: float | java.jfloat | java.lang.Float, y: float | java.jfloat | java.lang.Float, z: float | java.jfloat | java.lang.Float, /) -> None: ...
    def set(self, x: int | java.jint | java.lang.Integer, y: int | java.jint | java.lang.Integer, v: float | java.jfloat | java.lang.Float, /) -> None: ...
    def translate(self, x: float | java.jfloat | java.lang.Float, y: float | java.jfloat | java.lang.Float, /) -> None: ...
    def transpose(self) -> None: ...

class Matrix4f(java.lang.Object):
    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, dataArray: java.chaquopy.JavaArrayJFloat, /) -> None: ...
    def get(self, x: int | java.jint | java.lang.Integer, y: int | java.jint | java.lang.Integer, /) -> float: ...
    def getArray(self) -> java.chaquopy.JavaArrayJFloat: ...
    def inverse(self) -> bool: ...
    def inverseTranspose(self) -> bool: ...
    def load(self, src: Matrix4f, /) -> None: ...
    def loadFrustum(self, l: float | java.jfloat | java.lang.Float, r: float | java.jfloat | java.lang.Float, b: float | java.jfloat | java.lang.Float, t: float | java.jfloat | java.lang.Float, n: float | java.jfloat | java.lang.Float, f: float | java.jfloat | java.lang.Float, /) -> None: ...
    def loadIdentity(self) -> None: ...
    def loadMultiply(self, lhs: Matrix4f, rhs: Matrix4f, /) -> None: ...
    def loadOrtho(self, l: float | java.jfloat | java.lang.Float, r: float | java.jfloat | java.lang.Float, b: float | java.jfloat | java.lang.Float, t: float | java.jfloat | java.lang.Float, n: float | java.jfloat | java.lang.Float, f: float | java.jfloat | java.lang.Float, /) -> None: ...
    def loadOrthoWindow(self, w: int | java.jint | java.lang.Integer, h: int | java.jint | java.lang.Integer, /) -> None: ...
    def loadPerspective(self, fovy: float | java.jfloat | java.lang.Float, aspect: float | java.jfloat | java.lang.Float, near: float | java.jfloat | java.lang.Float, far: float | java.jfloat | java.lang.Float, /) -> None: ...
    def loadProjectionNormalized(self, w: int | java.jint | java.lang.Integer, h: int | java.jint | java.lang.Integer, /) -> None: ...
    def loadRotate(self, rot: float | java.jfloat | java.lang.Float, x: float | java.jfloat | java.lang.Float, y: float | java.jfloat | java.lang.Float, z: float | java.jfloat | java.lang.Float, /) -> None: ...
    def loadScale(self, x: float | java.jfloat | java.lang.Float, y: float | java.jfloat | java.lang.Float, z: float | java.jfloat | java.lang.Float, /) -> None: ...
    def loadTranslate(self, x: float | java.jfloat | java.lang.Float, y: float | java.jfloat | java.lang.Float, z: float | java.jfloat | java.lang.Float, /) -> None: ...
    def multiply(self, rhs: Matrix4f, /) -> None: ...
    def rotate(self, rot: float | java.jfloat | java.lang.Float, x: float | java.jfloat | java.lang.Float, y: float | java.jfloat | java.lang.Float, z: float | java.jfloat | java.lang.Float, /) -> None: ...
    def scale(self, x: float | java.jfloat | java.lang.Float, y: float | java.jfloat | java.lang.Float, z: float | java.jfloat | java.lang.Float, /) -> None: ...
    def set(self, x: int | java.jint | java.lang.Integer, y: int | java.jint | java.lang.Integer, v: float | java.jfloat | java.lang.Float, /) -> None: ...
    def translate(self, x: float | java.jfloat | java.lang.Float, y: float | java.jfloat | java.lang.Float, z: float | java.jfloat | java.lang.Float, /) -> None: ...
    def transpose(self) -> None: ...

class RSDriverException(RSRuntimeException):
    def __init__(self, string: str | java.lang.String, /) -> None: ...

class RSIllegalArgumentException(RSRuntimeException):
    def __init__(self, string: str | java.lang.String, /) -> None: ...

class RSInvalidStateException(RSRuntimeException):
    def __init__(self, string: str | java.lang.String, /) -> None: ...

class RSRuntimeException(java.lang.RuntimeException):
    def __init__(self, string: str | java.lang.String, /) -> None: ...

class RenderScript(java.lang.Object):
    CREATE_FLAG_LOW_LATENCY: typing.ClassVar[int] = ...
    CREATE_FLAG_LOW_POWER: typing.ClassVar[int] = ...
    CREATE_FLAG_NONE: typing.ClassVar[int] = ...
    def contextDump(self) -> None: ...
    @typing.overload
    @staticmethod
    def create(ctx: android.content.Context, /) -> RenderScript: ...
    @typing.overload
    @staticmethod
    def create(ctx: android.content.Context, ct: RenderScript.ContextType, /) -> RenderScript: ...
    @typing.overload
    @staticmethod
    def create(ctx: android.content.Context, ct: RenderScript.ContextType, flags: int | java.jint | java.lang.Integer, /) -> RenderScript: ...
    @staticmethod
    def createMultiContext(ctx: android.content.Context, ct: RenderScript.ContextType, flags: int | java.jint | java.lang.Integer, API_number: int | java.jint | java.lang.Integer, /) -> RenderScript: ...
    def destroy(self) -> None: ...
    def finalize(self) -> None: ...
    def finish(self) -> None: ...
    def getApplicationContext(self) -> android.content.Context: ...
    def getErrorHandler(self) -> RenderScript.RSErrorHandler: ...
    def getMessageHandler(self) -> RenderScript.RSMessageHandler: ...
    @staticmethod
    def getMinorVersion() -> int: ...
    @staticmethod
    def releaseAllContexts() -> None: ...
    def sendMessage(self, id: int | java.jint | java.lang.Integer, data: java.chaquopy.JavaArrayJInt, /) -> None: ...
    def setErrorHandler(self, msg: RenderScript.RSErrorHandler, /) -> None: ...
    def setMessageHandler(self, msg: RenderScript.RSMessageHandler, /) -> None: ...
    def setPriority(self, p: RenderScript.Priority, /) -> None: ...

    class RSMessageHandler(java.lang.Runnable):
        mData: java.chaquopy.JavaArrayJInt = ...
        mID: int = ...
        mLength: int = ...
        def __init__(self) -> None: ...
        def run(self) -> None: ...

    class RSErrorHandler(java.lang.Runnable):
        mErrorMessage: str = ...
        mErrorNum: int = ...
        def __init__(self) -> None: ...
        def run(self) -> None: ...

    class Priority(java.lang.Enum[RenderScript.Priority]):
        LOW: typing.ClassVar[RenderScript.Priority] = ...
        NORMAL: typing.ClassVar[RenderScript.Priority] = ...
        @staticmethod
        def valueOf(name: str | java.lang.String, /) -> RenderScript.Priority: ...
        @staticmethod
        def values() -> java.chaquopy.JavaArray[RenderScript.Priority]: ...

    class ContextType(java.lang.Enum[RenderScript.ContextType]):
        DEBUG: typing.ClassVar[RenderScript.ContextType] = ...
        NORMAL: typing.ClassVar[RenderScript.ContextType] = ...
        PROFILE: typing.ClassVar[RenderScript.ContextType] = ...
        @staticmethod
        def valueOf(name: str | java.lang.String, /) -> RenderScript.ContextType: ...
        @staticmethod
        def values() -> java.chaquopy.JavaArray[RenderScript.ContextType]: ...

class Sampler(BaseObj):
    @staticmethod
    def CLAMP_LINEAR(rs: RenderScript, /) -> Sampler: ...
    @staticmethod
    def CLAMP_LINEAR_MIP_LINEAR(rs: RenderScript, /) -> Sampler: ...
    @staticmethod
    def CLAMP_NEAREST(rs: RenderScript, /) -> Sampler: ...
    @staticmethod
    def MIRRORED_REPEAT_LINEAR(rs: RenderScript, /) -> Sampler: ...
    @staticmethod
    def MIRRORED_REPEAT_LINEAR_MIP_LINEAR(rs: RenderScript, /) -> Sampler: ...
    @staticmethod
    def MIRRORED_REPEAT_NEAREST(rs: RenderScript, /) -> Sampler: ...
    @staticmethod
    def WRAP_LINEAR(rs: RenderScript, /) -> Sampler: ...
    @staticmethod
    def WRAP_LINEAR_MIP_LINEAR(rs: RenderScript, /) -> Sampler: ...
    @staticmethod
    def WRAP_NEAREST(rs: RenderScript, /) -> Sampler: ...
    def getAnisotropy(self) -> float: ...
    def getMagnification(self) -> Sampler.Value: ...
    def getMinification(self) -> Sampler.Value: ...
    def getWrapS(self) -> Sampler.Value: ...
    def getWrapT(self) -> Sampler.Value: ...

    class Value(java.lang.Enum[Sampler.Value]):
        CLAMP: typing.ClassVar[Sampler.Value] = ...
        LINEAR: typing.ClassVar[Sampler.Value] = ...
        LINEAR_MIP_LINEAR: typing.ClassVar[Sampler.Value] = ...
        LINEAR_MIP_NEAREST: typing.ClassVar[Sampler.Value] = ...
        MIRRORED_REPEAT: typing.ClassVar[Sampler.Value] = ...
        NEAREST: typing.ClassVar[Sampler.Value] = ...
        WRAP: typing.ClassVar[Sampler.Value] = ...
        @staticmethod
        def valueOf(name: str | java.lang.String, /) -> Sampler.Value: ...
        @staticmethod
        def values() -> java.chaquopy.JavaArray[Sampler.Value]: ...

    class Builder(java.lang.Object):
        def __init__(self, rs: RenderScript, /) -> None: ...
        def create(self) -> Sampler: ...
        def setAnisotropy(self, v: float | java.jfloat | java.lang.Float, /) -> None: ...
        def setMagnification(self, v: Sampler.Value, /) -> None: ...
        def setMinification(self, v: Sampler.Value, /) -> None: ...
        def setWrapS(self, v: Sampler.Value, /) -> None: ...
        def setWrapT(self, v: Sampler.Value, /) -> None: ...

class Script(BaseObj):
    def bindAllocation(self, va: Allocation, slot: int | java.jint | java.lang.Integer, /) -> None: ...
    def createFieldID(self, slot: int | java.jint | java.lang.Integer, e: Element, /) -> Script.FieldID: ...
    def createInvokeID(self, slot: int | java.jint | java.lang.Integer, /) -> Script.InvokeID: ...
    def createKernelID(self, slot: int | java.jint | java.lang.Integer, sig: int | java.jint | java.lang.Integer, ein: Element, eout: Element, /) -> Script.KernelID: ...
    @typing.overload
    def forEach(self, slot: int | java.jint | java.lang.Integer, ain: Allocation, aout: Allocation, v: FieldPacker, /) -> None: ...
    @typing.overload
    def forEach(self, slot: int | java.jint | java.lang.Integer, ains: java.chaquopy.JavaArray[Allocation], aout: Allocation, v: FieldPacker, /) -> None: ...
    @typing.overload
    def forEach(self, slot: int | java.jint | java.lang.Integer, ain: Allocation, aout: Allocation, v: FieldPacker, sc: Script.LaunchOptions, /) -> None: ...
    @typing.overload
    def forEach(self, slot: int | java.jint | java.lang.Integer, ains: java.chaquopy.JavaArray[Allocation], aout: Allocation, v: FieldPacker, sc: Script.LaunchOptions, /) -> None: ...
    def getVarB(self, index: int | java.jint | java.lang.Integer, /) -> bool: ...
    def getVarD(self, index: int | java.jint | java.lang.Integer, /) -> float: ...
    def getVarF(self, index: int | java.jint | java.lang.Integer, /) -> float: ...
    def getVarI(self, index: int | java.jint | java.lang.Integer, /) -> int: ...
    def getVarJ(self, index: int | java.jint | java.lang.Integer, /) -> int: ...
    def getVarV(self, index: int | java.jint | java.lang.Integer, v: FieldPacker, /) -> None: ...
    @typing.overload
    def invoke(self, slot: int | java.jint | java.lang.Integer, /) -> None: ...
    @typing.overload
    def invoke(self, slot: int | java.jint | java.lang.Integer, v: FieldPacker, /) -> None: ...
    def reduce(self, slot: int | java.jint | java.lang.Integer, ains: java.chaquopy.JavaArray[Allocation], aout: Allocation, sc: Script.LaunchOptions, /) -> None: ...
    def setTimeZone(self, timeZone: str | java.lang.String, /) -> None: ...
    @typing.overload
    def setVar(self, index: int | java.jint | java.lang.Integer, v: float | java.jdouble | java.lang.Double, /) -> None: ...
    @typing.overload
    def setVar(self, index: int | java.jint | java.lang.Integer, v: float | java.jfloat | java.lang.Float, /) -> None: ...
    @typing.overload
    def setVar(self, index: int | java.jint | java.lang.Integer, v: int | java.jint | java.lang.Integer, /) -> None: ...
    @typing.overload
    def setVar(self, index: int | java.jint | java.lang.Integer, v: int | java.jlong | java.lang.Long, /) -> None: ...
    @typing.overload
    def setVar(self, index: int | java.jint | java.lang.Integer, o: BaseObj, /) -> None: ...
    @typing.overload
    def setVar(self, index: int | java.jint | java.lang.Integer, v: FieldPacker, /) -> None: ...
    @typing.overload
    def setVar(self, index: int | java.jint | java.lang.Integer, v: bool | java.jboolean | java.lang.Boolean, /) -> None: ...
    @typing.overload
    def setVar(self, index: int | java.jint | java.lang.Integer, v: FieldPacker, e: Element, dims: java.chaquopy.JavaArrayJInt, /) -> None: ...

    class LaunchOptions(java.lang.Object):
        def __init__(self) -> None: ...
        def getXEnd(self) -> int: ...
        def getXStart(self) -> int: ...
        def getYEnd(self) -> int: ...
        def getYStart(self) -> int: ...
        def getZEnd(self) -> int: ...
        def getZStart(self) -> int: ...
        def setX(self, xstartArg: int | java.jint | java.lang.Integer, xendArg: int | java.jint | java.lang.Integer, /) -> Script.LaunchOptions: ...
        def setY(self, ystartArg: int | java.jint | java.lang.Integer, yendArg: int | java.jint | java.lang.Integer, /) -> Script.LaunchOptions: ...
        def setZ(self, zstartArg: int | java.jint | java.lang.Integer, zendArg: int | java.jint | java.lang.Integer, /) -> Script.LaunchOptions: ...

    class KernelID(BaseObj): ...

    class InvokeID(BaseObj): ...

    class FieldID(BaseObj): ...

    class FieldBase(java.lang.Object):
        mAllocation: Allocation = ...
        mElement: Element = ...
        def __init__(self) -> None: ...
        def getAllocation(self) -> Allocation: ...
        def getElement(self) -> Element: ...
        def getType(self) -> Type: ...
        @typing.overload
        def init(self, rs: RenderScript, dimx: int | java.jint | java.lang.Integer, /) -> None: ...
        @typing.overload
        def init(self, rs: RenderScript, dimx: int | java.jint | java.lang.Integer, usages: int | java.jint | java.lang.Integer, /) -> None: ...
        def updateAllocation(self) -> None: ...

    class Builder(java.lang.Object): ...

class ScriptC(Script):
    @typing.overload
    def __init__(self, id: int | java.jint | java.lang.Integer, rs: RenderScript, /) -> None: ...
    @typing.overload
    def __init__(self, id: int | java.jlong | java.lang.Long, rs: RenderScript, /) -> None: ...
    @typing.overload
    def __init__(self, rs: RenderScript, resources: android.content.res.Resources, resourceID: int | java.jint | java.lang.Integer, /) -> None: ...
    @typing.overload
    def __init__(self, rs: RenderScript, resName: str | java.lang.String, bitcode32: java.chaquopy.JavaArrayJByte, bitcode64: java.chaquopy.JavaArrayJByte, /) -> None: ...

class ScriptGroup(BaseObj):
    def destroy(self) -> None: ...
    @typing.overload
    def execute(self) -> None: ...
    @typing.overload
    def execute(self, *inputs: java.lang.Object) -> java.chaquopy.JavaArray[java.lang.Object]: ...
    def setInput(self, s: Script.KernelID, a: Allocation, /) -> None: ...
    def setOutput(self, s: Script.KernelID, a: Allocation, /) -> None: ...

    class Input(java.lang.Object): ...

    class Future(java.lang.Object): ...

    class Closure(BaseObj):
        def destroy(self) -> None: ...
        def finalize(self) -> None: ...
        def getGlobal(self, field: Script.FieldID, /) -> ScriptGroup.Future: ...
        def getReturn(self) -> ScriptGroup.Future: ...

    class Builder2(java.lang.Object):
        def __init__(self, rs: RenderScript, /) -> None: ...
        def addInput(self) -> ScriptGroup.Input: ...
        def addInvoke(self, invoke: Script.InvokeID, /, *argsAndBindings: java.lang.Object) -> ScriptGroup.Closure: ...
        def addKernel(self, k: Script.KernelID, returnType: Type, /, *argsAndBindings: java.lang.Object) -> ScriptGroup.Closure: ...
        def create(self, name: str | java.lang.String, /, *outputs: ScriptGroup.Future) -> ScriptGroup: ...

    class Builder(java.lang.Object):
        def __init__(self, rs: RenderScript, /) -> None: ...
        @typing.overload
        def addConnection(self, t: Type, from_: Script.KernelID, to: Script.FieldID, /) -> ScriptGroup.Builder: ...
        @typing.overload
        def addConnection(self, t: Type, from_: Script.KernelID, to: Script.KernelID, /) -> ScriptGroup.Builder: ...
        def addKernel(self, k: Script.KernelID, /) -> ScriptGroup.Builder: ...
        def create(self) -> ScriptGroup: ...

    class Binding(java.lang.Object):
        def __init__(self, field: Script.FieldID, value: java.lang.Object | int | bool | float | str, /) -> None: ...

class ScriptIntrinsic(Script): ...

class ScriptIntrinsic3DLUT(ScriptIntrinsic):
    @staticmethod
    def create(rs: RenderScript, e: Element, /) -> ScriptIntrinsic3DLUT: ...
    @typing.overload
    def forEach(self, ain: Allocation, aout: Allocation, /) -> None: ...
    @typing.overload
    def forEach(self, ain: Allocation, aout: Allocation, opt: Script.LaunchOptions, /) -> None: ...
    def getKernelID(self) -> Script.KernelID: ...
    def setLUT(self, lut: Allocation, /) -> None: ...

class ScriptIntrinsicBLAS(ScriptIntrinsic):
    CONJ_TRANSPOSE: typing.ClassVar[int] = ...
    LEFT: typing.ClassVar[int] = ...
    LOWER: typing.ClassVar[int] = ...
    NON_UNIT: typing.ClassVar[int] = ...
    NO_TRANSPOSE: typing.ClassVar[int] = ...
    RIGHT: typing.ClassVar[int] = ...
    TRANSPOSE: typing.ClassVar[int] = ...
    UNIT: typing.ClassVar[int] = ...
    UPPER: typing.ClassVar[int] = ...
    def BNNM(self, A: Allocation, a_offset: int | java.jint | java.lang.Integer, B: Allocation, b_offset: int | java.jint | java.lang.Integer, C: Allocation, c_offset: int | java.jint | java.lang.Integer, c_mult: int | java.jint | java.lang.Integer, /) -> None: ...
    def CGBMV(self, TransA: int | java.jint | java.lang.Integer, KL: int | java.jint | java.lang.Integer, KU: int | java.jint | java.lang.Integer, alpha: Float2, A: Allocation, X: Allocation, incX: int | java.jint | java.lang.Integer, beta: Float2, Y: Allocation, incY: int | java.jint | java.lang.Integer, /) -> None: ...
    def CGEMM(self, TransA: int | java.jint | java.lang.Integer, TransB: int | java.jint | java.lang.Integer, alpha: Float2, A: Allocation, B: Allocation, beta: Float2, C: Allocation, /) -> None: ...
    def CGEMV(self, TransA: int | java.jint | java.lang.Integer, alpha: Float2, A: Allocation, X: Allocation, incX: int | java.jint | java.lang.Integer, beta: Float2, Y: Allocation, incY: int | java.jint | java.lang.Integer, /) -> None: ...
    def CGERC(self, alpha: Float2, X: Allocation, incX: int | java.jint | java.lang.Integer, Y: Allocation, incY: int | java.jint | java.lang.Integer, A: Allocation, /) -> None: ...
    def CGERU(self, alpha: Float2, X: Allocation, incX: int | java.jint | java.lang.Integer, Y: Allocation, incY: int | java.jint | java.lang.Integer, A: Allocation, /) -> None: ...
    def CHBMV(self, Uplo: int | java.jint | java.lang.Integer, K: int | java.jint | java.lang.Integer, alpha: Float2, A: Allocation, X: Allocation, incX: int | java.jint | java.lang.Integer, beta: Float2, Y: Allocation, incY: int | java.jint | java.lang.Integer, /) -> None: ...
    def CHEMM(self, Side: int | java.jint | java.lang.Integer, Uplo: int | java.jint | java.lang.Integer, alpha: Float2, A: Allocation, B: Allocation, beta: Float2, C: Allocation, /) -> None: ...
    def CHEMV(self, Uplo: int | java.jint | java.lang.Integer, alpha: Float2, A: Allocation, X: Allocation, incX: int | java.jint | java.lang.Integer, beta: Float2, Y: Allocation, incY: int | java.jint | java.lang.Integer, /) -> None: ...
    def CHER(self, Uplo: int | java.jint | java.lang.Integer, alpha: float | java.jfloat | java.lang.Float, X: Allocation, incX: int | java.jint | java.lang.Integer, A: Allocation, /) -> None: ...
    def CHER2(self, Uplo: int | java.jint | java.lang.Integer, alpha: Float2, X: Allocation, incX: int | java.jint | java.lang.Integer, Y: Allocation, incY: int | java.jint | java.lang.Integer, A: Allocation, /) -> None: ...
    def CHER2K(self, Uplo: int | java.jint | java.lang.Integer, Trans: int | java.jint | java.lang.Integer, alpha: Float2, A: Allocation, B: Allocation, beta: float | java.jfloat | java.lang.Float, C: Allocation, /) -> None: ...
    def CHERK(self, Uplo: int | java.jint | java.lang.Integer, Trans: int | java.jint | java.lang.Integer, alpha: float | java.jfloat | java.lang.Float, A: Allocation, beta: float | java.jfloat | java.lang.Float, C: Allocation, /) -> None: ...
    def CHPMV(self, Uplo: int | java.jint | java.lang.Integer, alpha: Float2, Ap: Allocation, X: Allocation, incX: int | java.jint | java.lang.Integer, beta: Float2, Y: Allocation, incY: int | java.jint | java.lang.Integer, /) -> None: ...
    def CHPR(self, Uplo: int | java.jint | java.lang.Integer, alpha: float | java.jfloat | java.lang.Float, X: Allocation, incX: int | java.jint | java.lang.Integer, Ap: Allocation, /) -> None: ...
    def CHPR2(self, Uplo: int | java.jint | java.lang.Integer, alpha: Float2, X: Allocation, incX: int | java.jint | java.lang.Integer, Y: Allocation, incY: int | java.jint | java.lang.Integer, Ap: Allocation, /) -> None: ...
    def CSYMM(self, Side: int | java.jint | java.lang.Integer, Uplo: int | java.jint | java.lang.Integer, alpha: Float2, A: Allocation, B: Allocation, beta: Float2, C: Allocation, /) -> None: ...
    def CSYR2K(self, Uplo: int | java.jint | java.lang.Integer, Trans: int | java.jint | java.lang.Integer, alpha: Float2, A: Allocation, B: Allocation, beta: Float2, C: Allocation, /) -> None: ...
    def CSYRK(self, Uplo: int | java.jint | java.lang.Integer, Trans: int | java.jint | java.lang.Integer, alpha: Float2, A: Allocation, beta: Float2, C: Allocation, /) -> None: ...
    def CTBMV(self, Uplo: int | java.jint | java.lang.Integer, TransA: int | java.jint | java.lang.Integer, Diag: int | java.jint | java.lang.Integer, K: int | java.jint | java.lang.Integer, A: Allocation, X: Allocation, incX: int | java.jint | java.lang.Integer, /) -> None: ...
    def CTBSV(self, Uplo: int | java.jint | java.lang.Integer, TransA: int | java.jint | java.lang.Integer, Diag: int | java.jint | java.lang.Integer, K: int | java.jint | java.lang.Integer, A: Allocation, X: Allocation, incX: int | java.jint | java.lang.Integer, /) -> None: ...
    def CTPMV(self, Uplo: int | java.jint | java.lang.Integer, TransA: int | java.jint | java.lang.Integer, Diag: int | java.jint | java.lang.Integer, Ap: Allocation, X: Allocation, incX: int | java.jint | java.lang.Integer, /) -> None: ...
    def CTPSV(self, Uplo: int | java.jint | java.lang.Integer, TransA: int | java.jint | java.lang.Integer, Diag: int | java.jint | java.lang.Integer, Ap: Allocation, X: Allocation, incX: int | java.jint | java.lang.Integer, /) -> None: ...
    def CTRMM(self, Side: int | java.jint | java.lang.Integer, Uplo: int | java.jint | java.lang.Integer, TransA: int | java.jint | java.lang.Integer, Diag: int | java.jint | java.lang.Integer, alpha: Float2, A: Allocation, B: Allocation, /) -> None: ...
    def CTRMV(self, Uplo: int | java.jint | java.lang.Integer, TransA: int | java.jint | java.lang.Integer, Diag: int | java.jint | java.lang.Integer, A: Allocation, X: Allocation, incX: int | java.jint | java.lang.Integer, /) -> None: ...
    def CTRSM(self, Side: int | java.jint | java.lang.Integer, Uplo: int | java.jint | java.lang.Integer, TransA: int | java.jint | java.lang.Integer, Diag: int | java.jint | java.lang.Integer, alpha: Float2, A: Allocation, B: Allocation, /) -> None: ...
    def CTRSV(self, Uplo: int | java.jint | java.lang.Integer, TransA: int | java.jint | java.lang.Integer, Diag: int | java.jint | java.lang.Integer, A: Allocation, X: Allocation, incX: int | java.jint | java.lang.Integer, /) -> None: ...
    def DGBMV(self, TransA: int | java.jint | java.lang.Integer, KL: int | java.jint | java.lang.Integer, KU: int | java.jint | java.lang.Integer, alpha: float | java.jdouble | java.lang.Double, A: Allocation, X: Allocation, incX: int | java.jint | java.lang.Integer, beta: float | java.jdouble | java.lang.Double, Y: Allocation, incY: int | java.jint | java.lang.Integer, /) -> None: ...
    def DGEMM(self, TransA: int | java.jint | java.lang.Integer, TransB: int | java.jint | java.lang.Integer, alpha: float | java.jdouble | java.lang.Double, A: Allocation, B: Allocation, beta: float | java.jdouble | java.lang.Double, C: Allocation, /) -> None: ...
    def DGEMV(self, TransA: int | java.jint | java.lang.Integer, alpha: float | java.jdouble | java.lang.Double, A: Allocation, X: Allocation, incX: int | java.jint | java.lang.Integer, beta: float | java.jdouble | java.lang.Double, Y: Allocation, incY: int | java.jint | java.lang.Integer, /) -> None: ...
    def DGER(self, alpha: float | java.jdouble | java.lang.Double, X: Allocation, incX: int | java.jint | java.lang.Integer, Y: Allocation, incY: int | java.jint | java.lang.Integer, A: Allocation, /) -> None: ...
    def DSBMV(self, Uplo: int | java.jint | java.lang.Integer, K: int | java.jint | java.lang.Integer, alpha: float | java.jdouble | java.lang.Double, A: Allocation, X: Allocation, incX: int | java.jint | java.lang.Integer, beta: float | java.jdouble | java.lang.Double, Y: Allocation, incY: int | java.jint | java.lang.Integer, /) -> None: ...
    def DSPMV(self, Uplo: int | java.jint | java.lang.Integer, alpha: float | java.jdouble | java.lang.Double, Ap: Allocation, X: Allocation, incX: int | java.jint | java.lang.Integer, beta: float | java.jdouble | java.lang.Double, Y: Allocation, incY: int | java.jint | java.lang.Integer, /) -> None: ...
    def DSPR(self, Uplo: int | java.jint | java.lang.Integer, alpha: float | java.jdouble | java.lang.Double, X: Allocation, incX: int | java.jint | java.lang.Integer, Ap: Allocation, /) -> None: ...
    def DSPR2(self, Uplo: int | java.jint | java.lang.Integer, alpha: float | java.jdouble | java.lang.Double, X: Allocation, incX: int | java.jint | java.lang.Integer, Y: Allocation, incY: int | java.jint | java.lang.Integer, Ap: Allocation, /) -> None: ...
    def DSYMM(self, Side: int | java.jint | java.lang.Integer, Uplo: int | java.jint | java.lang.Integer, alpha: float | java.jdouble | java.lang.Double, A: Allocation, B: Allocation, beta: float | java.jdouble | java.lang.Double, C: Allocation, /) -> None: ...
    def DSYMV(self, Uplo: int | java.jint | java.lang.Integer, alpha: float | java.jdouble | java.lang.Double, A: Allocation, X: Allocation, incX: int | java.jint | java.lang.Integer, beta: float | java.jdouble | java.lang.Double, Y: Allocation, incY: int | java.jint | java.lang.Integer, /) -> None: ...
    def DSYR(self, Uplo: int | java.jint | java.lang.Integer, alpha: float | java.jdouble | java.lang.Double, X: Allocation, incX: int | java.jint | java.lang.Integer, A: Allocation, /) -> None: ...
    def DSYR2(self, Uplo: int | java.jint | java.lang.Integer, alpha: float | java.jdouble | java.lang.Double, X: Allocation, incX: int | java.jint | java.lang.Integer, Y: Allocation, incY: int | java.jint | java.lang.Integer, A: Allocation, /) -> None: ...
    def DSYR2K(self, Uplo: int | java.jint | java.lang.Integer, Trans: int | java.jint | java.lang.Integer, alpha: float | java.jdouble | java.lang.Double, A: Allocation, B: Allocation, beta: float | java.jdouble | java.lang.Double, C: Allocation, /) -> None: ...
    def DSYRK(self, Uplo: int | java.jint | java.lang.Integer, Trans: int | java.jint | java.lang.Integer, alpha: float | java.jdouble | java.lang.Double, A: Allocation, beta: float | java.jdouble | java.lang.Double, C: Allocation, /) -> None: ...
    def DTBMV(self, Uplo: int | java.jint | java.lang.Integer, TransA: int | java.jint | java.lang.Integer, Diag: int | java.jint | java.lang.Integer, K: int | java.jint | java.lang.Integer, A: Allocation, X: Allocation, incX: int | java.jint | java.lang.Integer, /) -> None: ...
    def DTBSV(self, Uplo: int | java.jint | java.lang.Integer, TransA: int | java.jint | java.lang.Integer, Diag: int | java.jint | java.lang.Integer, K: int | java.jint | java.lang.Integer, A: Allocation, X: Allocation, incX: int | java.jint | java.lang.Integer, /) -> None: ...
    def DTPMV(self, Uplo: int | java.jint | java.lang.Integer, TransA: int | java.jint | java.lang.Integer, Diag: int | java.jint | java.lang.Integer, Ap: Allocation, X: Allocation, incX: int | java.jint | java.lang.Integer, /) -> None: ...
    def DTPSV(self, Uplo: int | java.jint | java.lang.Integer, TransA: int | java.jint | java.lang.Integer, Diag: int | java.jint | java.lang.Integer, Ap: Allocation, X: Allocation, incX: int | java.jint | java.lang.Integer, /) -> None: ...
    def DTRMM(self, Side: int | java.jint | java.lang.Integer, Uplo: int | java.jint | java.lang.Integer, TransA: int | java.jint | java.lang.Integer, Diag: int | java.jint | java.lang.Integer, alpha: float | java.jdouble | java.lang.Double, A: Allocation, B: Allocation, /) -> None: ...
    def DTRMV(self, Uplo: int | java.jint | java.lang.Integer, TransA: int | java.jint | java.lang.Integer, Diag: int | java.jint | java.lang.Integer, A: Allocation, X: Allocation, incX: int | java.jint | java.lang.Integer, /) -> None: ...
    def DTRSM(self, Side: int | java.jint | java.lang.Integer, Uplo: int | java.jint | java.lang.Integer, TransA: int | java.jint | java.lang.Integer, Diag: int | java.jint | java.lang.Integer, alpha: float | java.jdouble | java.lang.Double, A: Allocation, B: Allocation, /) -> None: ...
    def DTRSV(self, Uplo: int | java.jint | java.lang.Integer, TransA: int | java.jint | java.lang.Integer, Diag: int | java.jint | java.lang.Integer, A: Allocation, X: Allocation, incX: int | java.jint | java.lang.Integer, /) -> None: ...
    def SGBMV(self, TransA: int | java.jint | java.lang.Integer, KL: int | java.jint | java.lang.Integer, KU: int | java.jint | java.lang.Integer, alpha: float | java.jfloat | java.lang.Float, A: Allocation, X: Allocation, incX: int | java.jint | java.lang.Integer, beta: float | java.jfloat | java.lang.Float, Y: Allocation, incY: int | java.jint | java.lang.Integer, /) -> None: ...
    def SGEMM(self, TransA: int | java.jint | java.lang.Integer, TransB: int | java.jint | java.lang.Integer, alpha: float | java.jfloat | java.lang.Float, A: Allocation, B: Allocation, beta: float | java.jfloat | java.lang.Float, C: Allocation, /) -> None: ...
    def SGEMV(self, TransA: int | java.jint | java.lang.Integer, alpha: float | java.jfloat | java.lang.Float, A: Allocation, X: Allocation, incX: int | java.jint | java.lang.Integer, beta: float | java.jfloat | java.lang.Float, Y: Allocation, incY: int | java.jint | java.lang.Integer, /) -> None: ...
    def SGER(self, alpha: float | java.jfloat | java.lang.Float, X: Allocation, incX: int | java.jint | java.lang.Integer, Y: Allocation, incY: int | java.jint | java.lang.Integer, A: Allocation, /) -> None: ...
    def SSBMV(self, Uplo: int | java.jint | java.lang.Integer, K: int | java.jint | java.lang.Integer, alpha: float | java.jfloat | java.lang.Float, A: Allocation, X: Allocation, incX: int | java.jint | java.lang.Integer, beta: float | java.jfloat | java.lang.Float, Y: Allocation, incY: int | java.jint | java.lang.Integer, /) -> None: ...
    def SSPMV(self, Uplo: int | java.jint | java.lang.Integer, alpha: float | java.jfloat | java.lang.Float, Ap: Allocation, X: Allocation, incX: int | java.jint | java.lang.Integer, beta: float | java.jfloat | java.lang.Float, Y: Allocation, incY: int | java.jint | java.lang.Integer, /) -> None: ...
    def SSPR(self, Uplo: int | java.jint | java.lang.Integer, alpha: float | java.jfloat | java.lang.Float, X: Allocation, incX: int | java.jint | java.lang.Integer, Ap: Allocation, /) -> None: ...
    def SSPR2(self, Uplo: int | java.jint | java.lang.Integer, alpha: float | java.jfloat | java.lang.Float, X: Allocation, incX: int | java.jint | java.lang.Integer, Y: Allocation, incY: int | java.jint | java.lang.Integer, Ap: Allocation, /) -> None: ...
    def SSYMM(self, Side: int | java.jint | java.lang.Integer, Uplo: int | java.jint | java.lang.Integer, alpha: float | java.jfloat | java.lang.Float, A: Allocation, B: Allocation, beta: float | java.jfloat | java.lang.Float, C: Allocation, /) -> None: ...
    def SSYMV(self, Uplo: int | java.jint | java.lang.Integer, alpha: float | java.jfloat | java.lang.Float, A: Allocation, X: Allocation, incX: int | java.jint | java.lang.Integer, beta: float | java.jfloat | java.lang.Float, Y: Allocation, incY: int | java.jint | java.lang.Integer, /) -> None: ...
    def SSYR(self, Uplo: int | java.jint | java.lang.Integer, alpha: float | java.jfloat | java.lang.Float, X: Allocation, incX: int | java.jint | java.lang.Integer, A: Allocation, /) -> None: ...
    def SSYR2(self, Uplo: int | java.jint | java.lang.Integer, alpha: float | java.jfloat | java.lang.Float, X: Allocation, incX: int | java.jint | java.lang.Integer, Y: Allocation, incY: int | java.jint | java.lang.Integer, A: Allocation, /) -> None: ...
    def SSYR2K(self, Uplo: int | java.jint | java.lang.Integer, Trans: int | java.jint | java.lang.Integer, alpha: float | java.jfloat | java.lang.Float, A: Allocation, B: Allocation, beta: float | java.jfloat | java.lang.Float, C: Allocation, /) -> None: ...
    def SSYRK(self, Uplo: int | java.jint | java.lang.Integer, Trans: int | java.jint | java.lang.Integer, alpha: float | java.jfloat | java.lang.Float, A: Allocation, beta: float | java.jfloat | java.lang.Float, C: Allocation, /) -> None: ...
    def STBMV(self, Uplo: int | java.jint | java.lang.Integer, TransA: int | java.jint | java.lang.Integer, Diag: int | java.jint | java.lang.Integer, K: int | java.jint | java.lang.Integer, A: Allocation, X: Allocation, incX: int | java.jint | java.lang.Integer, /) -> None: ...
    def STBSV(self, Uplo: int | java.jint | java.lang.Integer, TransA: int | java.jint | java.lang.Integer, Diag: int | java.jint | java.lang.Integer, K: int | java.jint | java.lang.Integer, A: Allocation, X: Allocation, incX: int | java.jint | java.lang.Integer, /) -> None: ...
    def STPMV(self, Uplo: int | java.jint | java.lang.Integer, TransA: int | java.jint | java.lang.Integer, Diag: int | java.jint | java.lang.Integer, Ap: Allocation, X: Allocation, incX: int | java.jint | java.lang.Integer, /) -> None: ...
    def STPSV(self, Uplo: int | java.jint | java.lang.Integer, TransA: int | java.jint | java.lang.Integer, Diag: int | java.jint | java.lang.Integer, Ap: Allocation, X: Allocation, incX: int | java.jint | java.lang.Integer, /) -> None: ...
    def STRMM(self, Side: int | java.jint | java.lang.Integer, Uplo: int | java.jint | java.lang.Integer, TransA: int | java.jint | java.lang.Integer, Diag: int | java.jint | java.lang.Integer, alpha: float | java.jfloat | java.lang.Float, A: Allocation, B: Allocation, /) -> None: ...
    def STRMV(self, Uplo: int | java.jint | java.lang.Integer, TransA: int | java.jint | java.lang.Integer, Diag: int | java.jint | java.lang.Integer, A: Allocation, X: Allocation, incX: int | java.jint | java.lang.Integer, /) -> None: ...
    def STRSM(self, Side: int | java.jint | java.lang.Integer, Uplo: int | java.jint | java.lang.Integer, TransA: int | java.jint | java.lang.Integer, Diag: int | java.jint | java.lang.Integer, alpha: float | java.jfloat | java.lang.Float, A: Allocation, B: Allocation, /) -> None: ...
    def STRSV(self, Uplo: int | java.jint | java.lang.Integer, TransA: int | java.jint | java.lang.Integer, Diag: int | java.jint | java.lang.Integer, A: Allocation, X: Allocation, incX: int | java.jint | java.lang.Integer, /) -> None: ...
    def ZGBMV(self, TransA: int | java.jint | java.lang.Integer, KL: int | java.jint | java.lang.Integer, KU: int | java.jint | java.lang.Integer, alpha: Double2, A: Allocation, X: Allocation, incX: int | java.jint | java.lang.Integer, beta: Double2, Y: Allocation, incY: int | java.jint | java.lang.Integer, /) -> None: ...
    def ZGEMM(self, TransA: int | java.jint | java.lang.Integer, TransB: int | java.jint | java.lang.Integer, alpha: Double2, A: Allocation, B: Allocation, beta: Double2, C: Allocation, /) -> None: ...
    def ZGEMV(self, TransA: int | java.jint | java.lang.Integer, alpha: Double2, A: Allocation, X: Allocation, incX: int | java.jint | java.lang.Integer, beta: Double2, Y: Allocation, incY: int | java.jint | java.lang.Integer, /) -> None: ...
    def ZGERC(self, alpha: Double2, X: Allocation, incX: int | java.jint | java.lang.Integer, Y: Allocation, incY: int | java.jint | java.lang.Integer, A: Allocation, /) -> None: ...
    def ZGERU(self, alpha: Double2, X: Allocation, incX: int | java.jint | java.lang.Integer, Y: Allocation, incY: int | java.jint | java.lang.Integer, A: Allocation, /) -> None: ...
    def ZHBMV(self, Uplo: int | java.jint | java.lang.Integer, K: int | java.jint | java.lang.Integer, alpha: Double2, A: Allocation, X: Allocation, incX: int | java.jint | java.lang.Integer, beta: Double2, Y: Allocation, incY: int | java.jint | java.lang.Integer, /) -> None: ...
    def ZHEMM(self, Side: int | java.jint | java.lang.Integer, Uplo: int | java.jint | java.lang.Integer, alpha: Double2, A: Allocation, B: Allocation, beta: Double2, C: Allocation, /) -> None: ...
    def ZHEMV(self, Uplo: int | java.jint | java.lang.Integer, alpha: Double2, A: Allocation, X: Allocation, incX: int | java.jint | java.lang.Integer, beta: Double2, Y: Allocation, incY: int | java.jint | java.lang.Integer, /) -> None: ...
    def ZHER(self, Uplo: int | java.jint | java.lang.Integer, alpha: float | java.jdouble | java.lang.Double, X: Allocation, incX: int | java.jint | java.lang.Integer, A: Allocation, /) -> None: ...
    def ZHER2(self, Uplo: int | java.jint | java.lang.Integer, alpha: Double2, X: Allocation, incX: int | java.jint | java.lang.Integer, Y: Allocation, incY: int | java.jint | java.lang.Integer, A: Allocation, /) -> None: ...
    def ZHER2K(self, Uplo: int | java.jint | java.lang.Integer, Trans: int | java.jint | java.lang.Integer, alpha: Double2, A: Allocation, B: Allocation, beta: float | java.jdouble | java.lang.Double, C: Allocation, /) -> None: ...
    def ZHERK(self, Uplo: int | java.jint | java.lang.Integer, Trans: int | java.jint | java.lang.Integer, alpha: float | java.jdouble | java.lang.Double, A: Allocation, beta: float | java.jdouble | java.lang.Double, C: Allocation, /) -> None: ...
    def ZHPMV(self, Uplo: int | java.jint | java.lang.Integer, alpha: Double2, Ap: Allocation, X: Allocation, incX: int | java.jint | java.lang.Integer, beta: Double2, Y: Allocation, incY: int | java.jint | java.lang.Integer, /) -> None: ...
    def ZHPR(self, Uplo: int | java.jint | java.lang.Integer, alpha: float | java.jdouble | java.lang.Double, X: Allocation, incX: int | java.jint | java.lang.Integer, Ap: Allocation, /) -> None: ...
    def ZHPR2(self, Uplo: int | java.jint | java.lang.Integer, alpha: Double2, X: Allocation, incX: int | java.jint | java.lang.Integer, Y: Allocation, incY: int | java.jint | java.lang.Integer, Ap: Allocation, /) -> None: ...
    def ZSYMM(self, Side: int | java.jint | java.lang.Integer, Uplo: int | java.jint | java.lang.Integer, alpha: Double2, A: Allocation, B: Allocation, beta: Double2, C: Allocation, /) -> None: ...
    def ZSYR2K(self, Uplo: int | java.jint | java.lang.Integer, Trans: int | java.jint | java.lang.Integer, alpha: Double2, A: Allocation, B: Allocation, beta: Double2, C: Allocation, /) -> None: ...
    def ZSYRK(self, Uplo: int | java.jint | java.lang.Integer, Trans: int | java.jint | java.lang.Integer, alpha: Double2, A: Allocation, beta: Double2, C: Allocation, /) -> None: ...
    def ZTBMV(self, Uplo: int | java.jint | java.lang.Integer, TransA: int | java.jint | java.lang.Integer, Diag: int | java.jint | java.lang.Integer, K: int | java.jint | java.lang.Integer, A: Allocation, X: Allocation, incX: int | java.jint | java.lang.Integer, /) -> None: ...
    def ZTBSV(self, Uplo: int | java.jint | java.lang.Integer, TransA: int | java.jint | java.lang.Integer, Diag: int | java.jint | java.lang.Integer, K: int | java.jint | java.lang.Integer, A: Allocation, X: Allocation, incX: int | java.jint | java.lang.Integer, /) -> None: ...
    def ZTPMV(self, Uplo: int | java.jint | java.lang.Integer, TransA: int | java.jint | java.lang.Integer, Diag: int | java.jint | java.lang.Integer, Ap: Allocation, X: Allocation, incX: int | java.jint | java.lang.Integer, /) -> None: ...
    def ZTPSV(self, Uplo: int | java.jint | java.lang.Integer, TransA: int | java.jint | java.lang.Integer, Diag: int | java.jint | java.lang.Integer, Ap: Allocation, X: Allocation, incX: int | java.jint | java.lang.Integer, /) -> None: ...
    def ZTRMM(self, Side: int | java.jint | java.lang.Integer, Uplo: int | java.jint | java.lang.Integer, TransA: int | java.jint | java.lang.Integer, Diag: int | java.jint | java.lang.Integer, alpha: Double2, A: Allocation, B: Allocation, /) -> None: ...
    def ZTRMV(self, Uplo: int | java.jint | java.lang.Integer, TransA: int | java.jint | java.lang.Integer, Diag: int | java.jint | java.lang.Integer, A: Allocation, X: Allocation, incX: int | java.jint | java.lang.Integer, /) -> None: ...
    def ZTRSM(self, Side: int | java.jint | java.lang.Integer, Uplo: int | java.jint | java.lang.Integer, TransA: int | java.jint | java.lang.Integer, Diag: int | java.jint | java.lang.Integer, alpha: Double2, A: Allocation, B: Allocation, /) -> None: ...
    def ZTRSV(self, Uplo: int | java.jint | java.lang.Integer, TransA: int | java.jint | java.lang.Integer, Diag: int | java.jint | java.lang.Integer, A: Allocation, X: Allocation, incX: int | java.jint | java.lang.Integer, /) -> None: ...
    @staticmethod
    def create(rs: RenderScript, /) -> ScriptIntrinsicBLAS: ...

class ScriptIntrinsicBlend(ScriptIntrinsic):
    @staticmethod
    def create(rs: RenderScript, e: Element, /) -> ScriptIntrinsicBlend: ...
    @typing.overload
    def forEachAdd(self, ain: Allocation, aout: Allocation, /) -> None: ...
    @typing.overload
    def forEachAdd(self, ain: Allocation, aout: Allocation, opt: Script.LaunchOptions, /) -> None: ...
    @typing.overload
    def forEachClear(self, ain: Allocation, aout: Allocation, /) -> None: ...
    @typing.overload
    def forEachClear(self, ain: Allocation, aout: Allocation, opt: Script.LaunchOptions, /) -> None: ...
    @typing.overload
    def forEachDst(self, ain: Allocation, aout: Allocation, /) -> None: ...
    @typing.overload
    def forEachDst(self, ain: Allocation, aout: Allocation, opt: Script.LaunchOptions, /) -> None: ...
    @typing.overload
    def forEachDstAtop(self, ain: Allocation, aout: Allocation, /) -> None: ...
    @typing.overload
    def forEachDstAtop(self, ain: Allocation, aout: Allocation, opt: Script.LaunchOptions, /) -> None: ...
    @typing.overload
    def forEachDstIn(self, ain: Allocation, aout: Allocation, /) -> None: ...
    @typing.overload
    def forEachDstIn(self, ain: Allocation, aout: Allocation, opt: Script.LaunchOptions, /) -> None: ...
    @typing.overload
    def forEachDstOut(self, ain: Allocation, aout: Allocation, /) -> None: ...
    @typing.overload
    def forEachDstOut(self, ain: Allocation, aout: Allocation, opt: Script.LaunchOptions, /) -> None: ...
    @typing.overload
    def forEachDstOver(self, ain: Allocation, aout: Allocation, /) -> None: ...
    @typing.overload
    def forEachDstOver(self, ain: Allocation, aout: Allocation, opt: Script.LaunchOptions, /) -> None: ...
    @typing.overload
    def forEachMultiply(self, ain: Allocation, aout: Allocation, /) -> None: ...
    @typing.overload
    def forEachMultiply(self, ain: Allocation, aout: Allocation, opt: Script.LaunchOptions, /) -> None: ...
    @typing.overload
    def forEachSrc(self, ain: Allocation, aout: Allocation, /) -> None: ...
    @typing.overload
    def forEachSrc(self, ain: Allocation, aout: Allocation, opt: Script.LaunchOptions, /) -> None: ...
    @typing.overload
    def forEachSrcAtop(self, ain: Allocation, aout: Allocation, /) -> None: ...
    @typing.overload
    def forEachSrcAtop(self, ain: Allocation, aout: Allocation, opt: Script.LaunchOptions, /) -> None: ...
    @typing.overload
    def forEachSrcIn(self, ain: Allocation, aout: Allocation, /) -> None: ...
    @typing.overload
    def forEachSrcIn(self, ain: Allocation, aout: Allocation, opt: Script.LaunchOptions, /) -> None: ...
    @typing.overload
    def forEachSrcOut(self, ain: Allocation, aout: Allocation, /) -> None: ...
    @typing.overload
    def forEachSrcOut(self, ain: Allocation, aout: Allocation, opt: Script.LaunchOptions, /) -> None: ...
    @typing.overload
    def forEachSrcOver(self, ain: Allocation, aout: Allocation, /) -> None: ...
    @typing.overload
    def forEachSrcOver(self, ain: Allocation, aout: Allocation, opt: Script.LaunchOptions, /) -> None: ...
    @typing.overload
    def forEachSubtract(self, ain: Allocation, aout: Allocation, /) -> None: ...
    @typing.overload
    def forEachSubtract(self, ain: Allocation, aout: Allocation, opt: Script.LaunchOptions, /) -> None: ...
    @typing.overload
    def forEachXor(self, ain: Allocation, aout: Allocation, /) -> None: ...
    @typing.overload
    def forEachXor(self, ain: Allocation, aout: Allocation, opt: Script.LaunchOptions, /) -> None: ...
    def getKernelIDAdd(self) -> Script.KernelID: ...
    def getKernelIDClear(self) -> Script.KernelID: ...
    def getKernelIDDst(self) -> Script.KernelID: ...
    def getKernelIDDstAtop(self) -> Script.KernelID: ...
    def getKernelIDDstIn(self) -> Script.KernelID: ...
    def getKernelIDDstOut(self) -> Script.KernelID: ...
    def getKernelIDDstOver(self) -> Script.KernelID: ...
    def getKernelIDMultiply(self) -> Script.KernelID: ...
    def getKernelIDSrc(self) -> Script.KernelID: ...
    def getKernelIDSrcAtop(self) -> Script.KernelID: ...
    def getKernelIDSrcIn(self) -> Script.KernelID: ...
    def getKernelIDSrcOut(self) -> Script.KernelID: ...
    def getKernelIDSrcOver(self) -> Script.KernelID: ...
    def getKernelIDSubtract(self) -> Script.KernelID: ...
    def getKernelIDXor(self) -> Script.KernelID: ...

class ScriptIntrinsicBlur(ScriptIntrinsic):
    @staticmethod
    def create(rs: RenderScript, e: Element, /) -> ScriptIntrinsicBlur: ...
    @typing.overload
    def forEach(self, aout: Allocation, /) -> None: ...
    @typing.overload
    def forEach(self, aout: Allocation, opt: Script.LaunchOptions, /) -> None: ...
    def getFieldID_Input(self) -> Script.FieldID: ...
    def getKernelID(self) -> Script.KernelID: ...
    def setInput(self, ain: Allocation, /) -> None: ...
    def setRadius(self, radius: float | java.jfloat | java.lang.Float, /) -> None: ...

class ScriptIntrinsicColorMatrix(ScriptIntrinsic):
    @typing.overload
    @staticmethod
    def create(rs: RenderScript, /) -> ScriptIntrinsicColorMatrix: ...
    @typing.overload
    @staticmethod
    def create(rs: RenderScript, e: Element, /) -> ScriptIntrinsicColorMatrix: ...
    @typing.overload
    def forEach(self, ain: Allocation, aout: Allocation, /) -> None: ...
    @typing.overload
    def forEach(self, ain: Allocation, aout: Allocation, opt: Script.LaunchOptions, /) -> None: ...
    def getKernelID(self) -> Script.KernelID: ...
    @typing.overload
    def setAdd(self, f: Float4, /) -> None: ...
    @typing.overload
    def setAdd(self, r: float | java.jfloat | java.lang.Float, g: float | java.jfloat | java.lang.Float, b: float | java.jfloat | java.lang.Float, a: float | java.jfloat | java.lang.Float, /) -> None: ...
    @typing.overload
    def setColorMatrix(self, m: Matrix3f, /) -> None: ...
    @typing.overload
    def setColorMatrix(self, m: Matrix4f, /) -> None: ...
    def setGreyscale(self) -> None: ...
    def setRGBtoYUV(self) -> None: ...
    def setYUVtoRGB(self) -> None: ...

class ScriptIntrinsicConvolve3x3(ScriptIntrinsic):
    @staticmethod
    def create(rs: RenderScript, e: Element, /) -> ScriptIntrinsicConvolve3x3: ...
    @typing.overload
    def forEach(self, aout: Allocation, /) -> None: ...
    @typing.overload
    def forEach(self, aout: Allocation, opt: Script.LaunchOptions, /) -> None: ...
    def getFieldID_Input(self) -> Script.FieldID: ...
    def getKernelID(self) -> Script.KernelID: ...
    def setCoefficients(self, v: java.chaquopy.JavaArrayJFloat, /) -> None: ...
    def setInput(self, ain: Allocation, /) -> None: ...

class ScriptIntrinsicConvolve5x5(ScriptIntrinsic):
    @staticmethod
    def create(rs: RenderScript, e: Element, /) -> ScriptIntrinsicConvolve5x5: ...
    @typing.overload
    def forEach(self, aout: Allocation, /) -> None: ...
    @typing.overload
    def forEach(self, aout: Allocation, opt: Script.LaunchOptions, /) -> None: ...
    def getFieldID_Input(self) -> Script.FieldID: ...
    def getKernelID(self) -> Script.KernelID: ...
    def setCoefficients(self, v: java.chaquopy.JavaArrayJFloat, /) -> None: ...
    def setInput(self, ain: Allocation, /) -> None: ...

class ScriptIntrinsicHistogram(ScriptIntrinsic):
    @staticmethod
    def create(rs: RenderScript, e: Element, /) -> ScriptIntrinsicHistogram: ...
    @typing.overload
    def forEach(self, ain: Allocation, /) -> None: ...
    @typing.overload
    def forEach(self, ain: Allocation, opt: Script.LaunchOptions, /) -> None: ...
    @typing.overload
    def forEach_Dot(self, ain: Allocation, /) -> None: ...
    @typing.overload
    def forEach_Dot(self, ain: Allocation, opt: Script.LaunchOptions, /) -> None: ...
    def getFieldID_Input(self) -> Script.FieldID: ...
    def getKernelID_Separate(self) -> Script.KernelID: ...
    def setDotCoefficients(self, r: float | java.jfloat | java.lang.Float, g: float | java.jfloat | java.lang.Float, b: float | java.jfloat | java.lang.Float, a: float | java.jfloat | java.lang.Float, /) -> None: ...
    def setOutput(self, aout: Allocation, /) -> None: ...

class ScriptIntrinsicLUT(ScriptIntrinsic):
    @staticmethod
    def create(rs: RenderScript, e: Element, /) -> ScriptIntrinsicLUT: ...
    def destroy(self) -> None: ...
    @typing.overload
    def forEach(self, ain: Allocation, aout: Allocation, /) -> None: ...
    @typing.overload
    def forEach(self, ain: Allocation, aout: Allocation, opt: Script.LaunchOptions, /) -> None: ...
    def getKernelID(self) -> Script.KernelID: ...
    def setAlpha(self, index: int | java.jint | java.lang.Integer, value: int | java.jint | java.lang.Integer, /) -> None: ...
    def setBlue(self, index: int | java.jint | java.lang.Integer, value: int | java.jint | java.lang.Integer, /) -> None: ...
    def setGreen(self, index: int | java.jint | java.lang.Integer, value: int | java.jint | java.lang.Integer, /) -> None: ...
    def setRed(self, index: int | java.jint | java.lang.Integer, value: int | java.jint | java.lang.Integer, /) -> None: ...

class ScriptIntrinsicResize(ScriptIntrinsic):
    @staticmethod
    def create(rs: RenderScript, /) -> ScriptIntrinsicResize: ...
    @typing.overload
    def forEach_bicubic(self, aout: Allocation, /) -> None: ...
    @typing.overload
    def forEach_bicubic(self, aout: Allocation, opt: Script.LaunchOptions, /) -> None: ...
    def getFieldID_Input(self) -> Script.FieldID: ...
    def getKernelID_bicubic(self) -> Script.KernelID: ...
    def setInput(self, ain: Allocation, /) -> None: ...

class ScriptIntrinsicYuvToRGB(ScriptIntrinsic):
    @staticmethod
    def create(rs: RenderScript, e: Element, /) -> ScriptIntrinsicYuvToRGB: ...
    def forEach(self, aout: Allocation, /) -> None: ...
    def getFieldID_Input(self) -> Script.FieldID: ...
    def getKernelID(self) -> Script.KernelID: ...
    def setInput(self, ain: Allocation, /) -> None: ...

class Short2(java.lang.Object):
    x: int = ...
    y: int = ...
    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, x: int | java.jshort | java.lang.Short, y: int | java.jshort | java.lang.Short, /) -> None: ...

class Short3(java.lang.Object):
    x: int = ...
    y: int = ...
    z: int = ...
    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, x: int | java.jshort | java.lang.Short, y: int | java.jshort | java.lang.Short, z: int | java.jshort | java.lang.Short, /) -> None: ...

class Short4(java.lang.Object):
    w: int = ...
    x: int = ...
    y: int = ...
    z: int = ...
    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, x: int | java.jshort | java.lang.Short, y: int | java.jshort | java.lang.Short, z: int | java.jshort | java.lang.Short, w: int | java.jshort | java.lang.Short, /) -> None: ...

class Type(BaseObj):
    @staticmethod
    def createX(rs: RenderScript, e: Element, dimX: int | java.jint | java.lang.Integer, /) -> Type: ...
    @staticmethod
    def createXY(rs: RenderScript, e: Element, dimX: int | java.jint | java.lang.Integer, dimY: int | java.jint | java.lang.Integer, /) -> Type: ...
    @staticmethod
    def createXYZ(rs: RenderScript, e: Element, dimX: int | java.jint | java.lang.Integer, dimY: int | java.jint | java.lang.Integer, dimZ: int | java.jint | java.lang.Integer, /) -> Type: ...
    def getCount(self) -> int: ...
    def getElement(self) -> Element: ...
    def getX(self) -> int: ...
    def getY(self) -> int: ...
    def getYuv(self) -> int: ...
    def getZ(self) -> int: ...
    def hasFaces(self) -> bool: ...
    def hasMipmaps(self) -> bool: ...

    class CubemapFace(java.lang.Enum[Type.CubemapFace]):
        NEGATIVE_X: typing.ClassVar[Type.CubemapFace] = ...
        NEGATIVE_Y: typing.ClassVar[Type.CubemapFace] = ...
        NEGATIVE_Z: typing.ClassVar[Type.CubemapFace] = ...
        POSITIVE_X: typing.ClassVar[Type.CubemapFace] = ...
        POSITIVE_Y: typing.ClassVar[Type.CubemapFace] = ...
        POSITIVE_Z: typing.ClassVar[Type.CubemapFace] = ...
        POSITVE_X: typing.ClassVar[Type.CubemapFace] = ...
        POSITVE_Y: typing.ClassVar[Type.CubemapFace] = ...
        POSITVE_Z: typing.ClassVar[Type.CubemapFace] = ...
        @staticmethod
        def valueOf(name: str | java.lang.String, /) -> Type.CubemapFace: ...
        @staticmethod
        def values() -> java.chaquopy.JavaArray[Type.CubemapFace]: ...

    class Builder(java.lang.Object):
        def __init__(self, rs: RenderScript, e: Element, /) -> None: ...
        def create(self) -> Type: ...
        def setFaces(self, value: bool | java.jboolean | java.lang.Boolean, /) -> Type.Builder: ...
        def setMipmaps(self, value: bool | java.jboolean | java.lang.Boolean, /) -> Type.Builder: ...
        def setX(self, value: int | java.jint | java.lang.Integer, /) -> Type.Builder: ...
        def setY(self, value: int | java.jint | java.lang.Integer, /) -> Type.Builder: ...
        def setYuvFormat(self, yuvFormat: int | java.jint | java.lang.Integer, /) -> Type.Builder: ...
        def setZ(self, value: int | java.jint | java.lang.Integer, /) -> Type.Builder: ...
