/**
 * 公式字段相关类型定义
 */
/** 公式字段配置（面板返回的配置） */
export interface FormulaFieldConfig {
    /** 字段名称 */
    fieldName: string;
    /** 原始公式表达式 */
    expression: string;
    /** 引用的字段 dataIndex 列表 */
    referencedFields: string[];
    /** 列code */
    columnCode: string;
}
/** 公式字段配置面板 Props */
export interface FormulaFieldConfigPanelProps {
    /** 字段标签 */
    fieldLabel: string;
    /** 列code（编辑时传入） */
    columnCode?: string;
    /** 初始公式表达式（编辑时传入） */
    initialExpression?: string;
    /** 是否为编辑状态 */
    isEditStatus?: boolean;
    /** 保存回调 */
    onSave: (config: FormulaFieldConfig) => void;
    /** 取消回调 */
    onCancel: () => void;
}
/** 可引用的字段项 */
export interface FormulaFieldItem {
    dataIndex: string;
    title: string;
    component?: string;
}
/** 公式函数描述 */
export interface FormulaFunctionMeta {
    name: string;
    description: string;
    syntax: string;
    example: string;
    category: string;
}
/** 编辑器弹窗中 hover 选中项的联合类型 */
export type HoveredItem = {
    type: 'field';
    data: FormulaFieldItem;
} | {
    type: 'function';
    data: FormulaFunctionMeta;
} | null;
/** 公式计算上下文 */
export interface FormulaContext {
    row: Record<string, any>;
    fields: FormulaFieldItem[];
    allowedFunctions: Set<string>;
    /** 全量列定义，用于 extractCellTextValue 取真实值 */
    columnDefinitions?: any[];
    /** 处理后的列定义映射，用于 extractCellTextValue 取真实值 */
    processedColumnMap?: Map<string, any>;
    /** 当前行索引 */
    rowIndex?: number;
}
