/** * 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 _ from 'lodash'; import type { FlowSurfacePlanSelector, FlowSurfacePlanRequestValues, FlowSurfacePlanStep, FlowSurfaceReadLocator, FlowSurfaceResolvedTarget } from '../types'; import type { FlowSurfaceCompiledPlanStep, FlowSurfacePlanSurfaceContext } from './types'; type NormalizePlanSelectorDeps = { normalizeGetTarget: (value: any) => FlowSurfaceReadLocator; }; type NormalizePlanSelectorOptions = { allowKey?: boolean; }; type NormalizePlanStepsDeps = NormalizePlanSelectorDeps & { validatePayloadShape: (actionName: string, value: any, path: string) => void; }; type CompilePlanStepDeps = NormalizePlanSelectorDeps & { resolveLocator: (target: FlowSurfaceReadLocator, options?: { transaction?: any; }) => Promise; loadResolvedSurfaceTree?: (resolved: FlowSurfaceResolvedTarget, transaction?: any) => Promise; buildPlanKeyKind: (node: any, resolvedKind?: string) => string; }; export declare function normalizePlanSelector(actionName: string, selector: any, deps: NormalizePlanSelectorDeps, fieldName?: string, options?: NormalizePlanSelectorOptions): FlowSurfacePlanSelector; export declare function normalizePlanSteps(actionName: string, values: FlowSurfacePlanRequestValues, deps: NormalizePlanStepsDeps): { id: string; action: "setFieldValueRules" | "setBlockLinkageRules" | "setFieldLinkageRules" | "setActionLinkageRules" | "configure" | "createPage" | "addTab" | "addPopupTab" | "addBlock" | "addField" | "addAction" | "addRecordAction" | "compose" | "createMenu" | "convertTemplateToCopy" | "destroyPage" | "updateTab" | "moveTab" | "removeTab" | "updatePopupTab" | "movePopupTab" | "removePopupTab" | "updateSettings" | "addEventFlow" | "setEventFlow" | "removeEventFlow" | "setEventFlows" | "setLayout" | "moveNode" | "removeNode"; selectors: _.Dictionary; values: Record; }[]; export declare function compilePlanStep(actionName: string, step: FlowSurfacePlanStep, index: number, context: FlowSurfacePlanSurfaceContext, deps: CompilePlanStepDeps, priorStepIds: Set, priorCreatedKeys: Set, options?: { transaction?: any; }): Promise; export {};