import { DataTexture } from 'three';
import { CubicInterpolant } from 'three';
import { TypedParam } from './_Base';
import { RampValue, RampValueJson } from './ramp/RampValue';
import { ParamType } from '../poly/ParamType';
import { ParamInitValuesTypeMap } from './types/ParamInitValuesTypeMap';
import { ParamValuesTypeMap } from './types/ParamValuesTypeMap';
export declare class RampParam extends TypedParam<ParamType.RAMP> {
    static type(): ParamType;
    private _rampInterpolant;
    private _textureData;
    private _rampTexture;
    static DEFAULT_VALUE: RampValue;
    static DEFAULT_VALUE_JSON: RampValueJson;
    defaultValueSerialized(): RampValueJson;
    protected _cloneRawInput(raw_input: ParamInitValuesTypeMap[ParamType.RAMP]): RampValueJson | RampValue;
    rawInputSerialized(): RampValueJson;
    valueSerialized(): RampValueJson;
    protected _copyValue(param: RampParam): void;
    static areRawInputEqual(raw_input1: ParamInitValuesTypeMap[ParamType.RAMP], raw_input2: ParamInitValuesTypeMap[ParamType.RAMP]): boolean;
    static areValuesEqual(val1: ParamValuesTypeMap[ParamType.RAMP], val2: ParamValuesTypeMap[ParamType.RAMP]): boolean;
    isDefault(): boolean;
    protected processRawInput(): void;
    hasExpression(): boolean;
    private _resetRampInterpolant;
    rampTexture(): DataTexture;
    private _updateRampTexture;
    private _updateRampTextureData;
    interpolant(): CubicInterpolant;
    private _createInterpolant;
    valueAtPosition(position: number): number;
}
