import React from 'react';
interface ConditionItemBodyProps<T> {
    index: number;
    condition: T;
    conditions: T[];
    showAndBeforeCondition: boolean;
    onRemove: (index: number) => void;
    renderConditionItem: (condition: T, index: number) => React.ReactNode;
    dragEnabled: boolean;
    /** 拖拽把手钩子;overlay 渲染时不传,把手仅作为静态视觉占位 */
    dragHandleRef?: (node: HTMLElement | null) => void;
    dragHandleListeners?: Record<string, any>;
    dragHandleAttributes?: Record<string, any>;
}
/**
 * 条件项内容(前缀 + 拖拽把手 + 业务内容 + 删除按钮),
 * SortableConditionItem 与 DragOverlay 共用,保证浮层与原项 1:1。
 */
export declare function ConditionItemBody<T>(props: ConditionItemBodyProps<T>): React.JSX.Element;
export interface SortableConditionItemProps<T> {
    /** dnd-kit sortable ID(由父组件通过 getItemId 派生,稳定) */
    id: string;
    /** 条件在列表中的索引 */
    index: number;
    /** 当前条件数据 */
    condition: T;
    /** 完整条件列表(用于判断是否显示「且」前缀) */
    conditions: T[];
    /** 是否在多条件时显示「当/且」前缀 */
    showAndBeforeCondition: boolean;
    /** 删除回调 */
    onRemove: (index: number) => void;
    /** 渲染条件项内容(字段选择、操作符等) */
    renderConditionItem: (condition: T, index: number) => React.ReactNode;
    /** 是否启用拖拽(未传 onReorder 时禁用) */
    dragEnabled: boolean;
}
/**
 * 可拖拽的条件项组件
 * 使用 @dnd-kit/sortable 的 useSortable 实现拖拽排序,
 * 通过 setActivatorNodeRef 将拖拽感知限定在把手区域,避免与内部控件交互冲突。
 */
export declare function SortableConditionItem<T>(props: SortableConditionItemProps<T>): React.JSX.Element;
export {};
