import BaseNode from "../../../graph/BaseNode.js";
import { NodeBuilder, NodeTypeGuard } from "../../../graph/Node.js";
import { IfComparison, IfComparisonWithZero } from "../../../../../../Joinpoints.js";
import ConditionNode from "./ConditionNode.js";
import ControlFlowEdge from "../../edge/ControlFlowEdge.js";
declare namespace IfComparisonNode {
    class Class<D extends Data = Data, S extends ScratchData = ScratchData> extends ConditionNode.Class<D, S> {
        get jp(): IfComparison | IfComparisonWithZero;
    }
    class Builder extends ConditionNode.Builder implements NodeBuilder<Data, ScratchData> {
        constructor(truePath: ControlFlowEdge.Class, falsePath: ControlFlowEdge.Class, $jp: IfComparison | IfComparisonWithZero);
        buildData(data: BaseNode.Data): Data;
        buildScratchData(scratchData: BaseNode.ScratchData): ScratchData;
    }
    const TypeGuard: NodeTypeGuard<Data, ScratchData>;
    interface Data extends ConditionNode.Data {
        conditionFlowNodeType: ConditionNode.Type.IF_COMPARISON;
    }
    interface ScratchData extends ConditionNode.ScratchData {
        $jp: IfComparison | IfComparisonWithZero;
    }
}
export default IfComparisonNode;
//# sourceMappingURL=IfComparisonNode.d.ts.map