import { DataTexture } from 'three/src/textures/DataTexture';
import { CubicInterpolant } from 'three/src/math/interpolants/CubicInterpolant';
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 _ramp_interpolant;
    private _texture_data;
    private _ramp_texture;
    static DEFAULT_VALUE: RampValue;
    static DEFAULT_VALUE_JSON: RampValueJson;
    get default_value_serialized(): RampValueJson;
    protected _clone_raw_input(raw_input: ParamInitValuesTypeMap[ParamType.RAMP]): RampValueJson;
    get raw_input_serialized(): RampValueJson;
    get value_serialized(): RampValueJson;
    protected _copy_value(param: RampParam): void;
    static are_raw_input_equal(raw_input1: ParamInitValuesTypeMap[ParamType.RAMP], raw_input2: ParamInitValuesTypeMap[ParamType.RAMP]): boolean;
    static are_values_equal(val1: ParamValuesTypeMap[ParamType.RAMP], val2: ParamValuesTypeMap[ParamType.RAMP]): boolean;
    get is_default(): boolean;
    protected process_raw_input(): void;
    has_expression(): boolean;
    private _reset_ramp_interpolant;
    ramp_texture(): DataTexture;
    private _update_ramp_texture;
    private _update_ramp_texture_data;
    static create_interpolant(positions: Float32Array, values: Float32Array): CubicInterpolant;
    interpolant(): CubicInterpolant;
    _create_interpolant(): CubicInterpolant;
    value_at_position(position: number): number;
}
