/**
 * Handles table pasting operations within the editor
 *
 * This class provides functionality for pasting table content from one location to another,
 * handling complex scenarios such as:
 * - Merging and splitting cells
 * - Preserving row and column spans
 * - Managing cell content and styles
 * - Preventing overflow when pasting into selected regions
 * - Adjusting table structure to accommodate pasted content
 *
 * @hidden
 * @private
 */
export declare class TablePasting {
    private allCells;
    private hasCellsUpdated;
    private preventOverflowCells;
    /**
     * Handles pasting a table into the target table at the specified cell
     *
     * This method processes the inserted table and integrates it into the target location,
     * handling cell merging, content preservation, and structural adjustments.
     * When multiple cells are selected, it ensures proper distribution of content.
     *
     * @param {HTMLTableElement} insertedTable - The table being pasted
     * @param {NodeListOf<Element>} targetCells - Collection of cells where the paste operation targets
     * @returns {void}
     * @hidden
     * @private
     */
    handleTablePaste(insertedTable: HTMLTableElement, targetCells: NodeListOf<Element>): void;
    private getClosestTable;
    private getTableRows;
    private getRowIndex;
    private getCellIndex;
    private pasteMultipleRows;
    private ensureCellCount;
    private getOrCreateRow;
    private fillRowWithEmptyCells;
    private getMaxColumnCount;
    private pasteRowContent;
    private adjustCellSpans;
    private calculateAdjustedRowSpan;
    private calculateAdjustedColSpan;
    private ensureTargetTableCapacity;
    private shouldSkipCell;
    private getRowCells;
    private copyCellAttributes;
    private getCellSpanAttributes;
    private handleCellInsertLocation;
    private handleInsertRowMismatch;
    private adjustCellHeights;
    private handleRowspanChanges;
    private handleColspanChanges;
    private applyRowspanAttributes;
    private processRowspanCell;
    private handleComplexCellRemoval;
    private handleColspanCellRemoval;
    private handleRowspanCellRemoval;
    private removeRowspanAttributes;
    private getInsertionColIndex;
    private findMatchingCellIndex;
    private removeFollowingSiblings;
    private insertFollowingSiblings;
    /**
     * Retrieves a valid table element from the pasted content if it exists and is valid
     *
     * This method examines the pasted content to find a table element. It handles three scenarios:
     * 1. The inserted node is already a table
     * 2. The inserted node contains a table that needs to be extracted
     * 3. The inserted node contains a table with wrapper elements that should be preserved
     *
     * If the content is not a valid table or a valid wrapper around a table, returns null.
     *
     * @param {HTMLElement} insertedNode - The node that was pasted into the editor
     * @returns {HTMLElement | null} - The valid table element or wrapper, or null if no valid table found
     * @hidden
     * @private
     */
    getValidTableFromPaste(insertedNode: HTMLElement): HTMLElement | null;
    private getWrapperNodeForTable;
}
