import { PolyEngine } from '../../../Poly'; import { PolyPlugin, PolyPluginData } from './Plugin'; import { BaseNodeConstructor, BaseOperationConstructor } from '../nodes/NodesRegister'; import { PolyDictionary } from '../../../../types/GlobalTypes'; export interface PluginsRegisterData { plugins: PolyDictionary; nodes: PolyDictionary>; operations: PolyDictionary>; } export declare class PluginsRegister { private poly; private _current_plugin; private _plugins_by_name; private _plugin_name_by_node_context_by_type; private _plugin_name_by_operation_context_by_type; constructor(poly: PolyEngine); register(plugin: PolyPlugin): void; pluginByName(pluginName: string): PolyPlugin | undefined; registerNode(node: BaseNodeConstructor): void; registerOperation(operation: BaseOperationConstructor): void; toJson(): PluginsRegisterData; }