/**
 * ClickCreateEndLineHandler - 线条创建结束处理器
 *
 * ====== 所属链路说明 ======
 * 该处理器属于「画笔/线条创建链路」(CreateLineClickMode)。
 *
 * 完整链路调用链：
 * 1. CreateLineClickMode (点击模式入口)
 *    - 条件：当前工具为 ToolEnum.LINE 时激活
 *    - 包含 CreateLineClickProcessor
 *
 * 2. CreateLineClickProcessor (点击处理器)
 *    - 注册了三个处理器：
 *      - ClickInsertBrokenPointLineHandler (mouseDown处理器)
 *      - ClickCreateEndLineHandler (mouseDown处理器) ← 当前文件
 *      - UpClickCreateLineHandler (mouseUp处理器)
 *
 * 3. 结束创建时机：
 *    - 当用户正在创建一条线条且按下鼠标时触发
 *    - 用于完成当前线条的创建并结束绘制状态
 *    - 注意：折线(BrokenLine)使用双击完成，不走此处理器
 *
 * ====== 核心逻辑说明 ======
 *
 * enable() 方法：
 * - 重置预览节点和辅助对齐线
 * - 判断是否存在正在创建的线条
 * - 只要有正在创建的线条就激活（不包括折线完成）
 *
 * handle() 方法：
 * - 获取正在创建的线条
 * - 计算起始点的连接信息
 * - 找到对应线条类型的处理器并计算结束属性
 * - 执行 EndLog 结束日志
 * - 清除正在创建的线条状态
 * - 重置工具和鼠标样式
 *
 * getStartConnectInfo() 方法：
 * - 从线条的 connectProps 获取起点信息
 * - 使用 InteractiveUtils 计算起点的完整连接信息
 *
 * ====== 处理器列表说明 ======
 * - LineCreateHandler: 直线 - 支持
 * - CurveCreateHandler: 曲线 - 支持
 * - BrokenLineCreateHandler: 折线 - 不支持（由 DbFinishBrokenLineHandler 处理）
 * - PolyLineCreateHandler: 多段线 - 支持
 *
 * ====== 与其他处理器的协作 ======
 * - UpClickCreateLineHandler: 处理线条创建起点
 * - ClickInsertBrokenPointLineHandler: 处理折线断点插入
 * - 当前处理器: 处理线条创建完成
 */
import { ClickHandler } from "../../../../basic/ClickHandler";
import { InteractiveEvent } from "../../../../../../common/index";
import { AppEventContext } from "../../../../../../app/index";
import { AbsLineCreateHandler } from "../../line/handler/AbsLineCreateHandler";
import { ConnectInfo } from "../../../../../../graphics/base/NodeConnectEndType";
import { OolongLine } from "../../../../../../graphics/index";
export declare class ClickCreateEndLineHandler extends ClickHandler {
    /**
     * 线条结束创建处理器列表
     *
     * 支持的线条类型：
     * - LineCreateHandler: 直线
     * - CurveCreateHandler: 曲线
     * - PolyLineCreateHandler: 多段线
     *
     * 折线的完成是通过双击处理器 DbFinishBrokenLineHandler 处理的
     */
    handlers: AbsLineCreateHandler[];
    /**
     * enable - 判断当前处理器是否应该激活
     *
     * 激活条件：
     * - 必须存在正在创建的线条 (creatingLine !== null)
     *
     * 作用：
     * - 重置预览节点，清除之前的预览状态
     * - 移除所有辅助对齐线，避免干扰
     */
    enable(event: InteractiveEvent, eventCtx: AppEventContext): boolean;
    /**
     * handle - 完成线条创建
     *
     * 执行流程：
     * 1. 获取正在创建的线条对象
     * 2. 计算起始点的连接信息
     * 3. 遍历处理器列表，找到支持当前线条类型的处理器
     * 4. 调用处理器的 computeUpProps 计算线条的结束属性
     * 5. 执行 EndLog 标记线条创建完成
     * 6. 清除正在创建的线条状态（setInCreatingLine(null)）
     * 7. 重置工具为默认工具
     * 8. 重置鼠标样式为默认
     *
     * 为什么折线不走这里？
     * - 折线需要多次点击添加断点，最后通过双击完成
     * - 如果点击就完成，无法添加额外的断点
     * - 所以折线有专门的双击处理器 DbFinishBrokenLineHandler
     */
    handle(event: InteractiveEvent, eventCtx: AppEventContext): void;
    /**
     * getStartConnectInfo - 获取线条起点的全局连接信息
     *
     * @param line - 正在创建的线条
     * @param ctx - 应用事件上下文
     * @returns 起点连接信息
     *
     * 说明：
     * - 从线条的 connectProps 中获取 start 属性
     * - 使用 InteractiveUtils 计算完整的连接信息
     * - 连接信息包含点的位置以及可能的连接对象
     */
    getStartConnectInfo(line: OolongLine, ctx: AppEventContext): ConnectInfo;
}
//# sourceMappingURL=ClickCreateEndLineHandler.d.ts.map