import { DOMExportOutput, EditorConfig, LexicalNode, NodeKey, SerializedTextNode, Spread, TextNode } from 'lexical';
import { SCCategoryType } from '@selfcommunity/types';
import { DOMConversionMap } from 'lexical/LexicalNode';
export type SerializedHashtagNode = Spread<{
    category: SCCategoryType;
    type: 'hashtag';
    version: 1;
}, SerializedTextNode>;
export declare class HashtagNode extends TextNode {
    __category: SCCategoryType;
    static getType(): string;
    static clone(node: HashtagNode): HashtagNode;
    constructor(category: SCCategoryType, text?: string, key?: NodeKey);
    createDOM(config: any): HTMLElement;
    updateDOM(prevNode: TextNode, dom: HTMLElement, config: EditorConfig): boolean;
    static importDOM(): DOMConversionMap | null;
    exportDOM(): DOMExportOutput;
    isTextEntity(): true;
    static importJSON(serializedNode: SerializedHashtagNode): HashtagNode;
    exportJSON(): SerializedHashtagNode;
}
export declare function createHashtagNode(category: SCCategoryType): HashtagNode;
export declare function isHashtagNode(node?: LexicalNode): boolean;
