/**
 * This file is part of the NocoBase (R) project.
 * Copyright (c) 2020-2024 NocoBase Co., Ltd.
 * Authors: NocoBase Team.
 *
 * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
 * For more information, please refer to: https://www.nocobase.com/agreement.
 */
import type { SubModelItem } from '@nocobase/flow-engine';
import React from 'react';
import { Instruction } from '../canvas/Instruction';
import { type UseVariableOptions, type VariableOption } from '../canvas/collectionFieldOptions';
type CalculationVariableNode = {
    key: string;
    title: string;
};
type CalculationResultNode = {
    id?: string | number;
    key: string;
    title?: string;
    config?: unknown;
};
export default class extends Instruction {
    type: string;
    title: string;
    group: string;
    description: string;
    icon: React.JSX.Element;
    testable: boolean;
    FieldsetLoader: () => Promise<{
        default: typeof import("./components/calculation").CalculationFieldset;
    }>;
    useVariables({ key, title }: CalculationVariableNode, { types }?: UseVariableOptions): VariableOption | null;
    getCreateModelMenuItem({ node }: {
        node: CalculationResultNode;
    }): SubModelItem;
}
export {};
