import { GraphicNode } from "../node/GraphicNode";
import { IRect, Point } from "../../common";
import { NodeType } from "../../idl";
import { BorderProps } from "../props/BorderProps";
import { ColorProps } from "../props/ColorProps";
import { TextProps } from "../props/TextProps";
import { ShapeProps } from "../props/ShapeProps";
import { MindMapProps } from "../props/MindMapProps";
import { TextParagraphProps } from "../props/TextParagraphProps";
import { TextParagraphQuoteProps } from "../props/TextParagraphQuoteProps";
import { AbsProps } from "../props/AbsProps";
import { RenderText, TextCursorPosition } from "../../renderText";
import { GraphicTextNode } from "../node/GraphicTextNode";
import { MindmapLayoutType } from "@/idl/MindmapLayoutType";
import { AbsBoxWorker } from "./layout/AbsBoxWorker";
import { NodeManager } from "@/application";
import { ILayoutBoxInfo } from "./ILayoutBoxInfo";
import { RenderLine } from "./render/renderLine";
/**
 * 思维导图节点
 * 代表思维导图中的一个节点，包含位置、颜色、边框、文本、形状和思维导图特有属性
 */
export declare class OolongMindmapNode extends GraphicTextNode {
    type: NodeType;
    static layoutWorkers: Map<MindmapLayoutType, AbsBoxWorker>;
    get borderProps(): BorderProps;
    get colorProps(): ColorProps;
    get textProps(): TextProps;
    get shapeProps(): ShapeProps;
    get mindMapProps(): MindMapProps;
    get paragraphProps(): TextParagraphProps;
    get paragraphQuoteProps(): TextParagraphQuoteProps;
    /**
     * 缓存属性值
     */
    layoutbox: ILayoutBoxInfo | null;
    mindMapParent: OolongMindmapNode | null;
    mindmapChildren: OolongMindmapNode[];
    subMindMapChildren: OolongMindmapNode[];
    renderLine: RenderLine;
    rootContainer: IRect;
    get layoutType(): MindmapLayoutType;
    /**
     * 构造函数 - 初始化所有必要的 Props
     */
    constructor(id: string, ctx: CanvasRenderingContext2D);
    refreshRootContainer(): void;
    refreshLayoutBox(): void;
    layout(nodeManager: NodeManager): void;
    updateMindMapChildren(nodeManager: NodeManager): void;
    root(): OolongMindmapNode;
    updateLayoutType(): void;
    /**
     * 重写属性更新方法
     */
    updateProps(props: Partial<AbsProps>[]): void;
    isRoot(): boolean;
    /**
     * 绘制节点
     */
    drawOnGLCtx(ctx: CanvasRenderingContext2D): void;
    private drawContainerBox;
    /**
     * 绘制文本
     */
    protected drawText(ctx: CanvasRenderingContext2D): void;
    /**
     * 是否需要进行编辑过程中位置矫正
     */
    modifyPosInEditing(cursor: TextCursorPosition): boolean;
    /**
     * 从编辑状态恢复
     */
    resetFromEditing(): void;
    /**
     * 判断文本是否为空
     */
    isEmptyText(): boolean;
    /**
     * 获取文本内容区域
     */
    getTextContentRect(): IRect;
    /**
     * 节点是否可以被连线连接
     */
    canBeConnected(): boolean;
    /**
     * 节点是否支持快速创建
     */
    canQuickCreate(): boolean;
    /**
     * 点击检测 - 判断点是否在节点内
     */
    contains(point: Point, scale?: number): boolean;
    getRenderText(): RenderText | null;
    /**
     * 静态工厂方法 - 从数据创建节点
     */
    static load(id: string, type: NodeType, zIndex: number, props: Partial<AbsProps>[], parent: GraphicNode, ctx: CanvasRenderingContext2D): OolongMindmapNode;
}
//# sourceMappingURL=OolongMindmapNode.d.ts.map