import { ShaderBase, _Render_RenderableBase, AnimationRegisterData } from '@awayjs/renderer';
import { AnimationElements } from '../data/AnimationElements';
import { ParticleScaleNode } from '../nodes/ParticleScaleNode';
import { ParticleAnimator } from '../ParticleAnimator';
import { ParticleStateBase } from './ParticleStateBase';
/**
 * ...
 */
export declare class ParticleScaleState extends ParticleStateBase {
    /** @private */
    static SCALE_INDEX: number;
    private _particleScaleNode;
    private _usesCycle;
    private _usesPhase;
    private _minScale;
    private _maxScale;
    private _cycleDuration;
    private _cyclePhase;
    private _scaleData;
    /**
     * Defines the end scale of the state, when in global mode. Defaults to 1.
     */
    get minScale(): number;
    set minScale(value: number);
    /**
     * Defines the end scale of the state, when in global mode. Defaults to 1.
     */
    get maxScale(): number;
    set maxScale(value: number);
    /**
     * Defines the duration of the animation in seconds, used as a period independent of particle duration when in global mode. Defaults to 1.
     */
    get cycleDuration(): number;
    set cycleDuration(value: number);
    /**
     * Defines the phase of the cycle in degrees, used as the starting offset of the cycle when in global mode. Defaults to 0.
     */
    get cyclePhase(): number;
    set cyclePhase(value: number);
    constructor(animator: ParticleAnimator, particleScaleNode: ParticleScaleNode);
    setRenderState(shader: ShaderBase, renderable: _Render_RenderableBase, animationElements: AnimationElements, animationRegisterData: AnimationRegisterData): void;
    private updateScaleData;
}
//# sourceMappingURL=ParticleScaleState.d.ts.map