import type { DataTable2ColumnEditFeatures, ResolvedDataTable2ColumnEditFeatures, TableColumn } from "../types"; export declare function resolveColumnEditFeatures(features?: DataTable2ColumnEditFeatures): ResolvedDataTable2ColumnEditFeatures; /** カラム編集メニューでの並び替え可否(列定義。テーブル単位は別途かける) */ export declare function isColumnPositionLocked(column: TableColumn): boolean; export declare function resolveColumnReorderable(column: TableColumn, tableFeatures: ResolvedDataTable2ColumnEditFeatures): boolean; export declare function resolveColumnVisibilityEditable(column: TableColumn, tableFeatures: ResolvedDataTable2ColumnEditFeatures): boolean; export declare function shouldShowColumnEditMenu(columns: TableColumn[], tableFeatures: ResolvedDataTable2ColumnEditFeatures): boolean; export type ColumnEditMenuSegment = { type: "fixed"; columns: TableColumn[]; } | { type: "reorderable"; columns: TableColumn[]; }; /** 表示順を保ったまま、連続する並べ替え可能列だけを reorderable セグメントにまとめる */ export declare function segmentColumnsForEditMenu(orderedColumns: TableColumn[]): ColumnEditMenuSegment[]; /** @deprecated segmentColumnsForEditMenu を使用してください */ export declare function groupColumnsForEditMenu(orderedColumns: TableColumn[]): { startFixed: TableColumn[]; reorderable: TableColumn[]; endFixed: TableColumn[]; }; /** * 並べ替え可能列だけの新しい順序から column.order を再計算する。 * reorderable でない列はもとのインデックスに固定し、並べ替え可能列だけが空きスロットに入る。 */ export declare function applyReorderableOrderChange(columns: TableColumn[], newReorderableOrder: (string | number)[], tableFeatures: ResolvedDataTable2ColumnEditFeatures): TableColumn[]; /** @deprecated applyReorderableOrderChange を使用してください */ export declare function applyColumnOrderFromDrag(columns: TableColumn[], newVisualOrder: (string | number)[], tableFeatures: ResolvedDataTable2ColumnEditFeatures): TableColumn[]; export declare function getColumnEditHelpText(tableFeatures: ResolvedDataTable2ColumnEditFeatures): string;