import { Registry } from '@tego/client';
import { RadioWithTooltip } from '../components/RadioWithTooltip';
import { useWorkflowVariableOptions, WorkflowVariableTextArea } from '../variable';
import { Instruction } from './default-node/interface';
interface Calculator {
    name: string;
    type: 'boolean' | 'number' | 'string' | 'date' | 'unknown' | 'null' | 'array';
    group: string;
}
export declare const calculators: Registry<Calculator>;
declare function CalculationConfig({ value, onChange }: {
    value: any;
    onChange: any;
}): import("react/jsx-runtime").JSX.Element;
/** 节点: 条件判断 */
export default class extends Instruction {
    title: string;
    type: string;
    group: string;
    icon: string;
    color: string;
    description: string;
    fieldset: {
        rejectOnFalse: {
            type: string;
            title: string;
            'x-decorator': string;
            'x-component': string;
            'x-component-props': {
                disabled: boolean;
            };
            enum: {
                value: boolean;
                label: string;
            }[];
        };
        engine: {
            type: string;
            title: string;
            'x-decorator': string;
            'x-component': string;
            'x-component-props': {
                options: [string, import("@tego/client").Evaluator] | (string | {
                    label: string;
                })[];
            };
            required: boolean;
            default: string;
        };
        calculation: {
            type: string;
            title: string;
            'x-decorator': string;
            'x-component': string;
            'x-reactions': {
                dependencies: string[];
                fulfill: {
                    state: {
                        visible: string;
                    };
                };
            };
            required: boolean;
        };
        expression: {
            type: string;
            title: string;
            'x-decorator': string;
            'x-component': string;
            "x-validator"(value: any, rules: any, { form }: {
                form: any;
            }): string;
            'x-reactions': {
                dependencies: string[];
                fulfill: {
                    state: {
                        visible: string;
                    };
                    schema: {
                        description: string;
                    };
                };
            };
            required: boolean;
        };
        remarks: {
            type: string;
            title: string;
            'x-decorator': string;
            'x-component': string;
            'x-component-props': {
                autoSize: {
                    minRows: number;
                };
                placeholder: string;
            };
        };
    };
    options: {
        label: string;
        key: string;
        value: {
            rejectOnFalse: boolean;
        };
    }[];
    scope: {
        renderEngineReference: (key: string) => import("react/jsx-runtime").JSX.Element;
        useWorkflowVariableOptions: typeof useWorkflowVariableOptions;
    };
    components: {
        CalculationConfig: typeof CalculationConfig;
        WorkflowVariableTextArea: typeof WorkflowVariableTextArea;
        RadioWithTooltip: typeof RadioWithTooltip;
    };
    Component({ data }: {
        data: any;
    }): import("react/jsx-runtime").JSX.Element;
}
export {};
