/**
 * 拖拽排序纯函数
 *
 * 所有排序逻辑集中于此，组件层只负责收集参数、调用函数、根据结果决定写回。
 * 输入 → 当前顺序、activeId、overId、pinned 信息、主键解析器
 * 输出 → DragSortResult（显式成功或失败）
 */
import type { PrimaryKeyType } from '../../../../../../cn-ai-table/view/utils/primary-key';
export type DragSortFailReason = 'missing_active' | 'missing_over' | 'invalid_row_identity' | 'cross_pinned_boundary' | 'same_position';
export type DragSortResult<T> = {
    ok: true;
    value: T;
} | {
    ok: false;
    reason: DragSortFailReason;
};
/**
 * 列拖拽排序（纯函数）
 *
 * - 使用归一化 ID 比较，兼容 string / number 混用
 * - pinnedColumnIds 中的列不参与重排
 */
export declare function sortColumns(columnOrder: ReadonlyArray<string | number>, activeId: string | number, overId: string | number, pinnedColumnIds?: ReadonlyArray<string | number>): DragSortResult<Array<string | number>>;
/**
 * 行拖拽排序（纯函数）
 *
 * 行拖拽必须建立在稳定主键上。
 * 当 primaryKey 无法从 record 中提取有效值时，返回 invalid_row_identity 而非 fallback 到 index。
 */
export declare function sortRows<T extends Record<string, any>>(data: ReadonlyArray<T>, activeId: string | number, overId: string | number, primaryKey: PrimaryKeyType): DragSortResult<T[]>;
