import { RTETableExtensionContext } from '../table-extension';
import { SettingEventHandler } from './setting-event-handler.abstract';
export declare enum ColumnOperationType {
  HEADER_COLUMN = "HEADER_COLUMN",
  ADD_COLUMN_LEFT = "ADD_COLUMN_LEFT",
  ADD_COLUMN_RIGHT = "ADD_COLUMN_RIGHT",
  DELETE_COLUMN = "DELETE_COLUMN",
  SELECT_COLUMN = "SELECT_COLUMN"
}
/**
 * Event handler for column operations in a table.
 */
export declare class ColumnOperationEventHandler extends SettingEventHandler {
  /**
   * @inheritDoc
   */
  canHandle(action: Array<string>): boolean;
  /**
   * @inheritDoc
   */
  execute(action: Array<string>, extensionContext: RTETableExtensionContext): void;
  /**
   * Adds a new column to the table at the specified position.
   *
   * @param {ColumnOperationType} direction - The position to insert the new column (left or right).
   * @param {RTETableCellBlock[] | RTETableHeadCellBlock[]} selectedCells - The selected table cells.
   */
  private handleInsertColumn;
  /**
   * Deletes the selected column from the table.
   *
   * @param {RTETableCellBlock[] | RTETableHeadCellBlock[]} selectedCells - The selected table cells.
   */
  private handleDeleteColumn;
  /**
   * Selects the entire column in the table.
   *
   * @param {RTETableCellBlock[] | RTETableHeadCellBlock[]} selectedCells - The selected table cells.
   * @param {RTETableExtensionContext} extensionContext - The table extension context.
   */
  private handleSelectColumn;
  /**
   * Toggles the header state of the selected column in the table.
   *
   * @param {RTETableCellBlock[] | RTETableHeadCellBlock[]} selectedCells - The selected table cells.
   */
  private handleToggleHeaderColumn;
  /**
   * Apply the specified action on the table containing the selected cell.
   *
   * @param {DeleteTableColumnAction | InsertTableColumnAction} action - The action to apply.
   * @param {RTETableCellBlock | RTETableHeadCellBlock} selectedCell - The selected table cell.
   */
  private applyActionOnTable;
}
