import type { ExtractPropTypes, PropType } from 'vue';
import { nextTick } from 'vue';
import { QuotationColor } from '../_util/enum';
import { TreeNodeType, type DropdownMenu } from './utils/types';
import type { Link, Node } from './utils/model';
export declare const stgyGraphProps: () => {
    relationMark: {
        type: StringConstructor;
        default: string;
    };
    startMark: {
        type: StringConstructor;
        default: string;
    };
    endMark: {
        type: StringConstructor;
        default: string;
    };
    draggable: {
        type: BooleanConstructor;
        default: boolean;
    };
    miniStartNode: {
        type: BooleanConstructor;
        default: boolean;
    };
    origin: {
        type: PropType<number[]>;
        default: () => number[];
    };
    nodeList: {
        type: PropType<Node[]>;
        default: () => any[];
    };
    linkList: {
        type: PropType<Link[]>;
        default: () => any[];
    };
    menus: {
        type: PropType<DropdownMenu[]>;
        default: () => {
            name: string;
            value: TreeNodeType;
            disabled: boolean;
        }[];
    };
    selectedNodeId: {
        type: PropType<string[]>;
        default: () => any[];
    };
    selectedActiveId: {
        type: NumberConstructor;
        default: number;
    };
    linkPadding: {
        type: NumberConstructor;
        default: number;
    };
    merge: {
        type: BooleanConstructor;
        default: boolean;
    };
    readonly: {
        type: BooleanConstructor;
        default: boolean;
    };
    quotationColor: {
        type: PropType<QuotationColor>;
        default: QuotationColor;
    };
    hiddenAppend: {
        type: BooleanConstructor;
        default: boolean;
    };
};
export declare type StgyGraphProps = Partial<ExtractPropTypes<ReturnType<typeof stgyGraphProps>>>;
declare const _default: {
    new (...args: any[]): {
        $: import("vue").ComponentInternalInstance;
        $data: {};
        $props: Partial<{
            readonly: boolean;
            draggable: boolean;
            origin: number[];
            quotationColor: QuotationColor;
            merge: boolean;
            nodeList: Node[];
            selectedActiveId: number;
            menus: DropdownMenu[];
            linkList: Link[];
            selectedNodeId: string[];
            relationMark: string;
            startMark: string;
            endMark: string;
            linkPadding: number;
            miniStartNode: boolean;
            hiddenAppend: boolean;
        }> & Omit<Readonly<ExtractPropTypes<{
            relationMark: {
                type: StringConstructor;
                default: string;
            };
            startMark: {
                type: StringConstructor;
                default: string;
            };
            endMark: {
                type: StringConstructor;
                default: string;
            };
            draggable: {
                type: BooleanConstructor;
                default: boolean;
            };
            miniStartNode: {
                type: BooleanConstructor;
                default: boolean;
            };
            origin: {
                type: PropType<number[]>;
                default: () => number[];
            };
            nodeList: {
                type: PropType<Node[]>;
                default: () => any[];
            };
            linkList: {
                type: PropType<Link[]>;
                default: () => any[];
            };
            menus: {
                type: PropType<DropdownMenu[]>;
                default: () => {
                    name: string;
                    value: TreeNodeType;
                    disabled: boolean;
                }[];
            };
            selectedNodeId: {
                type: PropType<string[]>;
                default: () => any[];
            };
            selectedActiveId: {
                type: NumberConstructor;
                default: number;
            };
            linkPadding: {
                type: NumberConstructor;
                default: number;
            };
            merge: {
                type: BooleanConstructor;
                default: boolean;
            };
            readonly: {
                type: BooleanConstructor;
                default: boolean;
            };
            quotationColor: {
                type: PropType<QuotationColor>;
                default: QuotationColor;
            };
            hiddenAppend: {
                type: BooleanConstructor;
                default: boolean;
            };
        }>> & {
            "onNode-insert"?: (...args: any[]) => any;
            "onNode-delete"?: (...args: any[]) => any;
            "onMenu-click"?: (...args: any[]) => any;
            "onNode-append"?: (...args: any[]) => any;
            "onNode-click"?: (...args: any[]) => any;
            "onNode-shrink"?: (...args: any[]) => any;
            "onLink-click"?: (...args: any[]) => any;
            "onNode-drag-end"?: (...args: any[]) => any;
        } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "readonly" | "draggable" | "origin" | "quotationColor" | "merge" | "nodeList" | "selectedActiveId" | "menus" | "linkList" | "selectedNodeId" | "relationMark" | "startMark" | "endMark" | "linkPadding" | "miniStartNode" | "hiddenAppend">;
        $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-insert" | "node-delete" | "node-shrink" | "menu-click" | "node-append" | "node-click" | "link-click" | "node-drag-end", ...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;
            };
            miniStartNode: {
                type: BooleanConstructor;
                default: boolean;
            };
            origin: {
                type: PropType<number[]>;
                default: () => number[];
            };
            nodeList: {
                type: PropType<Node[]>;
                default: () => any[];
            };
            linkList: {
                type: PropType<Link[]>;
                default: () => any[];
            };
            menus: {
                type: PropType<DropdownMenu[]>;
                default: () => {
                    name: string;
                    value: TreeNodeType;
                    disabled: boolean;
                }[];
            };
            selectedNodeId: {
                type: PropType<string[]>;
                default: () => any[];
            };
            selectedActiveId: {
                type: NumberConstructor;
                default: number;
            };
            linkPadding: {
                type: NumberConstructor;
                default: number;
            };
            merge: {
                type: BooleanConstructor;
                default: boolean;
            };
            readonly: {
                type: BooleanConstructor;
                default: boolean;
            };
            quotationColor: {
                type: PropType<QuotationColor>;
                default: QuotationColor;
            };
            hiddenAppend: {
                type: BooleanConstructor;
                default: boolean;
            };
        }>> & {
            "onNode-insert"?: (...args: any[]) => any;
            "onNode-delete"?: (...args: any[]) => any;
            "onMenu-click"?: (...args: any[]) => any;
            "onNode-append"?: (...args: any[]) => any;
            "onNode-click"?: (...args: any[]) => any;
            "onNode-shrink"?: (...args: any[]) => any;
            "onLink-click"?: (...args: any[]) => any;
            "onNode-drag-end"?: (...args: any[]) => any;
        }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("node-insert" | "node-delete" | "node-shrink" | "menu-click" | "node-append" | "node-click" | "link-click" | "node-drag-end")[], string, {
            readonly: boolean;
            draggable: boolean;
            origin: number[];
            quotationColor: QuotationColor;
            merge: boolean;
            nodeList: Node[];
            selectedActiveId: number;
            menus: DropdownMenu[];
            linkList: Link[];
            selectedNodeId: string[];
            relationMark: string;
            startMark: string;
            endMark: string;
            linkPadding: number;
            miniStartNode: boolean;
            hiddenAppend: boolean;
        }, {}, 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;
        };
        miniStartNode: {
            type: BooleanConstructor;
            default: boolean;
        };
        origin: {
            type: PropType<number[]>;
            default: () => number[];
        };
        nodeList: {
            type: PropType<Node[]>;
            default: () => any[];
        };
        linkList: {
            type: PropType<Link[]>;
            default: () => any[];
        };
        menus: {
            type: PropType<DropdownMenu[]>;
            default: () => {
                name: string;
                value: TreeNodeType;
                disabled: boolean;
            }[];
        };
        selectedNodeId: {
            type: PropType<string[]>;
            default: () => any[];
        };
        selectedActiveId: {
            type: NumberConstructor;
            default: number;
        };
        linkPadding: {
            type: NumberConstructor;
            default: number;
        };
        merge: {
            type: BooleanConstructor;
            default: boolean;
        };
        readonly: {
            type: BooleanConstructor;
            default: boolean;
        };
        quotationColor: {
            type: PropType<QuotationColor>;
            default: QuotationColor;
        };
        hiddenAppend: {
            type: BooleanConstructor;
            default: boolean;
        };
    }>> & {
        "onNode-insert"?: (...args: any[]) => any;
        "onNode-delete"?: (...args: any[]) => any;
        "onMenu-click"?: (...args: any[]) => any;
        "onNode-append"?: (...args: any[]) => any;
        "onNode-click"?: (...args: any[]) => any;
        "onNode-shrink"?: (...args: any[]) => any;
        "onLink-click"?: (...args: any[]) => any;
        "onNode-drag-end"?: (...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;
    };
    miniStartNode: {
        type: BooleanConstructor;
        default: boolean;
    };
    origin: {
        type: PropType<number[]>;
        default: () => number[];
    };
    nodeList: {
        type: PropType<Node[]>;
        default: () => any[];
    };
    linkList: {
        type: PropType<Link[]>;
        default: () => any[];
    };
    menus: {
        type: PropType<DropdownMenu[]>;
        default: () => {
            name: string;
            value: TreeNodeType;
            disabled: boolean;
        }[];
    };
    selectedNodeId: {
        type: PropType<string[]>;
        default: () => any[];
    };
    selectedActiveId: {
        type: NumberConstructor;
        default: number;
    };
    linkPadding: {
        type: NumberConstructor;
        default: number;
    };
    merge: {
        type: BooleanConstructor;
        default: boolean;
    };
    readonly: {
        type: BooleanConstructor;
        default: boolean;
    };
    quotationColor: {
        type: PropType<QuotationColor>;
        default: QuotationColor;
    };
    hiddenAppend: {
        type: BooleanConstructor;
        default: boolean;
    };
}>> & {
    "onNode-insert"?: (...args: any[]) => any;
    "onNode-delete"?: (...args: any[]) => any;
    "onMenu-click"?: (...args: any[]) => any;
    "onNode-append"?: (...args: any[]) => any;
    "onNode-click"?: (...args: any[]) => any;
    "onNode-shrink"?: (...args: any[]) => any;
    "onLink-click"?: (...args: any[]) => any;
    "onNode-drag-end"?: (...args: any[]) => any;
}, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("node-insert" | "node-delete" | "node-shrink" | "menu-click" | "node-append" | "node-click" | "link-click" | "node-drag-end")[], "node-insert" | "node-delete" | "node-shrink" | "menu-click" | "node-append" | "node-click" | "link-click" | "node-drag-end", {
    readonly: boolean;
    draggable: boolean;
    origin: number[];
    quotationColor: QuotationColor;
    merge: boolean;
    nodeList: Node[];
    selectedActiveId: number;
    menus: DropdownMenu[];
    linkList: Link[];
    selectedNodeId: string[];
    relationMark: string;
    startMark: string;
    endMark: string;
    linkPadding: number;
    miniStartNode: boolean;
    hiddenAppend: boolean;
}, {}, string> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & import("@vue/runtime-core").Plugin<any[]>;
export default _default;
