import type { Matrix4 } from '@galacean/effects-math/es/core/matrix4'; import type { Vector3 } from '@galacean/effects-math/es/core/vector3'; import type { Texture } from '../../texture'; import type { TrailMeshProps, TrailPointOptions } from './trail-mesh'; import type { ParticleMeshProps, Point } from './particle-mesh'; import { ParticleMesh } from './particle-mesh'; import type { Mesh, Renderer } from '../../render'; import type { Engine } from '../../engine'; import { RendererComponent } from '../../components'; import type { MaskProcessor } from '../../material/mask-ref-manager'; /** * @since 2.0.0 */ export declare class ParticleSystemRenderer extends RendererComponent { meshes: Mesh[]; particleMesh: ParticleMesh; maskManager: MaskProcessor; private trailMesh?; constructor(engine: Engine, particleMeshProps?: ParticleMeshProps, trailMeshProps?: TrailMeshProps); onStart(): void; onUpdate(dt: number): void; render(renderer: Renderer): void; reset(): void; updateTime(now: number, delta: number): void; minusTimeForLoop(duration: number): void; updateWorldMatrix(worldMatrix: Matrix4): void; setVisible(visible: boolean): void; getTextures(): Texture[]; setParticlePoint(index: number, point: Point): void; removeParticlePoint(index: number): void; getParticlePointColor(index: number): number[]; hasTrail(): boolean; clearTrail(pointIndex: number): void; addTrailPoint(index: number, position: Vector3, options: TrailPointOptions): void; setTrailStartPosition(index: number, position: Vector3): void; getTrailStartPosition(index: number): Vector3; }