/**
 * 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.
 */
export { FLOW_SURFACE_PLAN_STEP_ACTIONS } from './planning/action-specs';
type FlowSurfaceActionMethod = 'get' | 'post';
type FlowSurfaceActionValueSource = 'default' | 'read';
export type FlowSurfaceActionDefinition = {
    method: FlowSurfaceActionMethod;
    read: boolean;
    transaction: boolean;
    mutate: boolean;
    valueSource: FlowSurfaceActionValueSource;
};
export declare const FLOW_SURFACE_ACTION_DEFINITIONS: {
    readonly catalog: {
        readonly method: "post";
        readonly read: true;
        readonly transaction: false;
        readonly mutate: false;
        readonly valueSource: "default";
    };
    readonly context: {
        readonly method: "post";
        readonly read: true;
        readonly transaction: false;
        readonly mutate: false;
        readonly valueSource: "default";
    };
    readonly get: {
        readonly method: "get";
        readonly read: true;
        readonly transaction: false;
        readonly mutate: false;
        readonly valueSource: "read";
    };
    readonly describeSurface: {
        readonly method: "post";
        readonly read: true;
        readonly transaction: false;
        readonly mutate: false;
        readonly valueSource: "default";
    };
    readonly exportBlueprint: {
        readonly method: "post";
        readonly read: true;
        readonly transaction: false;
        readonly mutate: false;
        readonly valueSource: "default";
    };
    readonly getReactionMeta: {
        readonly method: "post";
        readonly read: true;
        readonly transaction: false;
        readonly mutate: false;
        readonly valueSource: "default";
    };
    readonly setFieldValueRules: {
        readonly method: "post";
        readonly read: false;
        readonly transaction: true;
        readonly mutate: false;
        readonly valueSource: "default";
    };
    readonly setBlockLinkageRules: {
        readonly method: "post";
        readonly read: false;
        readonly transaction: true;
        readonly mutate: false;
        readonly valueSource: "default";
    };
    readonly setFieldLinkageRules: {
        readonly method: "post";
        readonly read: false;
        readonly transaction: true;
        readonly mutate: false;
        readonly valueSource: "default";
    };
    readonly setActionLinkageRules: {
        readonly method: "post";
        readonly read: false;
        readonly transaction: true;
        readonly mutate: false;
        readonly valueSource: "default";
    };
    readonly applyBlueprint: {
        readonly method: "post";
        readonly read: false;
        readonly transaction: false;
        readonly mutate: false;
        readonly valueSource: "default";
    };
    readonly applyApprovalBlueprint: {
        readonly method: "post";
        readonly read: false;
        readonly transaction: true;
        readonly mutate: false;
        readonly valueSource: "default";
    };
    readonly listTemplates: {
        readonly method: "post";
        readonly read: true;
        readonly transaction: false;
        readonly mutate: false;
        readonly valueSource: "default";
    };
    readonly getTemplate: {
        readonly method: "post";
        readonly read: true;
        readonly transaction: false;
        readonly mutate: false;
        readonly valueSource: "default";
    };
    readonly saveTemplate: {
        readonly method: "post";
        readonly read: false;
        readonly transaction: true;
        readonly mutate: false;
        readonly valueSource: "default";
    };
    readonly updateTemplate: {
        readonly method: "post";
        readonly read: false;
        readonly transaction: true;
        readonly mutate: false;
        readonly valueSource: "default";
    };
    readonly destroyTemplate: {
        readonly method: "post";
        readonly read: false;
        readonly transaction: true;
        readonly mutate: false;
        readonly valueSource: "default";
    };
    readonly convertTemplateToCopy: {
        readonly method: "post";
        readonly read: false;
        readonly transaction: true;
        readonly mutate: false;
        readonly valueSource: "default";
    };
    readonly compose: {
        readonly method: "post";
        readonly read: false;
        readonly transaction: true;
        readonly mutate: false;
        readonly valueSource: "default";
    };
    readonly configure: {
        readonly method: "post";
        readonly read: false;
        readonly transaction: true;
        readonly mutate: false;
        readonly valueSource: "default";
    };
    readonly createMenu: {
        readonly method: "post";
        readonly read: false;
        readonly transaction: true;
        readonly mutate: true;
        readonly valueSource: "default";
    };
    readonly updateMenu: {
        readonly method: "post";
        readonly read: false;
        readonly transaction: true;
        readonly mutate: true;
        readonly valueSource: "default";
    };
    readonly createPage: {
        readonly method: "post";
        readonly read: false;
        readonly transaction: true;
        readonly mutate: true;
        readonly valueSource: "default";
    };
    readonly destroyPage: {
        readonly method: "post";
        readonly read: false;
        readonly transaction: true;
        readonly mutate: true;
        readonly valueSource: "default";
    };
    readonly addTab: {
        readonly method: "post";
        readonly read: false;
        readonly transaction: true;
        readonly mutate: true;
        readonly valueSource: "default";
    };
    readonly updateTab: {
        readonly method: "post";
        readonly read: false;
        readonly transaction: true;
        readonly mutate: true;
        readonly valueSource: "default";
    };
    readonly moveTab: {
        readonly method: "post";
        readonly read: false;
        readonly transaction: true;
        readonly mutate: true;
        readonly valueSource: "default";
    };
    readonly removeTab: {
        readonly method: "post";
        readonly read: false;
        readonly transaction: true;
        readonly mutate: true;
        readonly valueSource: "default";
    };
    readonly addPopupTab: {
        readonly method: "post";
        readonly read: false;
        readonly transaction: true;
        readonly mutate: true;
        readonly valueSource: "default";
    };
    readonly updatePopupTab: {
        readonly method: "post";
        readonly read: false;
        readonly transaction: true;
        readonly mutate: true;
        readonly valueSource: "default";
    };
    readonly movePopupTab: {
        readonly method: "post";
        readonly read: false;
        readonly transaction: true;
        readonly mutate: true;
        readonly valueSource: "default";
    };
    readonly removePopupTab: {
        readonly method: "post";
        readonly read: false;
        readonly transaction: true;
        readonly mutate: true;
        readonly valueSource: "default";
    };
    readonly addBlock: {
        readonly method: "post";
        readonly read: false;
        readonly transaction: true;
        readonly mutate: true;
        readonly valueSource: "default";
    };
    readonly addBlocks: {
        readonly method: "post";
        readonly read: false;
        readonly transaction: false;
        readonly mutate: false;
        readonly valueSource: "default";
    };
    readonly addField: {
        readonly method: "post";
        readonly read: false;
        readonly transaction: true;
        readonly mutate: true;
        readonly valueSource: "default";
    };
    readonly addFields: {
        readonly method: "post";
        readonly read: false;
        readonly transaction: false;
        readonly mutate: false;
        readonly valueSource: "default";
    };
    readonly addAction: {
        readonly method: "post";
        readonly read: false;
        readonly transaction: true;
        readonly mutate: true;
        readonly valueSource: "default";
    };
    readonly addActions: {
        readonly method: "post";
        readonly read: false;
        readonly transaction: false;
        readonly mutate: false;
        readonly valueSource: "default";
    };
    readonly addRecordAction: {
        readonly method: "post";
        readonly read: false;
        readonly transaction: true;
        readonly mutate: true;
        readonly valueSource: "default";
    };
    readonly addRecordActions: {
        readonly method: "post";
        readonly read: false;
        readonly transaction: false;
        readonly mutate: false;
        readonly valueSource: "default";
    };
    readonly updateSettings: {
        readonly method: "post";
        readonly read: false;
        readonly transaction: true;
        readonly mutate: true;
        readonly valueSource: "default";
    };
    readonly getEventFlowMeta: {
        readonly method: "post";
        readonly read: true;
        readonly transaction: false;
        readonly mutate: false;
        readonly valueSource: "default";
    };
    readonly addEventFlow: {
        readonly method: "post";
        readonly read: false;
        readonly transaction: true;
        readonly mutate: true;
        readonly valueSource: "default";
    };
    readonly setEventFlow: {
        readonly method: "post";
        readonly read: false;
        readonly transaction: true;
        readonly mutate: true;
        readonly valueSource: "default";
    };
    readonly removeEventFlow: {
        readonly method: "post";
        readonly read: false;
        readonly transaction: true;
        readonly mutate: true;
        readonly valueSource: "default";
    };
    readonly setEventFlows: {
        readonly method: "post";
        readonly read: false;
        readonly transaction: true;
        readonly mutate: true;
        readonly valueSource: "default";
    };
    readonly setLayout: {
        readonly method: "post";
        readonly read: false;
        readonly transaction: true;
        readonly mutate: true;
        readonly valueSource: "default";
    };
    readonly moveNode: {
        readonly method: "post";
        readonly read: false;
        readonly transaction: true;
        readonly mutate: true;
        readonly valueSource: "default";
    };
    readonly removeNode: {
        readonly method: "post";
        readonly read: false;
        readonly transaction: true;
        readonly mutate: true;
        readonly valueSource: "default";
    };
    readonly mutate: {
        readonly method: "post";
        readonly read: false;
        readonly transaction: true;
        readonly mutate: false;
        readonly valueSource: "default";
    };
    readonly apply: {
        readonly method: "post";
        readonly read: false;
        readonly transaction: true;
        readonly mutate: false;
        readonly valueSource: "default";
    };
};
export type FlowSurfacesActionName = keyof typeof FLOW_SURFACE_ACTION_DEFINITIONS;
type SelectFlowSurfaceActionNames<TFlag extends keyof FlowSurfaceActionDefinition> = {
    [K in FlowSurfacesActionName]: (typeof FLOW_SURFACE_ACTION_DEFINITIONS)[K][TFlag] extends true ? K : never;
}[FlowSurfacesActionName];
type FlowSurfaceMutateActionName = SelectFlowSurfaceActionNames<'mutate'>;
export declare const FLOW_SURFACES_ACTION_NAMES: ("setFieldValueRules" | "setBlockLinkageRules" | "setFieldLinkageRules" | "setActionLinkageRules" | "context" | "get" | "configure" | "apply" | "createPage" | "addTab" | "addPopupTab" | "addBlock" | "addField" | "addAction" | "addRecordAction" | "compose" | "createMenu" | "catalog" | "describeSurface" | "exportBlueprint" | "getReactionMeta" | "applyBlueprint" | "applyApprovalBlueprint" | "listTemplates" | "getTemplate" | "saveTemplate" | "updateTemplate" | "destroyTemplate" | "convertTemplateToCopy" | "updateMenu" | "destroyPage" | "updateTab" | "moveTab" | "removeTab" | "updatePopupTab" | "movePopupTab" | "removePopupTab" | "addBlocks" | "addFields" | "addActions" | "addRecordActions" | "updateSettings" | "getEventFlowMeta" | "addEventFlow" | "setEventFlow" | "removeEventFlow" | "setEventFlows" | "setLayout" | "moveNode" | "removeNode" | "mutate")[];
export declare const FLOW_SURFACES_READ_ACTION_NAMES: SelectFlowSurfaceActionNames<"read">[];
export declare const FLOW_SURFACE_MUTATE_OP_TYPES: FlowSurfaceMutateActionName[];
export declare const FLOW_SURFACES_ACTION_METHODS: Record<"setFieldValueRules" | "setBlockLinkageRules" | "setFieldLinkageRules" | "setActionLinkageRules" | "context" | "get" | "configure" | "apply" | "createPage" | "addTab" | "addPopupTab" | "addBlock" | "addField" | "addAction" | "addRecordAction" | "compose" | "createMenu" | "catalog" | "describeSurface" | "exportBlueprint" | "getReactionMeta" | "applyBlueprint" | "applyApprovalBlueprint" | "listTemplates" | "getTemplate" | "saveTemplate" | "updateTemplate" | "destroyTemplate" | "convertTemplateToCopy" | "updateMenu" | "destroyPage" | "updateTab" | "moveTab" | "removeTab" | "updatePopupTab" | "movePopupTab" | "removePopupTab" | "addBlocks" | "addFields" | "addActions" | "addRecordActions" | "updateSettings" | "getEventFlowMeta" | "addEventFlow" | "setEventFlow" | "removeEventFlow" | "setEventFlows" | "setLayout" | "moveNode" | "removeNode" | "mutate", FlowSurfaceActionMethod>;
