import type { IRichTextCommand } from '../Interfaces/IRichTextCommand';
/**
 * Abstract class RichTextCommand that provides common functionality for text commands.
 *
 * @public
 */
export declare abstract class RichTextCommand implements IRichTextCommand {
    private _contentEditable;
    /**
     * Constructs a new instance of the `RichTextCommand` class.
     *
     * @protected
     */
    protected constructor();
    /**
     * Gets the content editable element.
     *
     * @protected
     */
    protected get contentEditable(): ElementContentEditable | null;
    /**
     * Attaches the command to a content editable.
     *
     * @public
     * @param contentEditable - The HTMLTextAreaElement to attach the command to.
     */
    attach(contentEditable: ElementContentEditable): void;
    /**
     * Executes the command.
     *
     * @public
     */
    abstract execute(): boolean;
    /**
     * Toggles the selected text with the specified tag and delimiter.
     *
     * @protected
     * @param tagName - The tag name to wrap the text.
     * @param delimiter - The delimiter to wrap the text.
     */
    protected toggleFormatting(tagName: string, delimiter: string): boolean;
    /**
     * Checks if the selected range is fully enclosed within a specific tag and delimiter.
     *
     * @protected
     * @param tagName - The tag name to check.
     * @param delimiter - The delimiter to check.
     */
    protected isRangeEnclosedBy(tagName: string, delimiter: string): boolean;
    /**
     * Wraps the selected text with the specified tag and delimiter.
     *
     * @protected
     * @param tagName - The tag name to wrap the text with.
     * @param delimiter - The delimiter to wrap the text with.
     * @param text - The selected text to wrap.
     */
    protected wrapSelection(tagName: string, delimiter: string, text: string): void;
    /**
     * Unwraps the selected text from the specified tag and delimiter.
     *
     * @protected
     * @param tagName - The tag name to unwrap the text from.
     * @param delimiter - The delimiter to unwrap the text from.
     */
    protected unwrapSelection(tagName: string, delimiter: string): void;
}
//# sourceMappingURL=RichTextCommand.d.ts.map