import { useCollectionDataSource } from '@tachybase/client';
import { Instruction } from '../../nodes/default-node/interface';
import { WorkflowVariableInput } from '../../variable';
import { VariableTargetSelect } from './VariableTargetSelect';
/** 节点: 变量 */
export declare class VariablesInstruction extends Instruction {
    title: string;
    type: string;
    group: string;
    icon: string;
    color: string;
    description: string;
    fieldset: {
        target: {
            type: string;
            title: string;
            'x-decorator': string;
            'x-component': string;
        };
        value: {
            type: string;
            title: string;
            'x-decorator': string;
            'x-component': string;
            'x-component-props': {
                useTypedConstant: boolean;
                changeOnSelect: boolean;
            };
            default: string;
        };
        remarks: {
            type: string;
            title: string;
            'x-decorator': string;
            'x-component': string;
            'x-component-props': {
                autoSize: {
                    minRows: number;
                };
                placeholder: string;
            };
        };
    };
    scope: {
        useCollectionDataSource: typeof useCollectionDataSource;
    };
    components: {
        WorkflowVariableInput: typeof WorkflowVariableInput;
        VariableTargetSelect: typeof VariableTargetSelect;
    };
    useVariables({ key, title, config }: {
        key: any;
        title: any;
        config: any;
    }, { types, fieldNames }: {
        types: any;
        fieldNames?: {
            readonly label: "label";
            readonly value: "value";
            readonly children: "children";
        };
    }): {
        value: any;
        label: any;
    };
}
