import InstructionNode from "./InstructionNode.js";
import BaseNode from "../../../graph/BaseNode.js";
import { NodeBuilder, NodeTypeGuard } from "../../../graph/Node.js";
import { MethodNode } from "../../../../../../Joinpoints.js";
declare namespace FunctionExitNode {
    class Class<D extends Data = Data, S extends ScratchData = ScratchData> extends InstructionNode.Class<D, S> {
        get jp(): MethodNode;
    }
    class Builder extends InstructionNode.Builder implements NodeBuilder<Data, ScratchData> {
        constructor($jp: MethodNode);
        buildData(data: BaseNode.Data): Data;
        buildScratchData(scratchData: BaseNode.ScratchData): ScratchData;
    }
    const TypeGuard: NodeTypeGuard<Data, ScratchData>;
    interface Data extends InstructionNode.Data {
        instructionFlowNodeType: InstructionNode.Type.FUNCTION_EXIT;
    }
    interface ScratchData extends InstructionNode.ScratchData {
        $jp: MethodNode;
    }
}
export default FunctionExitNode;
//# sourceMappingURL=FunctionExitNode.d.ts.map