import type { ExtractPropTypes, PropType } from 'vue';
import type { DropdownMenuType } from './utils';
import type { Link } from './utils/graphLink';
export declare const nodeProps: () => {
    graph: ObjectConstructor;
    node: ObjectConstructor;
    index: NumberConstructor;
    isMove: BooleanConstructor;
    isTemEdge: BooleanConstructor;
    nodeIntercept: FunctionConstructor;
    lineDrop: BooleanConstructor;
    nodeDrop: BooleanConstructor;
    className: StringConstructor;
    nodeList: {
        type: ArrayConstructor;
        default: () => any[];
    };
    linkList: {
        type: PropType<Link[]>;
        default: () => any[];
    };
    modelPathList: {
        type: ArrayConstructor;
        default: () => any[];
    };
    merge: BooleanConstructor;
    selectedNodeId: ArrayConstructor;
    disabledLine: {
        type: BooleanConstructor;
        default: boolean;
    };
    nodeMousedown: FunctionConstructor;
    nodeMouseenter: FunctionConstructor;
    nodeMouseleave: FunctionConstructor;
    nodeMouseup: FunctionConstructor;
    nodeSelect: FunctionConstructor;
    nodeDelete: FunctionConstructor;
    nodeShrink: FunctionConstructor;
    menuClick: FunctionConstructor;
    menus: PropType<DropdownMenuType[]>;
    readonly: BooleanConstructor;
    getMenuPopupContainer: {
        type: PropType<(triggerNode?: HTMLElement) => HTMLElement>;
    };
    scrollRef: {
        type: ObjectConstructor;
    };
    onDrag: FunctionConstructor;
    onDragEnd: FunctionConstructor;
    dragging: BooleanConstructor;
    nodeClick: FunctionConstructor;
};
export declare type NodeProps = Partial<ExtractPropTypes<ReturnType<typeof nodeProps>>>;
declare const StgyFlowNode: import("vue").DefineComponent<{
    graph: ObjectConstructor;
    node: ObjectConstructor;
    index: NumberConstructor;
    isMove: BooleanConstructor;
    isTemEdge: BooleanConstructor;
    nodeIntercept: FunctionConstructor;
    lineDrop: BooleanConstructor;
    nodeDrop: BooleanConstructor;
    className: StringConstructor;
    nodeList: {
        type: ArrayConstructor;
        default: () => any[];
    };
    linkList: {
        type: PropType<Link[]>;
        default: () => any[];
    };
    modelPathList: {
        type: ArrayConstructor;
        default: () => any[];
    };
    merge: BooleanConstructor;
    selectedNodeId: ArrayConstructor;
    disabledLine: {
        type: BooleanConstructor;
        default: boolean;
    };
    nodeMousedown: FunctionConstructor;
    nodeMouseenter: FunctionConstructor;
    nodeMouseleave: FunctionConstructor;
    nodeMouseup: FunctionConstructor;
    nodeSelect: FunctionConstructor;
    nodeDelete: FunctionConstructor;
    nodeShrink: FunctionConstructor;
    menuClick: FunctionConstructor;
    menus: PropType<DropdownMenuType[]>;
    readonly: BooleanConstructor;
    getMenuPopupContainer: {
        type: PropType<(triggerNode?: HTMLElement) => HTMLElement>;
    };
    scrollRef: {
        type: ObjectConstructor;
    };
    onDrag: FunctionConstructor;
    onDragEnd: FunctionConstructor;
    dragging: BooleanConstructor;
    nodeClick: FunctionConstructor;
}, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("node-mousedown" | "node-select" | "node-mouseenter" | "node-mouseleave" | "node-mouseup" | "node-contextmenu" | "side-mousedown" | "node-insert")[], "node-mousedown" | "node-select" | "node-mouseenter" | "node-mouseleave" | "node-mouseup" | "node-contextmenu" | "side-mousedown" | "node-insert", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<ExtractPropTypes<{
    graph: ObjectConstructor;
    node: ObjectConstructor;
    index: NumberConstructor;
    isMove: BooleanConstructor;
    isTemEdge: BooleanConstructor;
    nodeIntercept: FunctionConstructor;
    lineDrop: BooleanConstructor;
    nodeDrop: BooleanConstructor;
    className: StringConstructor;
    nodeList: {
        type: ArrayConstructor;
        default: () => any[];
    };
    linkList: {
        type: PropType<Link[]>;
        default: () => any[];
    };
    modelPathList: {
        type: ArrayConstructor;
        default: () => any[];
    };
    merge: BooleanConstructor;
    selectedNodeId: ArrayConstructor;
    disabledLine: {
        type: BooleanConstructor;
        default: boolean;
    };
    nodeMousedown: FunctionConstructor;
    nodeMouseenter: FunctionConstructor;
    nodeMouseleave: FunctionConstructor;
    nodeMouseup: FunctionConstructor;
    nodeSelect: FunctionConstructor;
    nodeDelete: FunctionConstructor;
    nodeShrink: FunctionConstructor;
    menuClick: FunctionConstructor;
    menus: PropType<DropdownMenuType[]>;
    readonly: BooleanConstructor;
    getMenuPopupContainer: {
        type: PropType<(triggerNode?: HTMLElement) => HTMLElement>;
    };
    scrollRef: {
        type: ObjectConstructor;
    };
    onDrag: FunctionConstructor;
    onDragEnd: FunctionConstructor;
    dragging: BooleanConstructor;
    nodeClick: FunctionConstructor;
}>> & {
    "onNode-mousedown"?: (...args: any[]) => any;
    "onNode-select"?: (...args: any[]) => any;
    "onNode-mouseenter"?: (...args: any[]) => any;
    "onNode-mouseleave"?: (...args: any[]) => any;
    "onNode-mouseup"?: (...args: any[]) => any;
    "onNode-contextmenu"?: (...args: any[]) => any;
    "onSide-mousedown"?: (...args: any[]) => any;
    "onNode-insert"?: (...args: any[]) => any;
}, {
    readonly: boolean;
    dragging: boolean;
    merge: boolean;
    nodeList: unknown[];
    modelPathList: unknown[];
    linkList: Link[];
    isMove: boolean;
    isTemEdge: boolean;
    lineDrop: boolean;
    nodeDrop: boolean;
    disabledLine: boolean;
}>;
export default StgyFlowNode;
