/**
 * compares 2 input values and generates a boolean value
 *
 * @remarks
 *
 * This node is frequently used with the [js/TwoWaySwitch](/docs/nodes/js/TwoWaySwitch)
 *
 */
import { TypedJsNode } from './_Base';
import { NodeParamsConfig } from '../utils/params/ParamsConfig';
import { JsConnectionPointType } from '../utils/io/connections/Js';
import { JsLinesCollectionController } from './code/utils/JsLinesCollectionController';
export declare enum JsCompareTestName {
    EQUAL = "Equal",
    LESS_THAN = "Less Than",
    GREATER_THAN = "Greater Than",
    LESS_THAN_OR_EQUAL = "Less Than Or Equal",
    GREATER_THAN_OR_EQUAL = "Greater Than Or Equal",
    NOT_EQUAL = "Not Equal"
}
declare enum JsCompareTestOperation {
    EQUAL = "==",
    LESS_THAN = "<",
    GREATER_THAN = ">",
    LESS_THAN_OR_EQUAL = "<=",
    GREATER_THAN_OR_EQUAL = ">=",
    NOT_EQUAL = "!="
}
declare enum CompareInputName {
    VALUE0 = "value0",
    VALUE1 = "value1"
}
declare class CompareJsParamsConfig extends NodeParamsConfig {
    test: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>;
}
export declare class CompareJsNode extends TypedJsNode<CompareJsParamsConfig> {
    paramsConfig: CompareJsParamsConfig;
    static type(): string;
    initializeNode(): void;
    setTestName(test: JsCompareTestName): void;
    testName(): JsCompareTestName;
    operator(): JsCompareTestOperation;
    protected _expectedInputName(index: number): CompareInputName;
    protected _expectedInputTypes(): JsConnectionPointType[];
    private _expectedOutputTypes;
    private _expectedOutputName;
    setLines(shadersCollectionController: JsLinesCollectionController): void;
}
export {};
