import { BasePlugin } from '../../types/base-plugin'; import { Component } from 'vue'; import { IGraphicElement } from '../../types'; export interface ToolDescriptor { type: string; iconComponent: Component; typeDisplayName: string; createElement: () => IGraphicElement; } export declare class GraphicRegistryPlugin extends BasePlugin { name: string; version: string; elements: Map; private graphics; private tools; private propertyPanels; protected onInstall(): void; protected onUninstall(): void; getElementComponent(type: string): Component; getTypeMeta(type: string): { iconComponent?: Component; typeDisplayName?: string; } | undefined; getToolList(): ToolDescriptor[]; getToolComponent(type: string): Component; getPanelsBySelection(selection: IGraphicElement[]): Component[]; private getPanelsByType; private getPanelsByMultipleSelect; private findCommonElements; getCanvasPanels(): Component[]; addElement(element: IGraphicElement): void; removeElement(elementId: string): void; getElement(elementId: string): T; getAllElements(): T[]; createElement(type: string): IGraphicElement; getOrderedElements(order?: 'ascending' | 'descending'): IGraphicElement[]; normalizeZIndices(): void; } declare module '../../types' { interface PluginMap { 'graphic-registry-plugin': GraphicRegistryPlugin; } }