import { LayoutEngine } from '../virtualization/LayoutEngine'; import { Column } from '../models/Column'; /** * Drag a column header to reorder columns. A press that moves past the threshold * starts a drag, shows a drop marker at the nearest column boundary, and commits * the move on release. */ export declare class ColumnDragger { private header; private layout; private columns; private commit; private groupZone?; private onGroupBy?; private onGroupHover?; private srcCol; private startX; private dragging; private overZone; private marker; private ghost?; private insertAt; private readonly onDown; private readonly onMove; private readonly onUp; constructor(header: HTMLElement, layout: LayoutEngine, columns: () => Column[], commit: (from: number, to: number) => void, groupZone?: (() => DOMRect | null) | undefined, onGroupBy?: ((col: number) => void) | undefined, onGroupHover?: ((active: boolean) => void) | undefined); dispose(): void; private showGhost; private moveGhost; private removeGhost; private contentX; private colAt; private isEdge; private isOverGroupZone; }