import { ParticleConfig, ParticleRenderer } from '../particle-renderer';
import { GridDataImage } from '../../source/grid-data-image';
export declare class ParticleWebglRenderer extends ParticleRenderer {
    private gl;
    private _particlesNumber;
    private viewportExtent;
    private sourceBoundary;
    private type;
    private lineWidth;
    private speedFactor;
    private fadeOpacity;
    private dropRate;
    private dropRateBump;
    private colorRamp;
    private screenProgram;
    private drawProgram;
    private drawParticlesProgram;
    private updateProgram;
    private drawPartProgram;
    private updatePartProgram;
    private particleProgramWind;
    private particleProgramWindPart;
    private particleProgramWaves;
    private uvTexture;
    private particleStateTexture0;
    private particleStateTexture1;
    private particleStateTexture2;
    private backgroundTexture;
    private screenTexture;
    private colorRampTexture;
    private quadBuffer;
    private framebuffer;
    private particleStateResolution;
    private particleIndexBuffer;
    private particleRectBuffer;
    private particleRectIndicesBuffer;
    constructor();
    setLayerCanvas(canvas: HTMLCanvasElement): void;
    setProgram(): void;
    setColorRamp(colors: any): void;
    resize(): void;
    set particlesNumber(numParticles: number);
    get particlesNumber(): number;
    setData(data: GridDataImage): void;
    setConfig(config: ParticleConfig): void;
    clear(): void;
    dispose(): void;
    render(): void;
    private drawScreen;
    private drawTexture;
    private drawParticles;
    private updateParticles;
}
