import { HNode, Meshes, Vec3, Vec4 } from '@hiberworld/code-kit';
import { ParticleSystemEmitter, ParticleSystemParticle, ParticleSystemParticleMaterial, ParticleSystemVelocityModifiers, ParticleBillboardAlignMode, ParticleBlendMode, ParticleCollisionMode, ParticleEmitterShape } from '@hiberworld/code-kit';
import { particleGradient, particleTexture } from '.';
export interface IParticlesOptions {
    particleTexture: particleTexture;
    colorStart: Vec4;
    colorEnd: Vec4;
    linearColorRandom: number;
    gradientTexture: particleGradient | string;
    gradientColorRandom: number;
    blendMode: ParticleBlendMode;
    depthSort: boolean;
    lifetime: number;
    lifeRandom: number;
    sizeStart: number;
    sizeEnd: number;
    sizeRandom: number;
    randomRotation: number;
    rotationSpeed: number;
    randomRotationSpeed: number;
    rotationWobbleAmount: number;
    rotationWobbleFrequency: number;
    billboardAlign: ParticleBillboardAlignMode;
    forceGravity: number;
    forceAirRes: number;
    wobbleVelocity: Vec3;
    wobbleFrequency: Vec3;
    collisionMode: ParticleCollisionMode;
    collisionBounceFactor: number;
    particleCountMax: number;
    shape: ParticleEmitterShape;
    traceGround: boolean;
    continuous: boolean;
    spawnRate: number;
    velocity: Vec3;
    randomVelocity: Vec3;
    size: Vec3;
    offset: Vec3;
    inheritVelocity: number;
    emitterLifeTime: number;
    emitterMesh: Meshes;
}
/**
 * Add particles to an object.
 * @example
 * ```
const ball = getPrefab({ id: 'sphere_01', p: [0, 1, 3], s: pop3(0.3) });
addParticles(ball);
addTo(root, ball);
 * ```
 */
export declare const addParticles: (node: HNode, props?: Partial<IParticlesOptions>) => HNode;
export declare const PARTICLE_GRADIENT: {
    gradient1: string;
    gradient_in_out_01: string;
    radial_gradient_01: string;
};
export type PARTICLE_PRESET_VALUE = Partial<ParticleSystemParticleMaterial & ParticleSystemParticle & ParticleSystemVelocityModifiers & ParticleSystemEmitter>;
//# sourceMappingURL=addParticles.d.ts.map