import { ShaderBase, _Render_RenderableBase, AnimationRegisterData } from '@awayjs/renderer';
import { AnimationElements } from '../data/AnimationElements';
import { ParticleSpriteSheetNode } from '../nodes/ParticleSpriteSheetNode';
import { ParticleAnimator } from '../ParticleAnimator';
import { ParticleStateBase } from './ParticleStateBase';
/**
 * ...
 */
export declare class ParticleSpriteSheetState extends ParticleStateBase {
    /** @private */
    static UV_INDEX_0: number;
    /** @private */
    static UV_INDEX_1: number;
    private _particleSpriteSheetNode;
    private _usesCycle;
    private _usesPhase;
    private _totalFrames;
    private _numColumns;
    private _numRows;
    private _cycleDuration;
    private _cyclePhase;
    private _spriteSheetData;
    /**
     * Defines the cycle phase, when in global mode. Defaults to zero.
     */
    get cyclePhase(): number;
    set cyclePhase(value: number);
    /**
     * Defines the cycle duration in seconds, when in global mode. Defaults to 1.
     */
    get cycleDuration(): number;
    set cycleDuration(value: number);
    constructor(animator: ParticleAnimator, particleSpriteSheetNode: ParticleSpriteSheetNode);
    setRenderState(shader: ShaderBase, renderable: _Render_RenderableBase, animationElements: AnimationElements, animationRegisterData: AnimationRegisterData): void;
    private updateSpriteSheetData;
}
//# sourceMappingURL=ParticleSpriteSheetState.d.ts.map