/**
 * 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, { FC, ReactNode } from 'react';
/**
 * 筛选项组件的属性接口
 */
interface FilterItemProps {
    value: {
        path: string;
        operator: string;
        value: string;
    };
}
/**
 * FilterGroup 组件的属性接口
 */
interface FilterGroupProps {
    /** 响应式的过滤条件对象 */
    value: Record<string, any>;
    /** 自定义筛选项组件 */
    FilterItem?: React.FC<FilterItemProps>;
    closeIcon?: ReactNode;
    /** 是否显示边框 */
    showBorder?: boolean;
    /** 移除当前组的回调 */
    onRemove?: () => void;
    onChange?: (value: any) => void;
}
/**
 * 筛选条件组组件
 *
 * 支持嵌套的逻辑组合，使用新的数据结构：
 * - logic: '$and' | '$or' 表示逻辑关系
 * - items: 数组，包含条件项或嵌套的筛选组
 *
 * @example
 * ```typescript
 * const filterValue = observable({
 *   logic: '$and',
 *   items: [
 *     {
 *       path: 'name',
 *       operator: 'eq',
 *       value: 'test'
 *     },
 *     {
 *       logic: '$or',
 *       items: [...]
 *     }
 *   ]
 * });
 *
 * <FilterGroup
 *   value={filterValue}
 *   FilterItem={CustomFilterItem}
 * />
 * ```
 */
export declare const FilterGroup: FC<FilterGroupProps>;
export {};
