import type { EditingAiColumn, EditingFormulaColumn } from '../types';
import type { FieldContext } from '../../../../../../cn-ai-table/view/field-system';
/**
 * 处理排序：正序
 * @param columnId 列ID
 * @param viewId 视图ID
 * @param dataModel 数据模型
 * @param setSelectedColumnId 设置选中列ID的函数
 * @param onShowSortPanel 可选的回调函数，用于显示排序面板
 */
export declare function handleSortAsc(columnId: string, viewId: string, dataModel: any, setSelectedColumnId: (columnId: string | null) => void, onShowSortPanel?: () => void): void;
/**
 * 处理排序：倒序
 * @param columnId 列ID
 * @param viewId 视图ID
 * @param dataModel 数据模型
 * @param setSelectedColumnId 设置选中列ID的函数
 * @param onShowSortPanel 可选的回调函数，用于显示排序面板
 */
export declare function handleSortDesc(columnId: string, viewId: string, dataModel: any, setSelectedColumnId: (columnId: string | null) => void, onShowSortPanel?: () => void): void;
/**
 * 处理整列填色
 * @param columnId 列ID
 * @param viewId 视图ID
 * @param dataModel 数据模型
 * @param setSelectedColumnId 设置选中列ID的函数
 * @param onShowColorFillPanel 可选的回调函数，用于显示填色面板
 */
export declare function handleFillColor(columnId: string, viewId: string, dataModel: any, setSelectedColumnId: (columnId: string | null) => void, onShowColorFillPanel?: () => void): void;
/**
 * 处理按字段分组
 * @param columnId 列ID
 * @param viewId 视图ID
 * @param dataModel 数据模型
 * @param setSelectedColumnId 设置选中列ID的函数
 * @param onShowGroupPanel 可选的回调函数，用于显示分组面板
 */
export declare function handleGroupBy(columnId: string, viewId: string, dataModel: any, setSelectedColumnId: (columnId: string | null) => void, onShowGroupPanel?: () => void): void;
/**
 * 处理按字段筛选
 * @param columnId 列ID
 * @param viewId 视图ID
 * @param dataModel 数据模型
 * @param setSelectedColumnId 设置选中列ID的函数
 * @param onShowFilterPanel 可选的回调函数，用于显示筛选面板
 */
export declare function handleFilterBy(columnId: string, viewId: string, dataModel: any, setSelectedColumnId: (columnId: string | null) => void, onShowFilterPanel?: () => void): void;
/**
 * 处理冻结至此列
 * @param columnId 列ID
 * @param columnIndex 列索引（从0开始）
 * @param viewId 视图ID
 * @param dataModel 数据模型
 * @param viewConfig 视图配置
 */
export declare function handleFreezeToColumn(columnId: string, columnIndex: number, viewId: string, dataModel: any, viewConfig: any): void;
/**
 * 处理取消冻结列
 * @param columnId 列ID
 * @param columnIndex 列索引（从0开始）
 * @param viewId 视图ID
 * @param dataModel 数据模型
 * @param viewConfig 视图配置
 */
export declare function handleUnfreezeColumn(columnId: string, columnIndex: number, viewId: string, dataModel: any, viewConfig: any): void;
/**
 * 删除字段的选项参数
 */
export interface DeleteFieldOptions {
    /** 删除成功回调 */
    onSuccess?: () => void;
    /** 删除失败回调 */
    onError?: (error: Error) => void;
}
/**
 * 编辑AI列的选项参数
 */
export interface EditAiColumnOptions {
    /** 编辑成功回调 */
    onSuccess?: () => void;
    /** 编辑失败回调 */
    onError?: (error: Error) => void;
}
/**
 * 处理编辑AI列
 * @param columnId 列ID
 * @param dataModel 数据模型
 * @param options 选项参数
 */
export declare function handleEditAiColumn(columnId: string, dataModel: any, viewId: string, options?: EditAiColumnOptions & {
    onOpenEditPanel?: (config: EditingAiColumn) => void;
}): void;
/**
 * 处理删除字段
 * @param columnId 列ID
 * @param dataModel 数据模型
 * @param options 可选配置
 */
export declare function handleDeleteField(columnId: string, dataModel: any, options?: DeleteFieldOptions): Promise<void>;
/**
 * 编辑公式列的选项参数
 */
export interface EditFormulaColumnOptions {
    onOpenEditPanel?: (config: EditingFormulaColumn) => void;
    onError?: (error: Error) => void;
}
/**
 * 处理编辑公式列
 * @param columnId 列ID
 * @param dataModel 数据模型
 * @param options 选项参数
 */
export declare function handleEditFormulaColumn(columnId: string, dataModel: any, options?: EditFormulaColumnOptions): void;
/**
 * 通过 field-system 统一删除字段（替代 handleDeleteField）。
 * 优先走 orchestrator，识别不了字段类型时 fallback 到旧函数。
 */
export declare function deleteFieldViaSystem(columnId: string, ctx: FieldContext, options?: DeleteFieldOptions): Promise<void>;
/**
 * 通过 field-system 获取编辑配置（替代 handleEditAiColumn / handleEditFormulaColumn）。
 */
export declare function getEditConfigViaSystem(columnId: string, ctx: FieldContext): {
    type: 'ai';
    config: EditingAiColumn;
} | {
    type: 'formula';
    config: EditingFormulaColumn;
} | {
    type: 'lookup';
    config: {
        columnId: string;
        columnCode: string;
        columnName: string;
        config: any;
    };
} | undefined;
