import type { EditorView } from "../../../../../../pm/view.js";
import type { TableDescBinded } from "../../../../../../table-utils/table-desc.js";
type Event = Pick<MouseEvent, 'clientX' | 'clientY' | 'target'>;
export type YfmTableDnDGhostParams = {
    initial: Event;
    type: 'row' | 'column';
    rangeIdx: number;
    tableDesc: TableDescBinded;
};
export declare class YfmTableDnDGhost {
    private _x;
    private _y;
    private readonly _dndBackgroundElem;
    private readonly _ghostTable;
    private readonly _ghostButton;
    private readonly _tblShiftX;
    private readonly _tblShiftY;
    private readonly _btnShiftX;
    private readonly _btnShiftY;
    private _rafId;
    constructor(view: EditorView, params: YfmTableDnDGhostParams);
    move(event: Event): void;
    destroy(): void;
    private _startAnimation;
    private _updatePositions;
    private _buildRowGhost;
    private _buildColumnGhost;
    private _buildGhostButton;
    private _buildGhostContainer;
}
export {};
