import type { GraphOptions } from '../spec';
import type { Animation } from './animation';
import type { BatchController } from './batch';
import type { BehaviorController } from './behavior';
import type { Canvas } from './canvas';
import type { DataController } from './data';
import type { ElementController } from './element';
import type { Graph } from './graph';
import type { LayoutController } from './layout';
import type { PluginController } from './plugin';
import type { TransformController } from './transform';
import type { ViewportController } from './viewport';
export interface RuntimeContext {
/**
* 图实例
*
* Graph instance
*/
graph: Graph;
/**
* 画布实例
*
* Canvas instance
*/
canvas: Canvas;
/**
* G6 配置项
*
* G6 options
*/
options: GraphOptions;
/**
* 数据模型
*
* Data model
*/
model: DataController;
/**
* 数据转换控制器
*
* Data transform controller
*/
transform: TransformController;
/**
* 元素控制器
*
* Element controller
* @remarks
* 仅在绘制开始后才可用
*
* Only available after drawing starts
*/
element?: ElementController;
/**
* 元素动画执行器
*
* Element animation executor
*/
animation?: Animation;
/**
* 视口控制器
*
* Viewport controller
*/
viewport?: ViewportController;
/**
* 布局控制器
*
* Layout controller
*/
layout?: LayoutController;
/**
* 行为控制器
*
* Behavior controller
*/
behavior?: BehaviorController;
/**
* 插件控制器
*
* Plugin controller
*/
plugin?: PluginController;
/**
* 批量操作控制器
*
* Batch operation controller
*/
batch?: BatchController;
}