import { Plugin } from './plugin.js'; import { IMetaRenderer, IAPIDefinition, IAPIJointDefinition } from '../meta-api/module.js'; import Editor from './editor.js'; import { QueryEngine } from './selector/selector.js'; export interface IToolboxWhitelist { [K: string]: string[]; } export declare class ToolboxEntry { private toolbox; private entry; constructor(toolbox: Toolbox, entry: IAPIDefinition); dispose(): void; update(entry: IAPIDefinition): void; } export declare class Toolbox extends Plugin { private editor?; renderer?: IMetaRenderer; private entries; private _entries; private whitelist; private installedEntries; onInstall(editor: Editor): void; setEntries(entries: IAPIDefinition[]): void; /** * Runs the onInstall function of the entry if available. * Will avoid running the onInstall more than once for the current toolbox * @param entry A toolbox entry */ installEntry(entry: IAPIJointDefinition): void; addEntry(entry: IAPIJointDefinition, position?: number): ToolboxEntry; removeEntry(entry: IAPIDefinition): void; updateEntry(oldEntry: IAPIDefinition, entry: IAPIDefinition): void; setWhitelist(whitelist: IToolboxWhitelist | null): void; whitelistEntry(id: string, whitelist: string[]): void; removeWhitelistEntry(id: string): void; update(): void; onInject(): void; registerQueryHandlers(engine: QueryEngine): void; } export default Toolbox;