import * as React from 'react';
import { ColumnHeaderMenuItem } from './column-header-menu';
interface UseColumnHeaderMenuOptions {
    fieldMap?: Record<string, any>;
    columnDefinitions?: Array<{
        dataIndex: string;
        isAiColumn?: boolean;
        [key: string]: any;
    }>;
    viewConfig?: any;
    onFreezeToColumn?: (columnId: string, columnIndex: number) => void;
    onUnfreezeColumn?: (columnId: string, columnIndex: number) => void;
    onFillColor?: (columnId: string) => void;
    onInsertLeft?: (columnId: string) => void;
    onInsertRight?: (columnId: string) => void;
    onSortAsc?: (columnId: string) => void;
    onSortDesc?: (columnId: string) => void;
    onGroupBy?: (columnId: string) => void;
    onFilterBy?: (columnId: string) => void;
    onDeleteField?: (columnId: string) => void;
    onEditAiColumn?: (columnId: string) => void;
    onEditFormulaColumn?: (columnId: string) => void;
    onEditLookupColumn?: (columnId: string) => void;
    /** 判断字段是否由 field-system 管理（可删除），用于在普通字段菜单中追加删除项 */
    isFieldDeletable?: (columnId: string) => boolean;
    currentGroupCount?: number;
    maxGroupLevels?: number;
}
interface ContextMenuState {
    visible: boolean;
    columnId: string | null;
}
export declare function useColumnHeaderMenu(options: UseColumnHeaderMenuOptions): {
    contextMenuState: ContextMenuState;
    handleContextMenu: (columnId: string) => (e: React.MouseEvent) => void;
    handleContextMenuClose: () => void;
    getMenuItems: (columnId: string, columnName: string, columnIndex: number) => ColumnHeaderMenuItem[];
};
export {};
