/**
 * 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 { FlowSurfaceFieldValueRule, FlowSurfaceReactionTargetSummary, FlowSurfaceReactionWriteResult } from './types';
export type FlowSurfaceFieldValueTarget = FlowSurfaceReactionTargetSummary & {
    use?: string | null;
    collection?: any;
};
export type FlowSurfaceFieldValueCompileResult = FlowSurfaceReactionWriteResult<FlowSurfaceFieldValueRule> & {
    updateAssociationValues: string[];
};
export declare function isFieldValueTargetUseSupported(use?: string | null): boolean;
export declare function assertFieldValueTargetSupported(target: FlowSurfaceFieldValueTarget): void;
export declare function normalizeFieldValueRules(rules: FlowSurfaceFieldValueRule[] | undefined): FlowSurfaceFieldValueRule[];
export declare function validateFieldValueRulesAgainstCapability(rules: FlowSurfaceFieldValueRule[], capability: {
    conditionMeta: {
        operatorsByPath: Record<string, string[]>;
        fieldMetaByPath?: Record<string, {
            type?: string;
            interface?: string;
        }>;
    };
}): void;
export declare function compileFieldValueRulesToCanonical(rules: FlowSurfaceFieldValueRule[] | undefined): {
    key: string;
    enable: boolean;
    targetPath: string;
    mode: string;
    condition: import("./types").FlowSurfaceReactionFilter;
    value: any;
}[];
export declare function collectUpdateAssociationValuesFromFieldValueRules(items: Array<{
    targetPath?: string;
} | any>, rootCollection: any): string[];
export declare function buildFieldValueWriteResult(params: {
    target: FlowSurfaceFieldValueTarget;
    rules: FlowSurfaceFieldValueRule[] | undefined;
}): FlowSurfaceFieldValueCompileResult;
