/**
 * 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 { FlowSurfaceBindKey, FlowSurfaceReadLocator } from '../types';
import type { FlowSurfaceCompiledPlanStep, FlowSurfacePlanSurfaceContext, FlowSurfaceResolvedKey } from './types';
export declare const FLOW_SURFACE_SYSTEM_KEY = "surface";
export declare const FLOW_SURFACE_RESERVED_KEYS: Set<string>;
export declare const FLOW_SURFACE_INTERNAL_META_KEY = "__flowSurfaceMeta";
export declare const FLOW_SURFACE_DECLARED_KEY_KEY = "declaredKey";
export declare const FLOW_SURFACE_KEY_NOT_PERSISTABLE_CODE = "FLOW_SURFACE_KEY_NOT_PERSISTABLE";
export declare function getDeclaredKeyFromNode(node: any): string;
export declare function normalizeBindKeys(actionName: string, bindKeys: any, deps: {
    normalizeGetTarget: (value: any) => FlowSurfaceReadLocator;
}): FlowSurfaceBindKey[];
export declare function collectDeclaredKeysFromTree(node: any, deps: {
    actionName?: string;
    buildPlanKeyKind: (node: any, resolvedKind?: string) => string;
}, carry?: Map<string, FlowSurfaceResolvedKey>): Map<string, FlowSurfaceResolvedKey>;
export declare function annotateTreeKey(tree: any, keyByUid: Map<string, string>): any;
export declare function buildSurfaceKeysObject(keyMap: Map<string, FlowSurfaceResolvedKey>): {
    [k: string]: {
        uid: string;
        kind: string;
        source: "system" | "declared" | "request";
        locator: FlowSurfaceReadLocator;
    };
};
export declare function buildSurfaceFingerprintKeysObject(keyMap: Map<string, FlowSurfaceResolvedKey>): {
    [k: string]: {
        uid: string;
        kind: string;
    };
};
export declare function getSurfaceSelectorRequestKey(context: FlowSurfacePlanSurfaceContext): FlowSurfaceResolvedKey;
export declare function collectRequestKeysToPersist(context: FlowSurfacePlanSurfaceContext, compiledSteps: FlowSurfaceCompiledPlanStep[]): Map<string, FlowSurfaceResolvedKey>;
