import { ActionHandlerExecution, ActionHandlerInterceptor } from '../../../dto/action-handle-strategies/action-handle-interceptor.abstract';
import { InsertNewParagraphAction } from '../../../dto/actions/insert-new-paragraph-action';
import { ModifyContentAction } from '../../../dto/actions/modify-content-action.abstract';
import { RTETextBlock } from '../../../dto/blocks/text-block';
/**
 * Prevent special type input in function block.
 */
export declare class PreventNewParagraphInterceptor extends ActionHandlerInterceptor<ModifyContentAction, RTETextBlock> {
  /**
   * Checks the target block parent whether is function block.
   *
   * @param {InsertNewParagraphAction} _action - the action to be intercepted
   * @param {RTETextBlock} target - the target block
   * @returns {boolean} - true if the target block parent is function block, false otherwise
   */
  canIntercept(_action: InsertNewParagraphAction, target: RTETextBlock): boolean;
  /**
   * Insert a new paragraph behind of the function block instead of the target block.
   *
   * @param {ActionHandlerExecution} _execution - the original execution function
   * @param {ModifyContentAction} _action - the action to be intercepted
   * @param {RTETextBlock} target - the target block
   */
  intercept(_execution: ActionHandlerExecution, _action: ModifyContentAction, target: RTETextBlock): void;
}
