/**
 * 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 { FlowContext } from '@nocobase/flow-engine';
export type NamePath = Array<string | number>;
export type FieldIndexEntry = {
    name: string;
    index: number;
};
export declare function isSameNamePath(a: NamePath, b: NamePath): boolean;
export declare function isNamePathPrefix(prefix: NamePath, path: NamePath): boolean;
export declare function dedupeNamePaths(paths: NamePath[]): NamePath[];
export declare function minimizeNamePaths(paths: NamePath[]): NamePath[];
export declare function parseFieldIndexEntries(fieldIndex: unknown): FieldIndexEntry[];
export declare function getFieldIndexEntriesFromContext(ctx: FlowContext | {
    model?: unknown;
    fieldIndex?: unknown;
}): FieldIndexEntry[];
export declare function buildItemRowPath(entries: FieldIndexEntry[], parentDepth: number): NamePath | null;
export declare function buildItemListRootPath(entries: FieldIndexEntry[], parentDepth: number): NamePath | null;
export declare function parseDependencyPath(subPath: string): NamePath;
export declare function parsePathKey(pathKey: string): NamePath;
export declare function getChangedPathsFromPayload(payload: unknown, options?: {
    includeArrayChangedValues?: boolean;
}): NamePath[];
export declare function isFormValueChangeSource(model: unknown): boolean;
export declare function findFormValueChangeSource(ctx: FlowContext): unknown | null;
