/**
 * triggers an event when a parameter has changed
 *
 *
 */
import { TypedEventNode } from './_Base';
import { NodeParamsConfig } from '../utils/params/ParamsConfig';
declare class ParamEventParamsConfig extends NodeParamsConfig {
    /** @param set to listen or stop listening to the param */
    active: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
    /** @param the parameter to update */
    param: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.PARAM_PATH>;
    boolean: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
    integer: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>;
    float: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>;
    vector2: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.VECTOR2>;
    vector3: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.VECTOR3>;
    vector4: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.VECTOR4>;
    ramp: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.RAMP>;
    string: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.STRING>;
}
export declare class ParamEventNode extends TypedEventNode<ParamEventParamsConfig> {
    paramsConfig: ParamEventParamsConfig;
    static type(): Readonly<'param'>;
    static readonly OUTPUT_NAME = "valueChanged";
    initializeNode(): void;
    cook(): Promise<void>;
    dispose(): void;
    private _reset;
    private _resolvedParam;
    private _previousValueParam;
    private _listenToParam;
    private paramGraphNode;
    private __paramCoreGraphNode__;
    private _createCoreGraphNode;
    private _onParamDirtyBound;
    private _onParamDirty;
}
export {};
