/**
 * creates a for loop, executing the nodes inside it on each loop
 *
 *
 *
 */
import { TypedSubnetJsNode } from './Subnet';
import { NodeParamsConfig } from '../utils/params/ParamsConfig';
import { JsLinesCollectionController } from './code/utils/JsLinesCollectionController';
import { SubnetInputJsNode } from './SubnetInput';
import { JsConnectionPointType } from '../utils/io/connections/Js';
import { JsType } from '../../poly/registers/nodes/types/Js';
export declare enum ForLoopJsInputName {
    START = "start",
    MAX = "max",
    STEP = "step",
    I = "i"
}
declare const ForLoopJsParamsConfig_base: {
    new (...args: any[]): {
        main: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FOLDER>;
        time: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>;
        inputs: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FOLDER>;
        inputsCount: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>;
        inputType0: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>;
        inputName0: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.STRING>;
        inputType1: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>;
        inputName1: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.STRING>;
        inputType2: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>;
        inputName2: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.STRING>;
        inputType3: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>;
        inputName3: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.STRING>;
        inputType4: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>;
        inputName4: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.STRING>;
        inputType5: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>;
        inputName5: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.STRING>;
        inputType6: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>;
        inputName6: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.STRING>;
        inputType7: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>;
        inputName7: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.STRING>;
        inputType8: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>;
        inputName8: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.STRING>;
        inputType9: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>;
        inputName9: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.STRING>;
        spare: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FOLDER>;
    };
} & typeof NodeParamsConfig;
declare class ForLoopJsParamsConfig extends ForLoopJsParamsConfig_base {
    start: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>;
    max: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>;
    step: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>;
}
export declare class ForLoopJsNode extends TypedSubnetJsNode<ForLoopJsParamsConfig> {
    paramsConfig: ForLoopJsParamsConfig;
    static type(): JsType;
    paramDefaultValue(name: string): number;
    protected _expectedInputTypes(): JsConnectionPointType[];
    protected _expectedInputName(index: number): string;
    childExpectedInputConnectionPointTypes(): JsConnectionPointType[];
    childExpectedInputConnectionPointName(index: number): string;
    inputNameForSubnetInput(index: number): string;
    protected setLinesBlockStart(linesController: JsLinesCollectionController): void;
    setSubnetInputLines(linesController: JsLinesCollectionController, childNode: SubnetInputJsNode): void;
}
export {};
