import { AppEventContext } from "../../../../app";
import { OolongDocContainer } from "../../../../graphics/OolongDocContainer";
import { GraphicNode } from "../../../../graphics";
import { RenderText, TextCursorPosition } from "../../../../renderText";
/**
 * DocContainer Enter 操作的上下文信息
 */
export interface DocContainerEnterContext {
    /** 应用事件上下文 */
    appContext: AppEventContext;
    /** 当前编辑的节点 */
    node: GraphicNode;
    /** 父容器 */
    docContainer: OolongDocContainer;
    /** 渲染文本 */
    renderText: RenderText;
    /** 光标位置 */
    textCursorPosition: TextCursorPosition;
    /** 当前节点在 children 中的索引 */
    currentIndex: number;
    /** 是否是最后一个子节点 */
    isLastChild: boolean;
    /** 当前 children 列表（可修改） */
    currentChildren: string[];
    /** 光标前的富文本 */
    prevRichText: string;
    /** 光标后的富文本 */
    nextRichText: string;
    /** 光标后是否有文本 */
    hasTextAfterCursor: boolean;
    /** 新创建的节点 ID */
    newChildId?: string;
    /** 新节点的 Y 坐标 */
    newY?: number;
    /** 新节点的实际高度 */
    actualNewHeight?: number;
}
/**
 * DocContainer Enter 子处理器基类
 * 用于将 DocContainer Enter 逻辑拆分成多个独立的步骤
 */
export declare abstract class DocContainerEnterStep {
    /**
     * 执行该步骤的处理逻辑
     * @param ctx DocContainer Enter 上下文
     */
    abstract execute(ctx: DocContainerEnterContext): void;
}
//# sourceMappingURL=DocContainerEnterStep.d.ts.map