/**
 * 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 { FormItemModel } from '../../models';
export interface CollectionLike {
    getField?: (name: string) => unknown;
    getFields?: () => unknown[];
    dataSourceKey?: string;
    name?: string;
}
export declare const CUSTOM_FIELD_TARGET_PATH_PREFIX = "__custom__";
export declare function buildCustomFieldTargetPath(customFieldName: string): string;
export declare function isToManyAssociationField(field: unknown): boolean;
export declare function getCollectionFromModel(model: unknown): CollectionLike | undefined;
export declare function getFormItemFieldPathCandidates(model: unknown): string[];
export declare function getFormItemPreferredFieldPath(model: unknown): string | undefined;
/**
 * Find a configured FormItemModel by its `fieldSettings.init.fieldPath` (or `fieldPath`) in the current form grid,
 * including nested subform items. Also supports combined path matching when a model stores
 * `associationPathName + fieldPath` separately (e.g. wrapper field children builders).
 */
export declare function findFormItemModelByFieldPath(root: unknown, targetPath: string): FormItemModel | null;
