import type { ExtractPropTypes, PropType } from 'vue';
import { nextTick } from 'vue';
import type { DropdownMenuType } from './utils';
import { QuotationColor } from '../_util/enum';
import type { Node } from './utils/graphNode';
export declare const stgyFlowProps: () => {
    relationMark: {
        type: StringConstructor;
        default: string;
    };
    startMark: {
        type: StringConstructor;
        default: string;
    };
    endMark: {
        type: StringConstructor;
        default: string;
    };
    draggable: {
        type: BooleanConstructor;
        default: boolean;
    };
    linkEditable: {
        type: BooleanConstructor;
        default: boolean;
    };
    linkDesc: {
        type: ObjectConstructor;
        default: () => void;
    };
    linkStyle: {
        type: ObjectConstructor;
        default: () => {
            hover: string;
            color: string;
            textColor: string;
            textHover: string;
            font: string;
            dotted: boolean;
            lineDash: number[];
            background: string;
        };
    };
    linkBaseStyle: {
        type: ObjectConstructor;
        default: () => {};
    };
    markLineColor: {
        type: StringConstructor;
        default: string;
    };
    origin: {
        type: ArrayConstructor;
        default: () => number[];
    };
    nodeList: {
        type: PropType<Node[]>;
        default: () => any[];
    };
    linkList: {
        type: ArrayConstructor;
        default: () => any[];
    };
    modelPathList: {
        type: ArrayConstructor;
        default: () => any[];
    };
    graphMenu: {
        type: ArrayConstructor;
        default: () => any[];
    };
    nodeMenu: {
        type: ArrayConstructor;
        default: () => any[];
    };
    linkMenu: {
        type: ArrayConstructor;
        default: () => any[];
    };
    selectedNodeId: {
        type: ArrayConstructor;
        default: () => any[];
    };
    selectedActiveId: {
        type: NumberConstructor;
        default: number;
    };
    linkPadding: {
        type: NumberConstructor;
        default: number;
    };
    enterIntercept: {
        type: FunctionConstructor;
        default: () => boolean;
    };
    outputIntercept: {
        type: FunctionConstructor;
        default: () => boolean;
    };
    merge: {
        type: BooleanConstructor;
        default: boolean;
    };
    menus: {
        type: PropType<DropdownMenuType[]>;
        default: () => any[];
    };
    readonly: {
        type: BooleanConstructor;
        default: boolean;
    };
    quotationColor: {
        type: PropType<QuotationColor>;
        default: QuotationColor;
    };
};
export declare type StgyFlowProps = Partial<ExtractPropTypes<ReturnType<typeof stgyFlowProps>>>;
declare const _default: {
    new (...args: any[]): {
        $: import("vue").ComponentInternalInstance;
        $data: {};
        $props: Partial<{
            readonly: boolean;
            draggable: boolean;
            origin: unknown[];
            quotationColor: QuotationColor;
            merge: boolean;
            linkDesc: Record<string, any>;
            linkStyle: Record<string, any>;
            nodeList: Node[];
            modelPathList: unknown[];
            linkBaseStyle: Record<string, any>;
            selectedActiveId: number;
            menus: DropdownMenuType[];
            linkList: unknown[];
            selectedNodeId: unknown[];
            relationMark: string;
            startMark: string;
            endMark: string;
            linkEditable: boolean;
            markLineColor: string;
            graphMenu: unknown[];
            nodeMenu: unknown[];
            linkMenu: unknown[];
            linkPadding: number;
            enterIntercept: Function;
            outputIntercept: Function;
        }> & Omit<Readonly<ExtractPropTypes<{
            relationMark: {
                type: StringConstructor;
                default: string;
            };
            startMark: {
                type: StringConstructor;
                default: string;
            };
            endMark: {
                type: StringConstructor;
                default: string;
            };
            draggable: {
                type: BooleanConstructor;
                default: boolean;
            };
            linkEditable: {
                type: BooleanConstructor;
                default: boolean;
            };
            linkDesc: {
                type: ObjectConstructor;
                default: () => void;
            };
            linkStyle: {
                type: ObjectConstructor;
                default: () => {
                    hover: string;
                    color: string;
                    textColor: string;
                    textHover: string;
                    font: string;
                    dotted: boolean;
                    lineDash: number[];
                    background: string;
                };
            };
            linkBaseStyle: {
                type: ObjectConstructor;
                default: () => {};
            };
            markLineColor: {
                type: StringConstructor;
                default: string;
            };
            origin: {
                type: ArrayConstructor;
                default: () => number[];
            };
            nodeList: {
                type: PropType<Node[]>;
                default: () => any[];
            };
            linkList: {
                type: ArrayConstructor;
                default: () => any[];
            };
            modelPathList: {
                type: ArrayConstructor;
                default: () => any[];
            };
            graphMenu: {
                type: ArrayConstructor;
                default: () => any[];
            };
            nodeMenu: {
                type: ArrayConstructor;
                default: () => any[];
            };
            linkMenu: {
                type: ArrayConstructor;
                default: () => any[];
            };
            selectedNodeId: {
                type: ArrayConstructor;
                default: () => any[];
            };
            selectedActiveId: {
                type: NumberConstructor;
                default: number;
            };
            linkPadding: {
                type: NumberConstructor;
                default: number;
            };
            enterIntercept: {
                type: FunctionConstructor;
                default: () => boolean;
            };
            outputIntercept: {
                type: FunctionConstructor;
                default: () => boolean;
            };
            merge: {
                type: BooleanConstructor;
                default: boolean;
            };
            menus: {
                type: PropType<DropdownMenuType[]>;
                default: () => any[];
            };
            readonly: {
                type: BooleanConstructor;
                default: boolean;
            };
            quotationColor: {
                type: PropType<QuotationColor>;
                default: QuotationColor;
            };
        }>> & {
            "onNode-select"?: (...args: any[]) => any;
            "onNode-insert"?: (...args: any[]) => any;
            "onNode-delete"?: (...args: any[]) => any;
            "onLink-select"?: (...args: any[]) => any;
            "onMenu-click"?: (...args: any[]) => any;
            "onNode-append"?: (...args: any[]) => any;
            "onNode-append-before"?: (...args: any[]) => any;
            "onNode-click"?: (...args: any[]) => any;
        } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "readonly" | "draggable" | "origin" | "quotationColor" | "merge" | "linkDesc" | "linkStyle" | "nodeList" | "modelPathList" | "linkBaseStyle" | "selectedActiveId" | "menus" | "linkList" | "selectedNodeId" | "relationMark" | "startMark" | "endMark" | "linkEditable" | "markLineColor" | "graphMenu" | "nodeMenu" | "linkMenu" | "linkPadding" | "enterIntercept" | "outputIntercept">;
        $attrs: {
            [x: string]: unknown;
        };
        $refs: {
            [x: string]: unknown;
        };
        $slots: Readonly<{
            [name: string]: import("vue").Slot;
        }>;
        $root: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}>;
        $parent: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}>;
        $emit: (event: "node-select" | "node-insert" | "node-delete" | "link-select" | "menu-click" | "node-append" | "node-append-before" | "node-click", ...args: any[]) => void;
        $el: any;
        $options: import("vue").ComponentOptionsBase<Readonly<ExtractPropTypes<{
            relationMark: {
                type: StringConstructor;
                default: string;
            };
            startMark: {
                type: StringConstructor;
                default: string;
            };
            endMark: {
                type: StringConstructor;
                default: string;
            };
            draggable: {
                type: BooleanConstructor;
                default: boolean;
            };
            linkEditable: {
                type: BooleanConstructor;
                default: boolean;
            };
            linkDesc: {
                type: ObjectConstructor;
                default: () => void;
            };
            linkStyle: {
                type: ObjectConstructor;
                default: () => {
                    hover: string;
                    color: string;
                    textColor: string;
                    textHover: string;
                    font: string;
                    dotted: boolean;
                    lineDash: number[];
                    background: string;
                };
            };
            linkBaseStyle: {
                type: ObjectConstructor;
                default: () => {};
            };
            markLineColor: {
                type: StringConstructor;
                default: string;
            };
            origin: {
                type: ArrayConstructor;
                default: () => number[];
            };
            nodeList: {
                type: PropType<Node[]>;
                default: () => any[];
            };
            linkList: {
                type: ArrayConstructor;
                default: () => any[];
            };
            modelPathList: {
                type: ArrayConstructor;
                default: () => any[];
            };
            graphMenu: {
                type: ArrayConstructor;
                default: () => any[];
            };
            nodeMenu: {
                type: ArrayConstructor;
                default: () => any[];
            };
            linkMenu: {
                type: ArrayConstructor;
                default: () => any[];
            };
            selectedNodeId: {
                type: ArrayConstructor;
                default: () => any[];
            };
            selectedActiveId: {
                type: NumberConstructor;
                default: number;
            };
            linkPadding: {
                type: NumberConstructor;
                default: number;
            };
            enterIntercept: {
                type: FunctionConstructor;
                default: () => boolean;
            };
            outputIntercept: {
                type: FunctionConstructor;
                default: () => boolean;
            };
            merge: {
                type: BooleanConstructor;
                default: boolean;
            };
            menus: {
                type: PropType<DropdownMenuType[]>;
                default: () => any[];
            };
            readonly: {
                type: BooleanConstructor;
                default: boolean;
            };
            quotationColor: {
                type: PropType<QuotationColor>;
                default: QuotationColor;
            };
        }>> & {
            "onNode-select"?: (...args: any[]) => any;
            "onNode-insert"?: (...args: any[]) => any;
            "onNode-delete"?: (...args: any[]) => any;
            "onLink-select"?: (...args: any[]) => any;
            "onMenu-click"?: (...args: any[]) => any;
            "onNode-append"?: (...args: any[]) => any;
            "onNode-append-before"?: (...args: any[]) => any;
            "onNode-click"?: (...args: any[]) => any;
        }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("node-select" | "node-insert" | "node-delete" | "link-select" | "menu-click" | "node-append" | "node-append-before" | "node-click")[], string, {
            readonly: boolean;
            draggable: boolean;
            origin: unknown[];
            quotationColor: QuotationColor;
            merge: boolean;
            linkDesc: Record<string, any>;
            linkStyle: Record<string, any>;
            nodeList: Node[];
            modelPathList: unknown[];
            linkBaseStyle: Record<string, any>;
            selectedActiveId: number;
            menus: DropdownMenuType[];
            linkList: unknown[];
            selectedNodeId: unknown[];
            relationMark: string;
            startMark: string;
            endMark: string;
            linkEditable: boolean;
            markLineColor: string;
            graphMenu: unknown[];
            nodeMenu: unknown[];
            linkMenu: unknown[];
            linkPadding: number;
            enterIntercept: Function;
            outputIntercept: Function;
        }, {}, string> & {
            beforeCreate?: (() => void) | (() => void)[];
            created?: (() => void) | (() => void)[];
            beforeMount?: (() => void) | (() => void)[];
            mounted?: (() => void) | (() => void)[];
            beforeUpdate?: (() => void) | (() => void)[];
            updated?: (() => void) | (() => void)[];
            activated?: (() => void) | (() => void)[];
            deactivated?: (() => void) | (() => void)[];
            beforeDestroy?: (() => void) | (() => void)[];
            beforeUnmount?: (() => void) | (() => void)[];
            destroyed?: (() => void) | (() => void)[];
            unmounted?: (() => void) | (() => void)[];
            renderTracked?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
            renderTriggered?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
            errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}>, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}>, info: string) => boolean | void)[];
        };
        $forceUpdate: () => void;
        $nextTick: typeof nextTick;
        $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R) => any : (...args: any) => any, options?: import("vue").WatchOptions<boolean>): import("vue").WatchStopHandle;
    } & Readonly<ExtractPropTypes<{
        relationMark: {
            type: StringConstructor;
            default: string;
        };
        startMark: {
            type: StringConstructor;
            default: string;
        };
        endMark: {
            type: StringConstructor;
            default: string;
        };
        draggable: {
            type: BooleanConstructor;
            default: boolean;
        };
        linkEditable: {
            type: BooleanConstructor;
            default: boolean;
        };
        linkDesc: {
            type: ObjectConstructor;
            default: () => void;
        };
        linkStyle: {
            type: ObjectConstructor;
            default: () => {
                hover: string;
                color: string;
                textColor: string;
                textHover: string;
                font: string;
                dotted: boolean;
                lineDash: number[];
                background: string;
            };
        };
        linkBaseStyle: {
            type: ObjectConstructor;
            default: () => {};
        };
        markLineColor: {
            type: StringConstructor;
            default: string;
        };
        origin: {
            type: ArrayConstructor;
            default: () => number[];
        };
        nodeList: {
            type: PropType<Node[]>;
            default: () => any[];
        };
        linkList: {
            type: ArrayConstructor;
            default: () => any[];
        };
        modelPathList: {
            type: ArrayConstructor;
            default: () => any[];
        };
        graphMenu: {
            type: ArrayConstructor;
            default: () => any[];
        };
        nodeMenu: {
            type: ArrayConstructor;
            default: () => any[];
        };
        linkMenu: {
            type: ArrayConstructor;
            default: () => any[];
        };
        selectedNodeId: {
            type: ArrayConstructor;
            default: () => any[];
        };
        selectedActiveId: {
            type: NumberConstructor;
            default: number;
        };
        linkPadding: {
            type: NumberConstructor;
            default: number;
        };
        enterIntercept: {
            type: FunctionConstructor;
            default: () => boolean;
        };
        outputIntercept: {
            type: FunctionConstructor;
            default: () => boolean;
        };
        merge: {
            type: BooleanConstructor;
            default: boolean;
        };
        menus: {
            type: PropType<DropdownMenuType[]>;
            default: () => any[];
        };
        readonly: {
            type: BooleanConstructor;
            default: boolean;
        };
        quotationColor: {
            type: PropType<QuotationColor>;
            default: QuotationColor;
        };
    }>> & {
        "onNode-select"?: (...args: any[]) => any;
        "onNode-insert"?: (...args: any[]) => any;
        "onNode-delete"?: (...args: any[]) => any;
        "onLink-select"?: (...args: any[]) => any;
        "onMenu-click"?: (...args: any[]) => any;
        "onNode-append"?: (...args: any[]) => any;
        "onNode-append-before"?: (...args: any[]) => any;
        "onNode-click"?: (...args: any[]) => any;
    } & import("vue").ShallowUnwrapRef<() => JSX.Element> & {} & import("vue").ComponentCustomProperties & {};
    __isFragment?: never;
    __isTeleport?: never;
    __isSuspense?: never;
} & import("vue").ComponentOptionsBase<Readonly<ExtractPropTypes<{
    relationMark: {
        type: StringConstructor;
        default: string;
    };
    startMark: {
        type: StringConstructor;
        default: string;
    };
    endMark: {
        type: StringConstructor;
        default: string;
    };
    draggable: {
        type: BooleanConstructor;
        default: boolean;
    };
    linkEditable: {
        type: BooleanConstructor;
        default: boolean;
    };
    linkDesc: {
        type: ObjectConstructor;
        default: () => void;
    };
    linkStyle: {
        type: ObjectConstructor;
        default: () => {
            hover: string;
            color: string;
            textColor: string;
            textHover: string;
            font: string;
            dotted: boolean;
            lineDash: number[];
            background: string;
        };
    };
    linkBaseStyle: {
        type: ObjectConstructor;
        default: () => {};
    };
    markLineColor: {
        type: StringConstructor;
        default: string;
    };
    origin: {
        type: ArrayConstructor;
        default: () => number[];
    };
    nodeList: {
        type: PropType<Node[]>;
        default: () => any[];
    };
    linkList: {
        type: ArrayConstructor;
        default: () => any[];
    };
    modelPathList: {
        type: ArrayConstructor;
        default: () => any[];
    };
    graphMenu: {
        type: ArrayConstructor;
        default: () => any[];
    };
    nodeMenu: {
        type: ArrayConstructor;
        default: () => any[];
    };
    linkMenu: {
        type: ArrayConstructor;
        default: () => any[];
    };
    selectedNodeId: {
        type: ArrayConstructor;
        default: () => any[];
    };
    selectedActiveId: {
        type: NumberConstructor;
        default: number;
    };
    linkPadding: {
        type: NumberConstructor;
        default: number;
    };
    enterIntercept: {
        type: FunctionConstructor;
        default: () => boolean;
    };
    outputIntercept: {
        type: FunctionConstructor;
        default: () => boolean;
    };
    merge: {
        type: BooleanConstructor;
        default: boolean;
    };
    menus: {
        type: PropType<DropdownMenuType[]>;
        default: () => any[];
    };
    readonly: {
        type: BooleanConstructor;
        default: boolean;
    };
    quotationColor: {
        type: PropType<QuotationColor>;
        default: QuotationColor;
    };
}>> & {
    "onNode-select"?: (...args: any[]) => any;
    "onNode-insert"?: (...args: any[]) => any;
    "onNode-delete"?: (...args: any[]) => any;
    "onLink-select"?: (...args: any[]) => any;
    "onMenu-click"?: (...args: any[]) => any;
    "onNode-append"?: (...args: any[]) => any;
    "onNode-append-before"?: (...args: any[]) => any;
    "onNode-click"?: (...args: any[]) => any;
}, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("node-select" | "node-insert" | "node-delete" | "link-select" | "menu-click" | "node-append" | "node-append-before" | "node-click")[], "node-select" | "node-insert" | "node-delete" | "link-select" | "menu-click" | "node-append" | "node-append-before" | "node-click", {
    readonly: boolean;
    draggable: boolean;
    origin: unknown[];
    quotationColor: QuotationColor;
    merge: boolean;
    linkDesc: Record<string, any>;
    linkStyle: Record<string, any>;
    nodeList: Node[];
    modelPathList: unknown[];
    linkBaseStyle: Record<string, any>;
    selectedActiveId: number;
    menus: DropdownMenuType[];
    linkList: unknown[];
    selectedNodeId: unknown[];
    relationMark: string;
    startMark: string;
    endMark: string;
    linkEditable: boolean;
    markLineColor: string;
    graphMenu: unknown[];
    nodeMenu: unknown[];
    linkMenu: unknown[];
    linkPadding: number;
    enterIntercept: Function;
    outputIntercept: Function;
}, {}, string> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & import("@vue/runtime-core").Plugin<any[]>;
export default _default;
