import { INode, ILink, ITool, IDragInfo } from '../../../type/index';
import { PropType } from 'vue';

declare const _default: import('vue').DefineComponent<{
    data: {
        type: ObjectConstructor;
        default: () => {};
    };
    config: {
        type: ObjectConstructor;
        default: () => {};
    };
    plumb: {
        type: ObjectConstructor;
        default: () => {};
    };
    select: {
        type: PropType<INode | ILink>;
        default: () => {};
    };
    selectGroup: {
        type: PropType<INode[]>;
        default: () => never[];
    };
    currentTool: {
        type: PropType<ITool>;
        default: () => {};
    };
    dragInfo: {
        type: PropType<IDragInfo>;
        default: () => {};
    };
}, {
    container: {
        pos: {
            top: number;
            left: number;
        };
        dragFlag: boolean;
        draging: boolean;
        scale: any;
        scaleFlag: boolean;
        scaleOrigin: {
            x: number;
            y: number;
        };
        scaleShow: number;
        auxiliaryLine: {
            isOpen: any;
            isShowXLine: boolean;
            isShowYLine: boolean;
            controlFnTimesFlag: boolean;
        };
    };
    rectangleMultiple: {
        flag: boolean;
        multipling: boolean;
        position: {
            top: number;
            left: number;
        };
        height: number;
        width: number;
    };
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    "update:select": (...args: any[]) => void;
    "update:selectGroup": (...args: any[]) => void;
    selectTool: (...args: any[]) => void;
    onShortcutKey: (...args: any[]) => void;
    saveFlow: (...args: any[]) => void;
    "update:data": (...args: any[]) => void;
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    data: {
        type: ObjectConstructor;
        default: () => {};
    };
    config: {
        type: ObjectConstructor;
        default: () => {};
    };
    plumb: {
        type: ObjectConstructor;
        default: () => {};
    };
    select: {
        type: PropType<INode | ILink>;
        default: () => {};
    };
    selectGroup: {
        type: PropType<INode[]>;
        default: () => never[];
    };
    currentTool: {
        type: PropType<ITool>;
        default: () => {};
    };
    dragInfo: {
        type: PropType<IDragInfo>;
        default: () => {};
    };
}>> & {
    "onUpdate:select"?: ((...args: any[]) => any) | undefined;
    "onUpdate:selectGroup"?: ((...args: any[]) => any) | undefined;
    onSelectTool?: ((...args: any[]) => any) | undefined;
    onOnShortcutKey?: ((...args: any[]) => any) | undefined;
    onSaveFlow?: ((...args: any[]) => any) | undefined;
    "onUpdate:data"?: ((...args: any[]) => any) | undefined;
}, {
    data: Record<string, any>;
    select: INode | ILink;
    selectGroup: INode[];
    config: Record<string, any>;
    plumb: Record<string, any>;
    currentTool: ITool;
    dragInfo: IDragInfo;
}, {}>;
export default _default;
