import { InputManager } from "../input/InputManager";
import { ToolManager } from "../tool";
import { SerializeManager } from "../file/SerializeManager";
import { DocState } from "./docState/DocState";
import { IdGenerator } from "../utils/IdGenerator";
import { IPlugin } from "./IPlugin";
import { AppEventContext } from "./AppEventContext";
import { GMLRender, NodeManager } from "../application";
import { ActionManager, RenderManager } from "../action";
import { AuxiliaryManager } from "../auxiliary";
import { DocumentInfo, NodeInfo } from "../idl";
import { GraphicNode } from "../graphics";
import { IConfig } from "../common";
import { SlotManager } from "../slot";
import { CursorManager } from "../cursor/CursorManager";
import { PreviewManager } from "../preview/PreviewManager";
import { ResourceManager } from "../resource-manager";
import { OolongAPI } from "./api/OolongAPI";
import { OolongAIAPI } from "./ai-api/OolongAIAPI";
import { AsyncRenderNodeManager } from "../asyncRender/AsyncRenderNodeManager";
import { CropManager } from "../crop/CropManager";
import { SlideManager } from "../slide/SlideManager";
import { DocManager } from "@/doc/DocManager";
import { MindmapManager } from "@/mindmap/MindmapManager";
import { SyntaxEngineManager } from "@/parse-engine/SyntaxEngineManager";
import { EngineMemoryManager } from "../memory";
export declare class OolongApp {
    inputManager: InputManager;
    cursorManager: CursorManager;
    toolManager: ToolManager;
    gmlRender: GMLRender;
    auxGMLRender: GMLRender;
    nodeManager: NodeManager;
    serializeManager: SerializeManager;
    actionManager: ActionManager;
    renderManager: RenderManager;
    auxiliaryManager: AuxiliaryManager;
    previewManager: PreviewManager;
    asyncRenderNodeManager: AsyncRenderNodeManager;
    docState: DocState;
    idGenerator: IdGenerator;
    slotManager: SlotManager;
    resourceManager: ResourceManager;
    cropManager: CropManager;
    slideManager: SlideManager;
    docManager: DocManager;
    mindmapManager: MindmapManager;
    memoryManager: EngineMemoryManager;
    appContext: AppEventContext;
    plugins: IPlugin[];
    syntaxEngineManager: SyntaxEngineManager;
    api: OolongAPI;
    aiAPI: OolongAIAPI;
    constructor(config: IConfig);
    registerPlugin(plugin: IPlugin): void;
    getPlugin<T extends IPlugin>(Plugin: new (...args: any[]) => T): IPlugin | null;
    start(): void;
    stop(): void;
    /**
     * 重置系统状态，清理所有缓存的状态量
     * 用于在切换文档或需要完全重置应用状态时调用
     */
    reset(): void;
    load(documentInfo: DocumentInfo): number;
    /**
     * 异步加载文档数据，等待所有资源（包括图片和SVG）完全加载完成后返回
     * 适用于缩略图渲染等需要确保所有节点完全渲染的场景
     * @param documentInfo 文档信息
     * @param resourceMap 可选的资源映射，key 是图片/SVG节点的原始 url，value 是预处理好的 ImageBitmap
     * @returns Promise<number> 返回文档序列号
     */
    asyncLoad(documentInfo: DocumentInfo, resourceMap?: Map<string, ImageBitmap>): number;
    /**
     * 异步加载文档信息，等待所有资源完全加载
     * @param resourceMap 可选的资源映射，key 是图片/SVG节点的原始 url，value 是预处理好的 ImageBitmap
     */
    asyncLoadDocumentInfo(documentInfo: DocumentInfo, resourceMap?: Map<string, ImageBitmap>): number;
    loadDocumentInfo(documentInfo: DocumentInfo): number;
    initData(data: DocumentInfo): GraphicNode[];
    initNode(nodeInfo: NodeInfo, parent: GraphicNode, glCtx: CanvasRenderingContext2D, graphics: GraphicNode[]): GraphicNode;
    afterInit(graphics: GraphicNode[]): Promise<void>;
    /**
     * 异步初始化后处理，支持从 resourceMap 直接加载图片资源
     * 所有资源都在此方法中同步等待完成，不再添加到异步渲染队列
     * @param graphics 图形节点列表
     * @param resourceMap 可选的资源映射，key 是图片/SVG节点的原始 url，value 是预处理好的 ImageBitmap
     */
    asyncAfterInit(graphics: GraphicNode[], resourceMap?: Map<string, ImageBitmap>): void;
}
//# sourceMappingURL=OolongApp.d.ts.map