import { InlineTool, SanitizerConfig } from '@editorjs/editorjs'; import { StyleObject } from '../editorjs-tool.component'; import { InlineStyleTool } from './tool-type/inline-style-tool.component'; /** * Underline formatting tool for EditorJS * Allows applying underline formatting to selected text or entire blocks */ export declare class UnderlineTool extends InlineStyleTool implements InlineTool { static title: string; private readonly commandName; tag: string; hasSeparatorBefore: boolean; private readonly CSS; style: StyleObject; modifies: { tag: boolean; style: boolean; class: boolean; attribute: boolean; }; private nodes; private selectedBlocksService; api: any; private _state; static get isInline(): boolean; static get sanitize(): SanitizerConfig; get state(): boolean; set state(state: boolean); get shortcut(): string; constructor({ api }: { api: any; }); /** * Creates and configures the tool button */ render(): HTMLElement; /** * Applies underline formatting to selected text or selected blocks */ surround(range: Range): Promise; /** * Applies underline formatting to all selected blocks */ private applyUnderlineToSelectedBlocks; /** * Applies underline formatting to a specific block */ private applyUnderlineToBlock; /** * Applies underline formatting to a text element */ private applyUnderlineToTextElement; /** * Removes existing underline elements */ private removeExistingUnderlineElements; /** * Creates and applies a new underline element */ private createAndApplyUnderlineElement; /** * Applies underline to block elements by wrapping only the text */ private applyUnderlineToBlockElements; /** * Applies underline to the content of a block element */ private applyUnderlineToBlockContent; /** * Gets a block by its ID */ private getBlockById; /** * Gets the editable text element of a block */ private getTextElement; /** * Checks the tool state based on selection */ checkState(selection: Selection | null): boolean; }