import { RTEBlock } from '../../../dto/blocks/block.abstract';
import { VegaRTECustomBlock } from '../../../interface';
import { RTEFunctionBlock } from '../dto/function-block';
import { RTELogicControlNode } from '../dto/logic-control-node';
export declare type VegaRTELogicControlBlock = VegaRTECustomBlock & {
  statementText: string;
};
/**
 * Class representing a logic control block in the rich text editor.
 */
export declare class RTELogicControlBlock extends RTEBlock {
  type: string;
  parent: RTEFunctionBlock;
  children: RTELogicControlNode[];
  statementText: string;
  constructor(id: string, statementText: string, parent?: RTEFunctionBlock);
  /**
   * Create a logic control block from a JSON representation.
   *
   * @param {VegaRTELogicControlBlock} json - The JSON object representing the logic control block.
   * @returns {RTELogicControlBlock} - The created logic control block.
   */
  static from(json: VegaRTELogicControlBlock): RTELogicControlBlock;
  /**
   * Check the block is not empty.
   *
   * @returns {boolean} - Always true for logic control block.
   */
  isNotEmpty(): boolean;
  /**
   * Get the last node of the block.
   *
   * @returns {RTELogicControlNode} - The last node in the block.
   */
  getLastNode(): RTELogicControlNode;
  /**
   * Convert the block to its HTML representation.
   *
   * @returns {string} - The HTML string of the logic control block.
   */
  toHtml(): string;
  /**
   * Clone the current block instance.
   *
   * @param { RTEFunctionBlock } parent - The parent function block for the cloned instance.
   * @returns {RTELogicControlBlock} - A new instance of RTEStatementSyntaxBlock.
   */
  clone(parent: RTEFunctionBlock): RTELogicControlBlock;
  /**
   * Get the JSON representation of the block.
   *
   * @returns {VegaRTELogicControlBlock} - The JSON object of the logic control block.
   */
  toJSON(): VegaRTELogicControlBlock;
}
