import type { Spread } from 'lexical';
import { type DOMConversionMap, type EditorConfig, type LexicalNode, type NodeKey, type SerializedTextNode, TextNode, LexicalEditor } from 'lexical';
import { PropertyDataSet } from '../lexical-editor.types';
export type SerializedPropertySelectorNode = Spread<{
    data: PropertyDataSet;
}, SerializedTextNode>;
export declare const propertySelectorClassName = "property-selector";
export declare class PropertySelectorNode extends TextNode {
    __data: PropertyDataSet;
    static getType(): string;
    static clone(node: PropertySelectorNode): PropertySelectorNode;
    static importJSON(serializedNode: SerializedPropertySelectorNode): PropertySelectorNode;
    constructor(data: PropertyDataSet, key?: NodeKey);
    exportJSON(): SerializedPropertySelectorNode;
    createDOM(config: EditorConfig, editor: LexicalEditor): HTMLElement;
    exportDOM(): {
        element: HTMLElement;
    };
    static importDOM(): DOMConversionMap | null;
    isTextEntity(): true;
    canInsertTextBefore(): boolean;
    canInsertTextAfter(): boolean;
}
export declare function $createPropertySelectorNode(data: PropertyDataSet): PropertySelectorNode;
export declare function $isPropertySelectorNode(node: LexicalNode | null | undefined): node is PropertySelectorNode;
