import type { EditorConfig, LexicalNode, NodeKey, RangeSelection, SerializedElementNode, Spread } from 'lexical'; import { ElementNode, DOMConversionMap, DOMExportOutput } from 'lexical'; export type SerializedMarkNode = Spread<{ ids: Array; bgColor?: string; }, SerializedElementNode>; /** @noInheritDoc */ export declare class MarkNode extends ElementNode { __ids: string[]; __bgColor?: string; static getType(): string; static clone(node: MarkNode): MarkNode; static importDOM(): DOMConversionMap; static importJSON(serializedNode: SerializedMarkNode): MarkNode; exportJSON(): SerializedMarkNode; constructor(ids?: string[], key?: NodeKey, bgColor?: string); createDOM(config: EditorConfig): HTMLElement; updateDOM(prevNode: this, element: HTMLElement, config: EditorConfig): boolean; exportDOM(): DOMExportOutput; hasID(id: string): boolean; getIDs(): Array; setIDs(ids: string[]): this; addID(id: string): this; deleteID(id: string): void; setBgColor(value: string): this; getBgColor(): string | undefined; insertNewAfter(selection: RangeSelection, restoreSelection?: boolean): null | ElementNode; canInsertTextBefore(): false; canInsertTextAfter(): false; canBeEmpty(): false; isInline(): true; } export declare function $createMarkNode(ids?: string[], bgColor?: string): MarkNode; export declare function $isMarkNode(node: LexicalNode | null): node is MarkNode;