import type { ParticleEmitterSignals } from '@flighthq/types/contract'; /** Create a fresh {@link ParticleEmitterSignals} group. Called by * {@link enableParticleEmitterSignals} on first use; exported for unit testing. */ export declare function createParticleEmitterSignals(): ParticleEmitterSignals; /** Opt-in signals for a typed-array particle emitter. * * Returns the {@link ParticleEmitterSignals} group attached to `state`, creating it on * first call. The cost of signals is zero until this function is called — keeping it * opt-in honors the `enable*` convention and avoids allocation for emitters that do not * need loose multi-listener notification. * * Connect to the returned signals; they are fired by the simulation functions * (`updateParticleEmitter2D`, `stepParticleEmitter2D`) when the state carries signals. * Use `getParticleEmitterSignals` to read without creating. */ export declare function enableParticleEmitterSignals(state: object): ParticleEmitterSignals; /** Return the {@link ParticleEmitterSignals} attached to `state`, or `null` if signals * have not been enabled for this emitter. */ export declare function getParticleEmitterSignals(state: object): ParticleEmitterSignals | null; //# sourceMappingURL=particleEmitterSignals.d.ts.map