import { LinkAttributes, LinkNode, SerializedLinkNode } from "@lexical/link";
import { DOMConversionMap, EditorConfig, ElementNode, LexicalNode, LexicalUpdateJSON, NodeKey, RangeSelection, Spread } from "lexical";
export type AccessibleLinkAttributes = LinkAttributes & {
    ariaLabel?: null | string;
    qrCode?: boolean;
    add?: null | string;
    text?: null | string;
};
export type SerializedAccessibleLinkNode = Spread<{
    ariaLabel: null | string;
    qrCode: boolean;
    add: null | string;
    text: null | string;
}, SerializedLinkNode>;
export declare class AccessibleLinkNode extends LinkNode {
    __ariaLabel: null | string;
    __qrCode: boolean;
    __add: null | string;
    __text: null | string;
    static getType(): string;
    static clone(node: AccessibleLinkNode): AccessibleLinkNode;
    constructor(url?: string, attributes?: AccessibleLinkAttributes, key?: NodeKey);
    static importDOM(): DOMConversionMap | null;
    static importJSON(serializedNode: SerializedAccessibleLinkNode): AccessibleLinkNode;
    updateFromJSON(serializedNode: LexicalUpdateJSON<SerializedAccessibleLinkNode>): this;
    exportJSON(): SerializedAccessibleLinkNode;
    createDOM(config: EditorConfig): HTMLElement;
    updateDOM(prevNode: this, anchor: HTMLElement, config: EditorConfig): boolean;
    applyAccessibleAttributes(prevNode: this | null, anchor: HTMLElement): void;
    insertNewAfter(_selection: RangeSelection, restoreSelection?: boolean): null | ElementNode;
    getAriaLabel(): null | string;
    setAriaLabel(ariaLabel: null | string): this;
    getQrCode(): boolean;
    setQrCode(qrCode: boolean): this;
    getAdd(): null | string;
    setAdd(add: null | string): this;
    getText(): null | string;
    setText(text: null | string): this;
}
export declare const $createAccessibleLinkNode: (url?: string, attributes?: AccessibleLinkAttributes) => AccessibleLinkNode;
export declare const $isAccessibleLinkNode: (node: LexicalNode | null | undefined) => node is AccessibleLinkNode;
//# sourceMappingURL=AccessibleLinkNode.d.ts.map