/** * 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 { FlowSurfaceNodeDefaults, FlowSurfaceNodeSpec } from './types'; type BuildFieldParams = { wrapperUse: string; fieldUse: string; fieldPath: string; dataSourceKey: string; collectionName: string; associationPathName?: string; filterFormInit?: Record; wrapperProps?: Record; fieldProps?: Record; uid?: string; innerUid?: string; }; export declare function buildPersistedRootPageModel(options: { pageUid?: string; pageTitle: string; routeId: string | number; enableTabs?: boolean; displayTitle?: boolean; pageDocumentTitle?: string; }): { uid: string; use: string; props: { routeId: string | number; title: string; enableTabs: boolean; displayTitle: boolean; }; stepParams: { pageSettings: { general: { title: string; displayTitle: boolean; enableTabs: boolean; documentTitle: string; }; }; }; }; export declare function buildSyntheticRootPageTabModel(options: { uid: string; title: string; route: Record; documentTitle?: string; icon?: string; use?: string; props?: Record; decoratorProps?: Record; stepParams?: Record; flowRegistry?: Record; grid?: Record | null; }): { subModels?: { grid: Record; }; uid: string; use: string; props: { route: Record; title: string; icon: string; }; decoratorProps: Record; flowRegistry: Record; stepParams: { pageTabSettings: any; }; }; export declare function buildBlockTree(options: { type?: string; use?: string; containerUse?: string; resourceInit?: Record; enableDefaultSorting?: boolean; props?: Record; decoratorProps?: Record; stepParams?: Record; flowRegistry?: Record; }): FlowSurfaceNodeSpec; export declare function buildPopupPageTree(options: { pageUid?: string; tabUid?: string; gridUid?: string; pageTitle?: string; tabTitle?: string; displayTitle?: boolean; enableTabs?: boolean; }): { uid: string; use: string; props: { displayTitle: boolean; enableTabs: boolean; title?: string; }; stepParams: { pageSettings: { general: { displayTitle: boolean; enableTabs: boolean; title?: string; }; }; }; subModels: { tabs: { uid: string; use: string; props: { title: string; }; stepParams: { pageTabSettings: { tab: { title: string; }; }; }; subModels: { grid: { uid: string; use: string; }; }; }[]; }; }; export declare function buildFieldTree(params: BuildFieldParams): { wrapperUid: string; innerUid: string; model: { uid: string; use: string; props: Record; stepParams: Record; subModels: { field: { uid: string; use: string; props: Record; stepParams: Record & { fieldSettings: { init: _.Dictionary; }; fieldBinding: { use: string; }; }; }; }; }; } | { wrapperUid: string; innerUid: string; model: { uid: string; use: string; props: Record; stepParams: Record; subModels: { field: { subModels?: Record; uid: string; use: string; props: Record; stepParams: Record & { fieldSettings: { init: _.Dictionary; }; }; }; }; }; }; export declare function buildStandaloneFieldNode(options: { use: 'JSColumnModel' | 'JSItemModel' | 'DividerItemModel'; uid?: string; props?: Record; decoratorProps?: Record; stepParams?: Record; }): { uid: string; use: "JSColumnModel" | "JSItemModel" | "DividerItemModel"; props: Record; decoratorProps: Record; stepParams: Record; }; export declare function buildActionTree(options: { type?: string; use?: string; containerUse?: string; resourceInit?: Record; props?: Record; decoratorProps?: Record; stepParams?: Record; flowRegistry?: Record; }): { subModels?: Record; use: string; props: Record; decoratorProps: Record; stepParams: Record; flowRegistry: Record; }; export declare function buildCanonicalTableActionsColumnNode(options?: { uid?: string; props?: Record; decoratorProps?: Record; stepParams?: Record; flowRegistry?: Record; }): { uid: string; use: string; props: Record; decoratorProps: Record; stepParams: { tableColumnSettings: { title: { title: string; }; }; } & Record; flowRegistry: Record; }; export declare function assignClientKeysToUids(spec: FlowSurfaceNodeSpec, clientKeyToUid: Record): FlowSurfaceNodeSpec; export declare function getStandaloneFieldDefaults(use: string): FlowSurfaceNodeDefaults; export {};