import { NodeParamsConfig } from '../utils/params/ParamsConfig';
import { TypedEventNode } from './_Base';
import { EventContext } from '../../scene/utils/events/_BaseEventsController';
import { ParamType } from '../../poly/ParamType';
declare class SetParamParamsConfig extends NodeParamsConfig {
    /** @param the parameter to update */
    param: import("../utils/params/ParamsConfig").ParamTemplate<ParamType.PARAM_PATH>;
    /** @param type of the parameter to update */
    type: import("../utils/params/ParamsConfig").ParamTemplate<ParamType.INTEGER>;
    /** @param for a boolean parameter, sets to toggle its value */
    toggle: import("../utils/params/ParamsConfig").ParamTemplate<ParamType.BOOLEAN>;
    /** @param if toggle is set to off, this will set the value of the parameter */
    boolean: import("../utils/params/ParamsConfig").ParamTemplate<ParamType.BOOLEAN>;
    /** @param param value for a float parameter */
    number: import("../utils/params/ParamsConfig").ParamTemplate<ParamType.FLOAT>;
    /** @param param value for a vector2 parameter */
    vector2: import("../utils/params/ParamsConfig").ParamTemplate<ParamType.VECTOR2>;
    /** @param param value for a vector3 parameter */
    vector3: import("../utils/params/ParamsConfig").ParamTemplate<ParamType.VECTOR3>;
    /** @param param value for a vector4 parameter */
    vector4: import("../utils/params/ParamsConfig").ParamTemplate<ParamType.VECTOR4>;
    /** @param if on, the value will be incremented by the value, as opposed to be set to the value */
    increment: import("../utils/params/ParamsConfig").ParamTemplate<ParamType.BOOLEAN>;
    /** @param param value for a string parameter */
    string: import("../utils/params/ParamsConfig").ParamTemplate<ParamType.STRING>;
    /** @param execute button to test the node */
    execute: import("../utils/params/ParamsConfig").ParamTemplate<ParamType.BUTTON>;
}
export declare class SetParamEventNode extends TypedEventNode<SetParamParamsConfig> {
    params_config: SetParamParamsConfig;
    static type(): string;
    initializeNode(): void;
    process_event(event_context: EventContext<Event>): Promise<void>;
    private _tmp_vector2;
    private _tmp_vector3;
    private _tmp_vector4;
    private _tmp_array2;
    private _tmp_array3;
    private _tmp_array4;
    private _new_param_value;
    static PARAM_CALLBACK_execute(node: SetParamEventNode): void;
    private _compute_params_if_dirty;
}
export {};
