import type { IHooks } from '../../hooks/interface'; import { Graph as X6Graph } from '@antv/x6'; import type { IGraphConfig } from './config'; import { IGraphOptionProvider } from './config'; import { Syringe } from 'mana-syringe'; import { IGraphCommandService } from '../../command'; import { IModelService } from '../../model-service/interface'; import { IHookService } from '../../hooks'; /** !!! 所有需要使用Graph相关信息的地方, 都统一使用IGraphProvider来获取 */ export declare const IGraphProvider: unique symbol; export interface IGraphProvider { /** 获取画布实例 */ getGraphInstance: () => Promise; /** 获取画布配置项 */ getGraphOptions: () => Promise; } export declare const ICommandServiceProvider: unique symbol; export interface ICommandServiceProvider { getCommandService: () => Promise; } export declare const IModelServiceProvider: unique symbol; export interface IModelServiceProvider { getModelService: () => Promise; } export interface IGraphManager { getGraph: (graphId: string) => Promise; } export declare class GraphManager implements IGraphManager { /** 处理画布实例的销毁 */ private toDispose; /** 储存画布实例 */ private graphMap; /** 通过optionProvider 获取组件的 html dom element */ optionProvider: IGraphOptionProvider; /** hooks */ hookService: IHookService; /** hooks call 依赖的参数 */ commandServiceProvider: ICommandServiceProvider; modelServiceProvider: IModelServiceProvider; /** 获取X6 Graph 实例 */ getGraph: (graphId: string) => Promise; private renderEdgeReactLabel; /** 实现在连线上渲染React节点 */ private edgeAppendForeignObject; dispose(): void; } export declare const registerGraphModule: (register: Syringe.Register) => void;