import type { TableEditFeature } from './TableEditFeature'; import type { OnTableEditorCreatedCallback } from '../../OnTableEditorCreatedCallback'; import type { DOMSelection, IEditor, ReadonlyContentModelTable, Rect } from 'roosterjs-content-model-types'; /** * @internal */ export declare const TABLE_MOVER_ID = "_Table_Mover"; /** * @internal * Allows user to move table to another position * Contains the function to select whole table */ export declare function createTableMover(table: HTMLTableElement, editor: IEditor, isRTL: boolean, onFinishDragging: (table: HTMLTableElement) => void, onStart: () => void, onEnd: (disposeHandler: boolean) => void, contentDiv?: EventTarget | null, anchorContainer?: HTMLElement, onTableEditorCreated?: OnTableEditorCreatedCallback, disableMovement?: boolean): TableEditFeature | null; /** * @internal * Exported for testing */ export interface TableMoverContext { table: HTMLTableElement; zoomScale: number; rect: Rect | null; isRTL: boolean; editor: IEditor; div: HTMLElement; onFinishDragging: (table: HTMLTableElement) => void; onStart: () => void; onEnd: (disposeHandler: boolean) => void; disableMovement?: boolean; } /** * @internal * Exported for testing */ export interface TableMoverInitValue { cmTable: ReadonlyContentModelTable | undefined; initialSelection: DOMSelection | null; tableRect: HTMLDivElement; } /** * @internal * Exported for testing */ export declare function onDragStart(context: TableMoverContext): TableMoverInitValue; /** * @internal * Exported for testing */ export declare function onDragging(context: TableMoverContext, event: MouseEvent, initValue: TableMoverInitValue): boolean; /** * @internal * Exported for testing */ export declare function onDragEnd(context: TableMoverContext, event: MouseEvent, initValue: TableMoverInitValue | undefined): boolean;