export default SpritesWebGLDrawable;
declare class SpritesWebGLDrawable extends WebGLSelfDrawable {
    /**
     * @public
     * @override
     *
     * @param {number} renderer
     * @param {Instance} instance
     */
    public override initialize(renderer: number, instance: Instance): void;
    contextChangeListener: (() => void) | undefined;
    spriteSheet: SpriteSheet | undefined;
    spriteImageUVMap: {} | undefined;
    vertexArray: any;
    transformMatrixArray: Float32Array<ArrayBuffer> | undefined;
    spriteChangeListener: ((newSpriteImage: SpriteImage, oldSpriteImage: SpriteImage) => void) | undefined;
    hasDrawn: boolean | undefined;
    /**
     * Adds a SpriteImage to our SpriteSheet.
     * @private
     *
     * @param {SpriteImage} spriteImage
     */
    private addSpriteImage;
    /**
     * Removes a SpriteImage from our SpriteSheet.
     * @private
     *
     * @param {SpriteImage} spriteImage
     */
    private removeSpriteImage;
    /**
     * Called when a Sprite's SpriteImage changes.
     * @private
     *
     * @param {SpriteImage} newSpriteImage
     * @param {SpriteImage} oldSpriteImage
     */
    private onSpriteChange;
    /**
     * Sets up everything with a new WebGL context
     *
     * @private
     */
    private setup;
    shaderProgram: ShaderProgram | undefined;
    vertexBuffer: any;
    /**
     * Callback for when the WebGL context changes. We'll reconstruct the painter.
     * @public
     */
    public onWebGLContextChange(): void;
    /**
     * Called when this drawable is added to a block.
     * @public
     *
     * @param {WebGLBlock} webGLBlock
     */
    public onAddToBlock(webGLBlock: WebGLBlock): void;
    webGLBlock: any;
    /**
     * Called when this drawable is removed from a block.
     * @public
     *
     * @param {WebGLBlock} webGLBlock
     */
    public onRemoveFromBlock(webGLBlock: WebGLBlock): void;
    /**
     * Draws the WebGL content.
     * @public
     */
    public draw(): 0 | 1;
    /**
     * A "catch-all" dirty method that directly marks the paintDirty flag and triggers propagation of dirty
     * information. This can be used by other mark* methods, or directly itself if the paintDirty flag is checked.
     * @public
     *
     * It should be fired (indirectly or directly) for anything besides transforms that needs to make a drawable
     * dirty.
     */
    public markPaintDirty(): void;
    webglRenderer: number;
}
import { WebGLSelfDrawable } from '../../imports.js';
import { SpriteSheet } from '../../imports.js';
import { ShaderProgram } from '../../imports.js';
//# sourceMappingURL=SpritesWebGLDrawable.d.ts.map