import type { EntityPluginState, IEditor, PluginEvent, PluginWithState } from 'roosterjs-editor-types'; /** * @internal * Entity Plugin helps handle all operations related to an entity and generate entity specified events */ export default class EntityPlugin implements PluginWithState { private editor; private state; /** * Construct a new instance of EntityPlugin */ constructor(); /** * Get a friendly name of this plugin */ getName(): string; /** * Initialize this plugin. This should only be called from Editor * @param editor Editor instance */ initialize(editor: IEditor): void; /** * Dispose this plugin */ dispose(): void; /** * Get plugin state object */ getState(): EntityPluginState; /** * Handle events triggered from editor * @param event PluginEvent object */ onPluginEvent(event: PluginEvent): void; private handleContextMenuEvent; private handleCutEvent; private handleMouseUpEvent; private handleKeyDownEvent; private handleBeforePasteEvent; private handleContentChangedEvent; private handleEntityOperationEvent; private handleExtractContentWithDomEvent; private checkRemoveEntityForRange; private triggerEvent; private handleNewEntity; private getExistingEntities; private ensureUniqueId; }