import { ShaderRegisterElement, ShaderRegisterCache, ShaderRegisterData } from '@awayjs/stage';
import { ShaderBase, IAnimationSet } from '@awayjs/renderer';
import { AnimationSetBase } from './AnimationSetBase';
/**
 * The animation data set used by vertex-based animators, containing vertex animation state data.
 *
 * @see VertexAnimator
 */
export declare class VertexAnimationSet extends AnimationSetBase implements IAnimationSet {
    private _iAnimationRegisterData;
    private _numPoses;
    private _blendMode;
    /**
     * Returns the number of poses made available at once to the GPU animation code.
     */
    get numPoses(): number;
    /**
     * Returns the active blend mode of the vertex animator object.
     */
    get blendMode(): string;
    /**
     * Returns whether or not normal data is used in last set GPU pass of the vertex shader.
     */
    /**
     * Creates a new <code>VertexAnimationSet</code> object.
     *
     * @param numPoses The number of poses made available at once to the GPU animation code.
     * @param blendMode Optional value for setting the animation mode of the vertex animator object.
     *
     * @see away3d.animators.data.VertexAnimationMode
     */
    constructor(numPoses?: number, blendMode?: string);
    /**
     * @inheritDoc
     */
    getAGALVertexCode(shader: ShaderBase, registerCache: ShaderRegisterCache, sharedRegisters: ShaderRegisterData): string;
    /**
     * @inheritDoc
     */
    getAGALFragmentCode(shader: ShaderBase, registerCache: ShaderRegisterCache, shadedTarget: ShaderRegisterElement): string;
    /**
     * @inheritDoc
     */
    getAGALUVCode(shader: ShaderBase, registerCache: ShaderRegisterCache, sharedRegisters: ShaderRegisterData): string;
    /**
     * @inheritDoc
     */
    doneAGALCode(shader: ShaderBase): void;
    /**
     * Generates the vertex AGAL code for absolute blending.
     */
    private getAbsoluteAGALCode;
    /**
     * Generates the vertex AGAL code for additive blending.
     */
    private getAdditiveAGALCode;
}
//# sourceMappingURL=VertexAnimationSet.d.ts.map