/**
 * 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 type FlowSurfaceCreatedKeySpec = {
    key: string;
    resultPath: string;
};
type CollectFlowSurfaceCreatedKeysOptions = {
    targetSelectorKey?: string;
};
export declare function normalizeFlowSurfaceCreatedKey(key: any, context: string): string;
export declare function collectFlowSurfaceCreatedKeys(action: string, values: any, options?: CollectFlowSurfaceCreatedKeysOptions): FlowSurfaceCreatedKeySpec[];
export declare function assertNoDuplicateFlowSurfaceCreatedKeys(specs: FlowSurfaceCreatedKeySpec[], context: string, options?: {
    existingKeys?: Iterable<string>;
    reservedNames?: Iterable<string>;
}): void;
export declare function registerFlowSurfaceCreatedKeys(result: any, specs: FlowSurfaceCreatedKeySpec[], keys: Map<string, any>): {
    key: string;
    uid: string;
}[];
export declare function collectPersistableFlowSurfaceCreatedKeys(result: any, specs: FlowSurfaceCreatedKeySpec[]): {
    key: string;
    uid: string;
}[];
export declare function isFlowSurfacePureKeyObject(input: any): input is {
    key: string;
};
export declare function normalizeComposeInlineKeysForPlan(values: any, contextPath: string): any;
export {};
