import { IDesignItem } from '../../../item/IDesignItem.js'; import { IDesignerCanvas } from '../IDesignerCanvas.js'; import { IDesignerExtension } from './IDesignerExtension.js'; import { IExtensionManager } from './IExtensionManger.js'; import { AbstractExtensionBase } from "./AbstractExtensionBase.js"; import { OverlayLayer } from './OverlayLayer.js'; import { IPoint } from '../../../../interfaces/IPoint.js'; export type toolbarObject = SVGForeignObjectElement & { updatePosition: (position: IPoint) => void; getById: (id: string) => T; }; export declare abstract class AbstractExtension extends AbstractExtensionBase implements IDesignerExtension { protected extendedItem: IDesignItem; constructor(extensionManager: IExtensionManager, designerView: IDesignerCanvas, extendedItem: IDesignItem); abstract extend(cache: Record, event?: Event): any; abstract refresh(cache: Record, event?: Event): any; abstract dispose(): any; remove(): void; createToolbar(template: HTMLTemplateElement, width: number, height: number, overlayLayer?: OverlayLayer): toolbarObject; }