import typing

import java
import java.chaquopy
import java.lang
import javax.microedition.khronos.opengles

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

class EGL10(EGL):
    EGL_ALPHA_FORMAT: typing.ClassVar[int] = ...
    EGL_ALPHA_MASK_SIZE: typing.ClassVar[int] = ...
    EGL_ALPHA_SIZE: typing.ClassVar[int] = ...
    EGL_BAD_ACCESS: typing.ClassVar[int] = ...
    EGL_BAD_ALLOC: typing.ClassVar[int] = ...
    EGL_BAD_ATTRIBUTE: typing.ClassVar[int] = ...
    EGL_BAD_CONFIG: typing.ClassVar[int] = ...
    EGL_BAD_CONTEXT: typing.ClassVar[int] = ...
    EGL_BAD_CURRENT_SURFACE: typing.ClassVar[int] = ...
    EGL_BAD_DISPLAY: typing.ClassVar[int] = ...
    EGL_BAD_MATCH: typing.ClassVar[int] = ...
    EGL_BAD_NATIVE_PIXMAP: typing.ClassVar[int] = ...
    EGL_BAD_NATIVE_WINDOW: typing.ClassVar[int] = ...
    EGL_BAD_PARAMETER: typing.ClassVar[int] = ...
    EGL_BAD_SURFACE: typing.ClassVar[int] = ...
    EGL_BLUE_SIZE: typing.ClassVar[int] = ...
    EGL_BUFFER_SIZE: typing.ClassVar[int] = ...
    EGL_COLORSPACE: typing.ClassVar[int] = ...
    EGL_COLOR_BUFFER_TYPE: typing.ClassVar[int] = ...
    EGL_CONFIG_CAVEAT: typing.ClassVar[int] = ...
    EGL_CONFIG_ID: typing.ClassVar[int] = ...
    EGL_CORE_NATIVE_ENGINE: typing.ClassVar[int] = ...
    EGL_DEFAULT_DISPLAY: typing.ClassVar[java.lang.Object] = ...
    EGL_DEPTH_SIZE: typing.ClassVar[int] = ...
    EGL_DONT_CARE: typing.ClassVar[int] = ...
    EGL_DRAW: typing.ClassVar[int] = ...
    EGL_EXTENSIONS: typing.ClassVar[int] = ...
    EGL_GREEN_SIZE: typing.ClassVar[int] = ...
    EGL_HEIGHT: typing.ClassVar[int] = ...
    EGL_HORIZONTAL_RESOLUTION: typing.ClassVar[int] = ...
    EGL_LARGEST_PBUFFER: typing.ClassVar[int] = ...
    EGL_LEVEL: typing.ClassVar[int] = ...
    EGL_LUMINANCE_BUFFER: typing.ClassVar[int] = ...
    EGL_LUMINANCE_SIZE: typing.ClassVar[int] = ...
    EGL_MAX_PBUFFER_HEIGHT: typing.ClassVar[int] = ...
    EGL_MAX_PBUFFER_PIXELS: typing.ClassVar[int] = ...
    EGL_MAX_PBUFFER_WIDTH: typing.ClassVar[int] = ...
    EGL_NATIVE_RENDERABLE: typing.ClassVar[int] = ...
    EGL_NATIVE_VISUAL_ID: typing.ClassVar[int] = ...
    EGL_NATIVE_VISUAL_TYPE: typing.ClassVar[int] = ...
    EGL_NONE: typing.ClassVar[int] = ...
    EGL_NON_CONFORMANT_CONFIG: typing.ClassVar[int] = ...
    EGL_NOT_INITIALIZED: typing.ClassVar[int] = ...
    EGL_NO_CONTEXT: typing.ClassVar[EGLContext] = ...
    EGL_NO_DISPLAY: typing.ClassVar[EGLDisplay] = ...
    EGL_NO_SURFACE: typing.ClassVar[EGLSurface] = ...
    EGL_PBUFFER_BIT: typing.ClassVar[int] = ...
    EGL_PIXEL_ASPECT_RATIO: typing.ClassVar[int] = ...
    EGL_PIXMAP_BIT: typing.ClassVar[int] = ...
    EGL_READ: typing.ClassVar[int] = ...
    EGL_RED_SIZE: typing.ClassVar[int] = ...
    EGL_RENDERABLE_TYPE: typing.ClassVar[int] = ...
    EGL_RENDER_BUFFER: typing.ClassVar[int] = ...
    EGL_RGB_BUFFER: typing.ClassVar[int] = ...
    EGL_SAMPLES: typing.ClassVar[int] = ...
    EGL_SAMPLE_BUFFERS: typing.ClassVar[int] = ...
    EGL_SINGLE_BUFFER: typing.ClassVar[int] = ...
    EGL_SLOW_CONFIG: typing.ClassVar[int] = ...
    EGL_STENCIL_SIZE: typing.ClassVar[int] = ...
    EGL_SUCCESS: typing.ClassVar[int] = ...
    EGL_SURFACE_TYPE: typing.ClassVar[int] = ...
    EGL_TRANSPARENT_BLUE_VALUE: typing.ClassVar[int] = ...
    EGL_TRANSPARENT_GREEN_VALUE: typing.ClassVar[int] = ...
    EGL_TRANSPARENT_RED_VALUE: typing.ClassVar[int] = ...
    EGL_TRANSPARENT_RGB: typing.ClassVar[int] = ...
    EGL_TRANSPARENT_TYPE: typing.ClassVar[int] = ...
    EGL_VENDOR: typing.ClassVar[int] = ...
    EGL_VERSION: typing.ClassVar[int] = ...
    EGL_VERTICAL_RESOLUTION: typing.ClassVar[int] = ...
    EGL_WIDTH: typing.ClassVar[int] = ...
    EGL_WINDOW_BIT: typing.ClassVar[int] = ...
    def eglChooseConfig(self, arg1: EGLDisplay, arg2: java.chaquopy.JavaArrayJInt, arg3: java.chaquopy.JavaArray[EGLConfig], arg4: int | java.jint | java.lang.Integer, arg5: java.chaquopy.JavaArrayJInt, /) -> bool: ...
    def eglCopyBuffers(self, arg1: EGLDisplay, arg2: EGLSurface, arg3: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def eglCreateContext(self, arg1: EGLDisplay, arg2: EGLConfig, arg3: EGLContext, arg4: java.chaquopy.JavaArrayJInt, /) -> EGLContext: ...
    def eglCreatePbufferSurface(self, arg1: EGLDisplay, arg2: EGLConfig, arg3: java.chaquopy.JavaArrayJInt, /) -> EGLSurface: ...
    def eglCreatePixmapSurface(self, arg1: EGLDisplay, arg2: EGLConfig, arg3: java.lang.Object | int | bool | float | str, arg4: java.chaquopy.JavaArrayJInt, /) -> EGLSurface: ...
    def eglCreateWindowSurface(self, arg1: EGLDisplay, arg2: EGLConfig, arg3: java.lang.Object | int | bool | float | str, arg4: java.chaquopy.JavaArrayJInt, /) -> EGLSurface: ...
    def eglDestroyContext(self, arg1: EGLDisplay, arg2: EGLContext, /) -> bool: ...
    def eglDestroySurface(self, arg1: EGLDisplay, arg2: EGLSurface, /) -> bool: ...
    def eglGetConfigAttrib(self, arg1: EGLDisplay, arg2: EGLConfig, arg3: int | java.jint | java.lang.Integer, arg4: java.chaquopy.JavaArrayJInt, /) -> bool: ...
    def eglGetConfigs(self, arg1: EGLDisplay, arg2: java.chaquopy.JavaArray[EGLConfig], arg3: int | java.jint | java.lang.Integer, arg4: java.chaquopy.JavaArrayJInt, /) -> bool: ...
    def eglGetCurrentContext(self) -> EGLContext: ...
    def eglGetCurrentDisplay(self) -> EGLDisplay: ...
    def eglGetCurrentSurface(self, arg1: int | java.jint | java.lang.Integer, /) -> EGLSurface: ...
    def eglGetDisplay(self, arg1: java.lang.Object | int | bool | float | str, /) -> EGLDisplay: ...
    def eglGetError(self) -> int: ...
    def eglInitialize(self, arg1: EGLDisplay, arg2: java.chaquopy.JavaArrayJInt, /) -> bool: ...
    def eglMakeCurrent(self, arg1: EGLDisplay, arg2: EGLSurface, arg3: EGLSurface, arg4: EGLContext, /) -> bool: ...
    def eglQueryContext(self, arg1: EGLDisplay, arg2: EGLContext, arg3: int | java.jint | java.lang.Integer, arg4: java.chaquopy.JavaArrayJInt, /) -> bool: ...
    def eglQueryString(self, arg1: EGLDisplay, arg2: int | java.jint | java.lang.Integer, /) -> str: ...
    def eglQuerySurface(self, arg1: EGLDisplay, arg2: EGLSurface, arg3: int | java.jint | java.lang.Integer, arg4: java.chaquopy.JavaArrayJInt, /) -> bool: ...
    def eglSwapBuffers(self, arg1: EGLDisplay, arg2: EGLSurface, /) -> bool: ...
    def eglTerminate(self, arg1: EGLDisplay, /) -> bool: ...
    def eglWaitGL(self) -> bool: ...
    def eglWaitNative(self, arg1: int | java.jint | java.lang.Integer, arg2: java.lang.Object | int | bool | float | str, /) -> bool: ...

class EGL11(EGL10):
    EGL_CONTEXT_LOST: typing.ClassVar[int] = ...

class EGLConfig(java.lang.Object):
    def __init__(self) -> None: ...

class EGLContext(java.lang.Object):
    def __init__(self) -> None: ...
    @staticmethod
    def getEGL() -> EGL: ...
    def getGL(self) -> javax.microedition.khronos.opengles.GL: ...

class EGLDisplay(java.lang.Object):
    def __init__(self) -> None: ...

class EGLSurface(java.lang.Object):
    def __init__(self) -> None: ...
