import { type Editor } from 'slate';
import { type RenderElementProps } from 'slate-react';
import { type RenderElement } from '../../controls/rich-text-v2/plugin';
export declare const withLink: (editor: Editor) => import("..").MakeswiftEditor;
export declare function LinkPlugin(): {
    control: import("@makeswift/controls").RichTextPluginControl<import("../../controls/link").LinkDefinition, {
        type: "OPEN_PAGE";
        payload: {
            openInNewTab: boolean;
            pageId: string | null | undefined;
        };
    } | {
        type: "OPEN_URL";
        payload: {
            url: string;
            openInNewTab: boolean;
        };
    } | {
        type: "SEND_EMAIL";
        payload: {
            to: string;
            subject?: string | undefined;
            body?: string | undefined;
        };
    } | {
        type: "CALL_PHONE";
        payload: {
            phoneNumber: string;
        };
    } | {
        type: "SCROLL_TO_ELEMENT";
        payload: {
            elementIdConfig: {
                elementKey: string;
                propName: string;
            } | null | undefined;
            block: "start" | "center" | "end" | "nearest";
        };
    } | null> | undefined;
    withPlugin: ((editor: Editor) => Editor) | undefined;
    onKeyDown: ((event: import("react").KeyboardEvent, editor: Editor) => void) | undefined;
    renderElement: ((renderElement: RenderElement, value: any) => (props: RenderElementProps) => import("react").ReactNode) | undefined;
    renderLeaf: ((renderLeaf: import("../../controls/rich-text-v2/plugin").RenderLeaf, value: any) => (props: import("slate-react").RenderLeafProps) => import("react").ReactNode) | undefined;
};
//# sourceMappingURL=index.d.ts.map