import { Vector3D } from '@awayjs/core';
import { ShaderBase, _Render_RenderableBase, AnimationRegisterData } from '@awayjs/renderer';
import { AnimationElements } from '../data/AnimationElements';
import { ParticleOscillatorNode } from '../nodes/ParticleOscillatorNode';
import { ParticleAnimator } from '../ParticleAnimator';
import { ParticleStateBase } from './ParticleStateBase';
/**
 * ...
 */
export declare class ParticleOscillatorState extends ParticleStateBase {
    /** @private */
    static OSCILLATOR_INDEX: number;
    private _particleOscillatorNode;
    private _oscillator;
    private _oscillatorData;
    /**
     * Defines the default oscillator axis (x, y, z) and cycleDuration (w) of the state, used when in global mode.
     */
    get oscillator(): Vector3D;
    set oscillator(value: Vector3D);
    constructor(animator: ParticleAnimator, particleOscillatorNode: ParticleOscillatorNode);
    /**
     * @inheritDoc
     */
    setRenderState(shader: ShaderBase, renderable: _Render_RenderableBase, animationElements: AnimationElements, animationRegisterData: AnimationRegisterData): void;
    private updateOscillatorData;
}
//# sourceMappingURL=ParticleOscillatorState.d.ts.map