import { ColorTransform } from '@awayjs/core';
import { ShaderBase, _Render_RenderableBase, AnimationRegisterData } from '@awayjs/renderer';
import { AnimationElements } from '../data/AnimationElements';
import { ColorSegmentPoint } from '../data/ColorSegmentPoint';
import { ParticleSegmentedColorNode } from '../nodes/ParticleSegmentedColorNode';
import { ParticleAnimator } from '../ParticleAnimator';
import { ParticleStateBase } from './ParticleStateBase';
/**
 *
 */
export declare class ParticleSegmentedColorState extends ParticleStateBase {
    /** @private */
    static START_MULTIPLIER_INDEX: number;
    /** @private */
    static START_OFFSET_INDEX: number;
    /** @private */
    static TIME_DATA_INDEX: number;
    private _usesMultiplier;
    private _usesOffset;
    private _startColor;
    private _endColor;
    private _segmentPoints;
    private _numSegmentPoint;
    private _timeLifeData;
    private _multiplierData;
    private _offsetData;
    /**
     * Defines the start color transform of the state, when in global mode.
     */
    get startColor(): ColorTransform;
    set startColor(value: ColorTransform);
    /**
     * Defines the end color transform of the state, when in global mode.
     */
    get endColor(): ColorTransform;
    set endColor(value: ColorTransform);
    /**
     * Defines the number of segments.
     */
    get numSegmentPoint(): number;
    /**
     * Defines the key points of color
     */
    get segmentPoints(): Array<ColorSegmentPoint>;
    set segmentPoints(value: Array<ColorSegmentPoint>);
    get usesMultiplier(): boolean;
    get usesOffset(): boolean;
    constructor(animator: ParticleAnimator, particleSegmentedColorNode: ParticleSegmentedColorNode);
    setRenderState(shader: ShaderBase, renderable: _Render_RenderableBase, animationElements: AnimationElements, animationRegisterData: AnimationRegisterData): void;
    private updateColorData;
}
//# sourceMappingURL=ParticleSegmentedColorState.d.ts.map