import { ShaderRegisterCache } from '@awayjs/stage'; import { ShaderBase, AnimationRegisterData } from '@awayjs/renderer'; import { ParticleProperties } from '../data/ParticleProperties'; import { ParticleTimeState } from '../states/ParticleTimeState'; import { ParticleAnimationSet } from '../ParticleAnimationSet'; import { AnimatorBase } from '../AnimatorBase'; import { ParticleNodeBase } from './ParticleNodeBase'; /** * A particle animation node used as the base node for timekeeping inside a particle. Automatically added to a particle animation set on instatiation. */ export declare class ParticleTimeNode extends ParticleNodeBase { /** @private */ _iUsesDuration: boolean; /** @private */ _iUsesDelay: boolean; /** @private */ _iUsesLooping: boolean; /** * Creates a new ParticleTimeNode * * @param [optional] usesDuration Defines whether the node uses the duration data in the static properties to determine how long a particle is visible for. Defaults to false. * @param [optional] usesDelay Defines whether the node uses the delay data in the static properties to determine how long a particle is hidden for. Defaults to false. Requires usesDuration to be true. * @param [optional] usesLooping Defines whether the node creates a looping timeframe for each particle determined by the startTime, duration and delay data in the static properties function. Defaults to false. Requires usesLooping to be true. */ constructor(usesDuration?: boolean, usesLooping?: boolean, usesDelay?: boolean); /** * @inheritDoc */ getAGALVertexCode(shader: ShaderBase, animationSet: ParticleAnimationSet, registerCache: ShaderRegisterCache, animationRegisterData: AnimationRegisterData): string; /** * @inheritDoc */ getAnimationState(animator: AnimatorBase): ParticleTimeState; /** * @inheritDoc */ _iGeneratePropertyOfOneParticle(param: ParticleProperties): void; } //# sourceMappingURL=ParticleTimeNode.d.ts.map