import { EventEmitter } from '../../stencil-public-runtime'; import { ColumnDefinition as TabulatorColumnDefinition, RowComponent as TabulatorRowComponent } from 'tabulator-tables'; import { ElementPool } from './element-pool'; import { RowReorderEvent } from './table.types'; import { Languages } from '../date-picker/date.types'; /** * Provides row drag-and-drop reordering configuration for Tabulator * using native movableRows with a custom drag handle */ export declare class RowDragManager { private readonly pool; private readonly reorderEvent; private readonly getLanguage; private mutationObserver; constructor(pool: ElementPool, reorderEvent: EventEmitter>, getLanguage: () => Languages); /** * Start releasing drag-handle elements back to the pool when Tabulator * virtualizes rows out of view. Safe to call multiple times — a previous * observer is disconnected first. * * @param container - The element that hosts the Tabulator table. */ observe(container: HTMLElement): void; /** * Disconnects the mutation observer. Call when the manager is no longer * needed (e.g. on `disconnectedCallback` or when `movableRows` is toggled). */ destroy(): void; /** * Returns the Tabulator rowHeader config that renders * a limel-drag-handle and restricts dragging to that cell */ getRowHeaderDefinition(): Partial; /** * Tabulator rowMoved event handler. * Attach this to the tabulator instance via `tabulator.on('rowMoved', ...)` * @param row */ handleRowMoved(row: TabulatorRowComponent): void; /** * Tabulator fires `rowMoved` / `rowMoveCancelled` from its `mouseup` * handler. The browser may then dispatch a synthetic `click` on the drop * target which would bubble to Tabulator's row-click handling and trigger * a spurious row activation. Call this from both events: it installs a * one-shot capture-phase click listener that swallows that single click * before Tabulator can see it. If no click arrives (rare, but possible), * the listener is removed on the next macrotask so it can never swallow a * later, intentional click. * * @param target - Element that should swallow the post-drop click * (typically the table host). */ readonly armPostDropClickGuard: (target: EventTarget) => void; private readonly handleCellClick; private readonly releaseDetachedHandles; private getDragHandleFormatter; } //# sourceMappingURL=row-drag-manager.d.ts.map