import { ClickHandler } from "../../../basic/ClickHandler";
import { InteractiveEvent } from "../../../../../common";
import { AppEventContext } from "../../../../../app";
import { AbsProps, GraphicNode } from "../../../../../graphics";
import { IPoint, NodeType } from "../../../../../idl";
import { ConnectInfo } from "../../../../../graphics/base/NodeConnectEndType";
import { QuickCreateWorker } from "../../../../../ability/quickCreate/QuickCreateWorker";
export declare class AnchorQuickCreateHandler extends ClickHandler {
    createWorker: QuickCreateWorker;
    enable(event: InteractiveEvent, ctx: AppEventContext): boolean;
    private resolveCreateParent;
    /**
     * 处理点击快速创建锚点，有两类情况需要分开处理
     * -创建目标区域没有其他节点，创建节点+连线
     * -创建目标区域有其他节点，且没有创建过连线，这时会创建一条新的线，同时连接到已存在节点上
     * @param event
     * @param ctx
     */
    handle(event: InteractiveEvent, ctx: AppEventContext): void;
    private handleCreateLine;
    /**
     * 只创建连线并且连接
     * @param node
     * @param event
     * @param ctx
     */
    handleCreateLineAndLink(node: GraphicNode, event: InteractiveEvent, ctx: AppEventContext): void;
    /**
     * 创建节点和连线，同时连接
     * @param event
     * @param ctx
     */
    handleCreateNode(event: InteractiveEvent, ctx: AppEventContext): void;
    private ensureQuickCreateGraphVisible;
    protected getQuickCreateNodeType(startNode: GraphicNode): NodeType;
    protected makeupNodeProps(startNode: GraphicNode, nodePos: IPoint, parent: GraphicNode): Partial<AbsProps>[];
    protected makeupLineProps(start: ConnectInfo, end: ConnectInfo, parent: GraphicNode, ctx: AppEventContext): Partial<AbsProps>[];
    private createLineLayoutHandler;
}
//# sourceMappingURL=AnchorQuickCreateHandler.d.ts.map