import { RTEBlock } from '../../../dto/blocks/block.abstract';
import { RTEHtmlBlock } from '../../../dto/blocks/html-block';
import { RTETextBlock } from '../../../dto/blocks/text-block';
import { VegaRTEContent } from '../../../dto/content-state';
import { RTENode } from '../../../dto/nodes/node.abstract';
import { VegaRTEBlockBase, VegaRTEContentBlock, VegaRTETransformOptions } from '../../../interface';
import { RTELogicControlBlock } from '../dto/logic-control-block';
export declare type VegaFunctionBlock = VegaRTEBlockBase & {
  type: string;
  children: VegaRTEContentBlock[];
};
export declare type RTEFunctionBlockChild = RTELogicControlBlock | RTETextBlock;
/**
 * RTE Function Block
 */
export declare class RTEFunctionBlock extends RTEBlock<VegaRTEContent | RTEHtmlBlock, RTEFunctionBlockChild> {
  static dtoName: string;
  readonly dtoName: string;
  type: string;
  parent: VegaRTEContent | RTEHtmlBlock;
  children: RTEFunctionBlockChild[];
  constructor(id: string);
  /**
   * Creates an RTEFunctionBlock from a VegaFunctionBlock.
   *
   * @param {VegaFunctionBlock} block - The custom block to convert.
   * @param {VegaRTETransformOptions} [options] - Optional transformation options.
   * @returns {RTEFunctionBlock} The resulting RTEFunctionBlock.
   */
  static from(block: VegaFunctionBlock, options?: VegaRTETransformOptions): RTEFunctionBlock;
  /**
   * Converts the RTEFunctionBlock and its children to an HTML string.
   *
   * @returns {string} The HTML string representation of the function block.
   */
  toHtml(): string;
  /**
   * @inheritDoc
   */
  clone(parent: VegaRTEContent | RTEHtmlBlock): RTEFunctionBlock;
  /**
   * @inheritDoc
   */
  getLastNode(): RTENode;
  /**
   * @inheritDoc
   */
  isNotEmpty(): boolean;
  /**
   * @inheritDoc
   */
  toJSON(): VegaFunctionBlock;
  /**
   * Get the style string for function content block, excluding default paragraph styles.
   *
   * @param {RTETextBlock} block - The text block to extract styles from
   * @returns {string} - The style attribute string
   */
  private getFunctionContentStyle;
}
