import * as THREE from 'three'; import type { Emitter, EmitterOptions } from './emitter.js'; /** Options for {@link createGpuEmitter} — `EmitterOptions` minus the CPU-only rate/burst controls (GPU particles recycle continuously). */ export type GpuEmitterOptions = Omit; /** * GPGPU particle emitter: position and velocity live in float textures * advanced by `GPUComputationRenderer` fragment shaders, so capacity scales * to hundreds of thousands with near-zero CPU cost per frame. * * @param renderer - Renderer running the compute passes (WebGL2). * @param options - Same appearance/motion contract as the CPU emitter. * @returns An {@link Emitter}; `burst`/`setRate` are no-ops — particles * respawn continuously as their lifetime wraps. * @remarks Capacity rounds up to a square texture side. Requires float * render-target support. */ export declare function createGpuEmitter(renderer: THREE.WebGLRenderer, options: GpuEmitterOptions): Emitter; //# sourceMappingURL=gpu-emitter.d.ts.map