import type { BlockElement, InlineElement, NodePosition } from 'roosterjs-editor-types'; /** * This presents an inline element that can be represented by a single html node. * This serves as base for most inline element as it contains most implementation * of all operations that can happen on an inline element. Other sub inline elements mostly * just identify themselves for a certain type */ export default class NodeInlineElement implements InlineElement { private containerNode; private parentBlock; constructor(containerNode: Node, parentBlock: BlockElement); /** * The text content for this inline element */ getTextContent(): string; /** * Get the container node */ getContainerNode(): Node; getParentBlock(): BlockElement; /** * Get the start position of the inline element */ getStartPosition(): NodePosition; /** * Get the end position of the inline element */ getEndPosition(): NodePosition; /** * Checks if this inline element is a textual inline element */ isTextualInlineElement(): boolean; /** * Checks if an inline element is after the current inline element */ isAfter(inlineElement: InlineElement): boolean; /** * Checks if the given position is contained in the inline element */ contains(pos: NodePosition): boolean; /** * Apply inline style to an inline element */ applyStyle(styler: (element: HTMLElement, isInnerNode?: boolean) => any): void; }