/**
 * 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 React from 'react';
import { type MetaTreeNode, FlowModel } from '@nocobase/flow-engine';
export interface LinkageFilterItemValue {
    path: string | null;
    operator: string;
    value: any;
    noValue?: boolean;
}
export interface LinkageFilterItemProps {
    /** 条件值对象（响应式） */
    value: LinkageFilterItemValue;
    model: FlowModel;
    /** 向变量树额外注入节点（置于根部） */
    extraMetaTree?: MetaTreeNode[];
    maxAssociationFieldDepth?: number;
}
type OperatorMeta = {
    value: string;
    label: string | React.ReactNode;
    noValue?: boolean;
    schema?: any;
    selected?: boolean;
};
type FilterableChild = {
    name: string;
    title?: string;
    schema?: any;
    operators?: OperatorMeta[];
};
type FieldInterfaceDef = {
    filterable?: {
        operators?: Array<OperatorMeta & {
            visible?: (meta: MetaTreeNode) => boolean;
        }>;
        children?: FilterableChild[];
    };
};
export declare function mergeExtraMetaTreeWithBase(baseMetaTree: MetaTreeNode[] | undefined, extraMetaTree?: MetaTreeNode[]): MetaTreeNode[];
export declare function enhanceMetaTreeWithFilterableChildren(metaTree: MetaTreeNode[] | undefined, getFieldInterface?: (name: string) => FieldInterfaceDef | undefined): Promise<MetaTreeNode[]>;
/**
 * LinkageFilterItem：左/右均为可变量输入，适用于联动规则等“前端逻辑”场景
 */
export declare const LinkageFilterItem: React.FC<LinkageFilterItemProps>;
export {};
