import type { NobjcObject } from "objc-js";
import type { _NSLocking } from "../Foundation/NSLocking.js";
import type { _NSObject } from "../Foundation/NSObject.js";
import type { _NSOpenGLPixelBuffer } from "./NSOpenGLPixelBuffer.js";
import type { _NSOpenGLPixelFormat } from "./NSOpenGLPixelFormat.js";
import type { _NSView } from "./NSView.js";
import type { NSOpenGLContextParameter } from "./NSOpenGLContextParameter.js";
export declare class _NSOpenGLContext extends _NSObject {
    static alloc(): _NSOpenGLContext;
    static new(): _NSOpenGLContext;
    init(): _NSOpenGLContext;
    /** @deprecated */
    static clearCurrentContext(): void;
    /** @deprecated */
    static currentContext(): _NSOpenGLContext | null;
    /** Context creation */
    initWithFormat$shareContext$(format: _NSOpenGLPixelFormat, share: _NSOpenGLContext | null): _NSOpenGLContext | null;
    /** @deprecated */
    initWithCGLContextObj$(context: NobjcObject): _NSOpenGLContext | null;
    /** @deprecated Use NSOpenGLView to provide OpenGL content in a Cocoa app. */
    setView$(view: _NSView | null): void;
    /** @deprecated Use a fullscreen NSOpenGLView instead */
    setFullScreen(): void;
    /**
     * Deprecated in 10.7. The -setOffScreen:width:height:rowbytes: API forces use of the software rasterizer, which is much slower than GPU rendering. It is generally much better nowadays to use a normal pixel format with either an off-screen window or an FBO (GL_EXT_framebuffer_object), and then call glReadPixels() to read the rendered result back to CPU memory (if that's where it is needed).
     * @deprecated
     */
    setOffScreen$width$height$rowbytes$(baseaddr: Uint8Array, width: number, height: number, rowbytes: number): void;
    clearDrawable(): void;
    update(): void;
    /** Flush draw buffer */
    flushBuffer(): void;
    /**
     * Current context control
     * @deprecated
     */
    makeCurrentContext(): void;
    /**
     * Copy attributes from another context
     * @deprecated
     */
    copyAttributesFromContext$withMask$(context: _NSOpenGLContext, mask: number): void;
    /** Context Parameter handling */
    setValues$forParameter$(vals: NobjcObject, param: NSOpenGLContextParameter): void;
    getValues$forParameter$(vals: NobjcObject, param: NSOpenGLContextParameter): void;
    /**
     * creating textures
     * @deprecated
     */
    createTexture$fromView$internalFormat$(target: number, view: _NSView, format: number): void;
    /**
     * Use IOSurface instead of NSOpenGLPixelBuffer on Mac OS 10.7 and newer.
     * @deprecated
     */
    setPixelBuffer$cubeMapFace$mipMapLevel$currentVirtualScreen$(pixelBuffer: _NSOpenGLPixelBuffer, face: number, level: number, screen: number): void;
    /**
     * Use IOSurface instead of NSOpenGLPixelBuffer on Mac OS 10.7 and newer.
     * @deprecated
     */
    pixelBuffer(): _NSOpenGLPixelBuffer | null;
    /**
     * Use IOSurface instead of NSOpenGLPixelBuffer on Mac OS 10.7 and newer.
     * @deprecated
     */
    pixelBufferCubeMapFace(): number;
    /**
     * Use IOSurface instead of NSOpenGLPixelBuffer on Mac OS 10.7 and newer.
     * @deprecated
     */
    pixelBufferMipMapLevel(): number;
    /**
     * Use IOSurface instead of NSOpenGLPixelBuffer on Mac OS 10.7 and newer.
     * @deprecated
     */
    setTextureImageToPixelBuffer$colorBuffer$(pixelBuffer: _NSOpenGLPixelBuffer, source: number): void;
    /** @deprecated */
    pixelFormat(): _NSOpenGLPixelFormat;
    /**
     * Drawable management
     * @deprecated
     */
    view(): _NSView;
    setView$(value: _NSView): void;
    /**
     * virtual screens
     * @deprecated
     */
    currentVirtualScreen(): number;
    setCurrentVirtualScreen$(value: number): void;
    CGLContextObj(): NobjcObject;
}
export interface _NSOpenGLContext extends _NSLocking {
}
