/**
 * This Source Code is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
 *
 * Copyright (c) Infonomic Company Limited
 */
import * as React from 'react';
import type { DOMConversionMap, DOMExportOutput, EditorConfig, LexicalEditor, LexicalNode, NodeKey } from 'lexical';
import { DecoratorNode } from 'lexical';
import type { AdmonitionAttributes, AdmonitionType, SerializedAdmonitionNode } from './node-types';
export declare class AdmonitionNode extends DecoratorNode<React.JSX.Element> {
    __admonitionType: AdmonitionType;
    __title: string;
    __content: LexicalEditor;
    static getType(): string;
    static clone(node: AdmonitionNode): AdmonitionNode;
    static importJSON(serializedNode: SerializedAdmonitionNode): AdmonitionNode;
    static importDOM(): DOMConversionMap | null;
    constructor(admonitionType: AdmonitionType, title: string, content?: LexicalEditor, key?: NodeKey);
    exportDOM(): DOMExportOutput;
    exportJSON(): SerializedAdmonitionNode;
    isInline(): false;
    getTitle(): string;
    setTitle(title: string): void;
    getAdmonitionType(): AdmonitionType;
    setAdmonitionType(admonitionType: AdmonitionType): void;
    update(payload: AdmonitionAttributes): void;
    createDOM(config: EditorConfig): HTMLElement;
    updateDOM(prevNode: AdmonitionNode, dom: HTMLElement, config: EditorConfig): boolean;
    decorate(): React.JSX.Element;
}
export declare function $createAdmonitionNode({ admonitionType, title, content, key, }: AdmonitionAttributes): AdmonitionNode;
export declare function $isAdmonitionNode(node: LexicalNode | null | undefined): node is AdmonitionNode;
