import { ActionHandlerExecution, ActionHandlerInterceptor } from '../../../dto/action-handle-strategies/action-handle-interceptor.abstract';
import type { InsertNewParagraphAction } from '../../../dto/actions/insert-new-paragraph-action';
import type { RTETableBlock } from '../dto/table-block';
/**
 * Interceptor to insert a paragraph before or after a table block.
 */
export declare class PreventTableInsertParagraphInterceptor extends ActionHandlerInterceptor<InsertNewParagraphAction, RTETableBlock> {
  /**
   * Intercept insert paragraph action when table block has a parent.
   *
   * @param {InsertNewParagraphAction} _action - the action to be intercepted
   * @param {RTETableBlock} target - the target table block
   * @returns {boolean} - whether the action should be intercepted
   */
  canIntercept(_action: InsertNewParagraphAction, target: RTETableBlock): boolean;
  /**
   * Insert a new paragraph block before or after the current table block based on caret offset.
   *
   * @param {ActionHandlerExecution} _execution - the original execution function
   * @param {InsertNewParagraphAction} action - the action containing insert metadata
   * @param {RTETableBlock} target - the target table block
   */
  intercept(_execution: ActionHandlerExecution, action: InsertNewParagraphAction, target: RTETableBlock): void;
  /**
   * Create a new empty paragraph block.
   *
   * @param {string} text - paragraph text
   * @returns {Nullable<RTETextBlock>} - paragraph block when paragraph dto class is available
   */
  private createNewParagraph;
}
