import type { NobjcObject } from "objc-js";
import type { _CALayer } from "./CALayer.js";
export declare class _CAOpenGLLayer extends _CALayer {
    static alloc(): _CAOpenGLLayer;
    static new(): _CAOpenGLLayer;
    init(): _CAOpenGLLayer;
    /**
     * Called before attempting to render the frame for layer time 't'. When non-null 'ts' describes the display timestamp associated with layer time 't'. If the method returns false, the frame is skipped. The default implementation always returns YES.
     */
    canDrawInCGLContext$pixelFormat$forLayerTime$displayTime$(ctx: NobjcObject, pf: NobjcObject, t: number, ts: NobjcObject | null): boolean;
    /**
     * Called when a new frame needs to be generated for layer time 't'. 'ctx' is attached to the rendering destination. It's state is otherwise undefined. When non-null 'ts' describes the display timestamp associated with layer time 't'. Subclasses should call the superclass implementation of the method to flush the context after rendering.
     */
    drawInCGLContext$pixelFormat$forLayerTime$displayTime$(ctx: NobjcObject, pf: NobjcObject, t: number, ts: NobjcObject | null): void;
    /**
     * This method will be called by the CAOpenGLLayer implementation when a pixel format object is needed for the layer. Should return an OpenGL pixel format suitable for rendering to the set of displays defined by the display mask 'mask'. The default implementation returns a 32bpp fixed point pixel format, with NoRecovery and Accelerated flags set.
     */
    copyCGLPixelFormatForDisplayMask$(mask: number): NobjcObject;
    /**
     * Called when the OpenGL pixel format 'pf' that was previously returned from -copyCGLPixelFormatForDisplayMask: is no longer needed.
     */
    releaseCGLPixelFormat$(pf: NobjcObject): void;
    /**
     * Called by the CAOpenGLLayer implementation when a rendering context is needed by the layer. Should return an OpenGL context with renderers from pixel format 'pf'. The default implementation allocates a new context with a null share context.
     */
    copyCGLContextForPixelFormat$(pf: NobjcObject): NobjcObject;
    /**
     * Called when the OpenGL context 'ctx' that was previously returned from -copyCGLContextForPixelFormat: is no longer needed.
     */
    releaseCGLContext$(ctx: NobjcObject): void;
    /**
     * When false the contents of the layer is only updated in response to -setNeedsDisplay messages. When true the layer is asked to redraw periodically with timestamps matching the display update frequency. The default value is NO.
     */
    asynchronous(): boolean;
    setAsynchronous$(value: boolean): void;
    /**
     * The colorspace of the rendered frames. If nil, no colormatching occurs. If non-nil, the rendered content will be colormatched to the colorspace of the context containing this layer (typically the display's colorspace).
     */
    colorspace(): NobjcObject;
    setColorspace$(value: Uint8Array | null): void;
    /**
     * If any rendering context on the screen has this enabled, all content will be clamped to its NSScreen’s maximumExtendedDynamicRangeColorComponentValue rather than 1.0. The default is NO.
     */
    wantsExtendedDynamicRangeContent(): boolean;
    setWantsExtendedDynamicRangeContent$(value: boolean): void;
}
