/** * 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 { Application } from '@nocobase/server'; import type { AnalyzedTemplate } from '../template/variable-expression'; import { type RecordSlotResolved, type RecordSlotResolverInput, type RecordSlotResolverRegistration } from './record-slot-resolvers'; export type RecordSlotPolicy = RecordSlotResolved; export type RecordSlotPolicies = ReadonlyMap; export type FlowModelVariableContract = Readonly<{ allowedPaths: ReadonlySet; recordSlots: RecordSlotPolicies; }>; export type CompileRecordSlotPoliciesOptions = Omit & Readonly<{ app: Application; }>; export declare function createBuiltInRecordSlotResolvers(): readonly RecordSlotResolverRegistration[]; export declare function compileRecordSlotPolicies(analysis: Pick, options: CompileRecordSlotPoliciesOptions): Promise; export declare function createFlowModelVariableContract(analysis: AnalyzedTemplate, options: CompileRecordSlotPoliciesOptions): Promise;