import type { CustomSvg, Topic } from './types/dom';
import type { MindElixirInstance, Uid } from './index';
export type LinkItem = {
    id: string;
    label: string;
    from: Uid;
    to: Uid;
    delta1: {
        x: number;
        y: number;
    };
    delta2: {
        x: number;
        y: number;
    };
};
export type DivData = {
    cx: number;
    cy: number;
    w: number;
    h: number;
    ctrlX: number;
    ctrlY: number;
};
export declare const drawCustomLink: (this: MindElixirInstance, from: Topic, to: Topic, obj: LinkItem, isInitPaint?: boolean) => void;
export declare const createLink: (this: MindElixirInstance, from: Topic, to: Topic) => void;
export declare const removeLink: (this: MindElixirInstance, linkSvg?: CustomSvg) => void;
export declare const selectLink: (this: MindElixirInstance, link: CustomSvg) => void;
export declare const unselectLink: (this: MindElixirInstance) => void;
export declare const hideLinkController: (this: MindElixirInstance) => void;
export declare const showLinkController: (this: MindElixirInstance, linkItem: LinkItem, fromData: DivData, toData: DivData) => void;
export declare function renderCustomLink(this: MindElixirInstance): void;
export declare function editCutsomLinkLabel(this: MindElixirInstance, el: CustomSvg): void;
export declare function tidyCustomLink(this: MindElixirInstance): void;
