import { CoreRenderOp } from '../CoreRenderOp.js';
import { WebGlCoreShader } from './WebGlCoreShader.js';
import type { WebGlCoreCtxTexture } from './WebGlCoreCtxTexture.js';
import type { WebGlCoreRendererOptions } from './WebGlCoreRenderer.js';
import type { BufferCollection } from './internal/BufferCollection.js';
import type { Dimensions } from '../../../common/CommonTypes.js';
import type { RectWithValid } from '../../lib/utils.js';
import type { WebGlContextWrapper } from '../../lib/WebGlContextWrapper.js';
/**
 * Can render multiple quads with multiple textures (up to vertex shader texture limit)
 *
 */
export declare class WebGlCoreRenderOp extends CoreRenderOp {
    readonly glw: WebGlContextWrapper;
    readonly options: WebGlCoreRendererOptions;
    readonly buffers: BufferCollection;
    readonly shader: WebGlCoreShader;
    readonly shaderProps: Record<string, unknown>;
    readonly alpha: number;
    readonly clippingRect: RectWithValid;
    readonly dimensions: Dimensions;
    readonly bufferIdx: number;
    readonly zIndex: number;
    readonly renderToTexture: boolean | undefined;
    readonly parentHasRenderTexture: boolean | undefined;
    readonly framebufferDimensions: Dimensions | undefined;
    length: number;
    numQuads: number;
    textures: WebGlCoreCtxTexture[];
    readonly maxTextures: number;
    constructor(glw: WebGlContextWrapper, options: WebGlCoreRendererOptions, buffers: BufferCollection, shader: WebGlCoreShader, shaderProps: Record<string, unknown>, alpha: number, clippingRect: RectWithValid, dimensions: Dimensions, bufferIdx: number, zIndex: number, renderToTexture: boolean | undefined, parentHasRenderTexture: boolean | undefined, framebufferDimensions: Dimensions | undefined);
    addTexture(texture: WebGlCoreCtxTexture): number;
    draw(): void;
}
