import { Vector3D } from '@awayjs/core';
import { ShaderBase, _Render_RenderableBase, AnimationRegisterData } from '@awayjs/renderer';
import { AnimationElements } from '../data/AnimationElements';
import { ParticleBezierCurveNode } from '../nodes/ParticleBezierCurveNode';
import { ParticleAnimator } from '../ParticleAnimator';
import { ParticleStateBase } from './ParticleStateBase';
/**
 * ...
 */
export declare class ParticleBezierCurveState extends ParticleStateBase {
    /** @private */
    static BEZIER_CONTROL_INDEX: number;
    /** @private */
    static BEZIER_END_INDEX: number;
    private _particleBezierCurveNode;
    private _controlPoint;
    private _endPoint;
    /**
     * Defines the default control point of the node, used when in global mode.
     */
    get controlPoint(): Vector3D;
    set controlPoint(value: Vector3D);
    /**
     * Defines the default end point of the node, used when in global mode.
     */
    get endPoint(): Vector3D;
    set endPoint(value: Vector3D);
    constructor(animator: ParticleAnimator, particleBezierCurveNode: ParticleBezierCurveNode);
    setRenderState(shader: ShaderBase, renderable: _Render_RenderableBase, animationElements: AnimationElements, animationRegisterData: AnimationRegisterData): void;
}
//# sourceMappingURL=ParticleBezierCurveState.d.ts.map