export class BillboardParticleRenderer extends AbstractParticleRenderer {
    /**
     *
     * @type {WebGL2RenderingContext}
     * @private
     */
    private __gl;
    /**
     * Images for billboards are referenced by an unsigned integer. This integer is used for looking up actual UV coordinates for image patch inside the atlas
     * @type {DataTexture}
     * @private
     */
    private __image_lookup_texture;
    /**
     *
     * @type {number}
     * @private
     */
    private __image_atlas_padding;
    /**
     *
     * @type {TextureAtlas}
     * @private
     */
    private __image_atlas;
    /**
     *
     * @type {Map<number, AtlasPatch>}
     * @private
     */
    private __image_atlas_patches;
    /**
     *
     * @type {IdPool}
     * @private
     */
    private __image_ids;
    /**
     *
     * @type {boolean}
     * @private
     */
    private __image_lookup_texture_needs_update;
    __updateImageLookupTexture(): void;
    /**
     * Create a new image slot
     * @returns {number} ID of newly created image
     */
    createImage(): number;
    /**
     * Remove image
     * @param {number} id
     * @returns {boolean}
     */
    deleteImage(id: number): boolean;
    /**
     * Upload an image into a given slot
     * @param {number} id Image ID
     * @param {Sampler2D} data
     */
    uploadImage(id: number, data: Sampler2D): void;
    initialize(engine: any): void;
    render(commands: any): void;
    /**
     *
     * @param {ParticleRenderSpecification} spec
     * @param {EmitterAttributeData} data
     * @private
     */
    private __render;
}
import { AbstractParticleRenderer } from "../AbstractParticleRenderer.js";
//# sourceMappingURL=BillboardParticleRenderer.d.ts.map