import { ExtensionBase } from './ExtensionBase'; /** * Common event for {@link ExtensionsManager}. */ export declare class ExtensionEvent extends Event { /** Extension instance. */ readonly ext: ExtensionBase; /** * @param event - Extension event. * @param ext - Extension instance. */ constructor(event: ExtensionEvents, ext: ExtensionBase); } /** * Base changed extension event for {@link ExtensionsManager}. */ export declare class ChangedExtensionBaseEvent extends Event { /** Old extension instance. */ readonly oldExt: ExtensionBase | undefined; /** New extension instance. */ readonly newExt: ExtensionBase | undefined; /** * @param event - extension event. * @param oldExt - Extension instance. * @param ext - Extension instance. */ constructor(event: ExtensionEvents, ext: ExtensionBase | undefined, oldExt: ExtensionBase | undefined); } /** * Changing command extension event for {@link ExtensionsManager}. */ export declare class CommandExtensionEvent extends ChangedExtensionBaseEvent { constructor(ext: ExtensionBase | undefined, oldExt: ExtensionBase | undefined); } /** * Event when mode extension has changed for {@link ExtensionsManager}. */ export declare class ModeExtensionEvent extends ChangedExtensionBaseEvent { constructor(ext: ExtensionBase, oldExt: ExtensionBase | undefined); } /** * Extension events collection. Events raised by {@link ExtensionsManager}. */ export declare enum ExtensionEvents { /**Raised when new extension was added to manager. */ Added = "added", /**Raised when controller extension was selected as active. */ ControllerChanged = "controllerchanged", /**Raised when mode extension was selected as active. */ ModeChanged = "modechanged", /**Raised when extension manager was cleared. */ Cleared = "cleared", /**Raised when command extension was changed. */ CommandChanged = "commandchanged", /**Additional event. Manually raised by extension when it`s needed. */ Updated = "updated" }