/**
 * Update the material uniform
 *
 *
 */
import { TypedJsNode } from './_Base';
import { NodeParamsConfig } from '../utils/params/ParamsConfig';
import { JsConnectionPointType } from '../utils/io/connections/Js';
import { JsLinesCollectionController } from './code/utils/JsLinesCollectionController';
type AvailableJsType = JsConnectionPointType.COLOR | JsConnectionPointType.FLOAT | JsConnectionPointType.INT | JsConnectionPointType.TEXTURE | JsConnectionPointType.VECTOR2 | JsConnectionPointType.VECTOR3 | JsConnectionPointType.VECTOR4;
export declare const JS_CONNECTION_POINT_TYPES: Array<AvailableJsType>;
declare class SetMaterialUniformJsParamsConfig extends NodeParamsConfig {
    /** @param printWarnings */
    printWarnings: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
    /** @param add prefix */
    addPrefix: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
    /** @param uniform type */
    type: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>;
}
export declare class SetMaterialUniformJsNode extends TypedJsNode<SetMaterialUniformJsParamsConfig> {
    readonly paramsConfig: SetMaterialUniformJsParamsConfig;
    static type(): string;
    initializeNode(): void;
    private _expectedInputNames;
    private _expectedInputType;
    paramDefaultValue(name: 'lerp'): number;
    uniformType(): AvailableJsType;
    setUniformType(type: AvailableJsType): void;
    setLines(linesController: JsLinesCollectionController): void;
    setTriggerableLines(shadersCollectionController: JsLinesCollectionController): void;
    private _isUniformNumber;
    private _isUniformVectorColor;
    private _lerpAllowed;
}
export {};
