import type { GlRenderState, GlRenderTextureEntry, GlRenderTextureExplanation, GlRenderTextureGuard, RenderTexture, SamplerLike, TextureColorSpace } from '@flighthq/types/contract'; export declare function bindGlRenderTexture(state: GlRenderState, renderTexture: Readonly, sampler?: Readonly | null): WebGLTexture | null; /** Clears a RenderTexture to transparent, publishes it as ready, and restores the caller's GL state. */ export declare function clearGlRenderTexture(state: GlRenderState, renderTexture: RenderTexture): void; export declare function destroyGlRenderTexture(state: GlRenderState, renderTexture: Readonly): void; export declare function explainGlRenderTexture(state: GlRenderState, renderTexture: Readonly): GlRenderTextureExplanation; export declare function getGlRenderTextureColorSpace(state: GlRenderState, renderTexture: Readonly): TextureColorSpace; export declare function getGlRenderTextureTarget(state: GlRenderState, renderTexture: Readonly): Readonly | null; export declare function invalidateGlRenderTexture(state: GlRenderState, renderTexture: Readonly, status?: 'released' | 'unrendered'): void; export declare function isGlRenderTextureReady(state: GlRenderState, renderTexture: Readonly): boolean; /** * Clears and populates a render texture's hidden GL target. The callback may issue any GL-backed * rendering commands; framebuffer and fixed-function state are restored even when it throws. */ export declare function renderIntoGlRenderTexture(state: GlRenderState, renderTexture: RenderTexture, callback: (state: GlRenderState) => void): void; export declare function setGlRenderTextureGuard(state: GlRenderState, guard: GlRenderTextureGuard | null): void; export declare function writeGlRenderTextureTarget(state: GlRenderState, renderTexture: RenderTexture, callback: (target: GlRenderTextureEntry['target']) => T): T; //# sourceMappingURL=glRenderTexture.d.ts.map