import { Vector3D } from '@awayjs/core';
import { ShaderBase, _Render_RenderableBase, AnimationRegisterData } from '@awayjs/renderer';
import { AnimationElements } from '../data/AnimationElements';
import { ParticlePositionNode } from '../nodes/ParticlePositionNode';
import { ParticleAnimator } from '../ParticleAnimator';
import { ParticleStateBase } from './ParticleStateBase';
/**
 * ...
 * @author ...
 */
export declare class ParticlePositionState extends ParticleStateBase {
    /** @private */
    static POSITION_INDEX: number;
    private _particlePositionNode;
    private _position;
    /**
     * Defines the position of the particle when in global mode. Defaults to 0,0,0.
     */
    get position(): Vector3D;
    set position(value: Vector3D);
    /**
     *
     */
    getPositions(): Array<Vector3D>;
    setPositions(value: Array<Vector3D>): void;
    constructor(animator: ParticleAnimator, particlePositionNode: ParticlePositionNode);
    /**
     * @inheritDoc
     */
    setRenderState(shader: ShaderBase, renderable: _Render_RenderableBase, animationElements: AnimationElements, animationRegisterData: AnimationRegisterData): void;
}
//# sourceMappingURL=ParticlePositionState.d.ts.map