import { ExtensionBase } from './ExtensionBase'; import { ControllerExtensionBase } from './ControllerExtensionBase'; import { ModeExtensionBase } from './ModeExtensionBase'; import { ExtensionEvents } from './ExtensionEvents'; /** * Extensions store for single {@link RenderManager} instance. */ export declare class ExtensionsManager extends EventTarget { get [Symbol.toStringTag](): string; readonly tag = "ExtensionsManager"; private extensions; private ac; /**Current selected mode extension name. */ selectedModeExtName: string; /**Current selected controller extension name. */ selectedControllerExtName: string; /**Current command extension extension name. */ currentCommandExtName: string; /** * The name of the viewer under which the associated {@link RenderManager} is stored in the {@link ViewerStore}. */ viewerName: string; /** * Add additional extension to extensions list. * @param extensionType - Extension type. Should be nested from {@link ExtensionBase}. * @param args - Optional arguments. Will be passed into extension constructor as second parameter. * @returns Created extension instance. */ addExtension(extensionType: { new (viewerName: string, args: any | undefined): ExtensionBase; }, args?: any | undefined): Promise; /** * Clear extensions list. */ clear(): void; /** * Get extension by name. * @param name - Extension name. * @returns Extension if found or undefined if extension not found. */ getExtensionByName(name: string): ExtensionBase | undefined; /** * Get all extensions list. */ getExtensions(): ExtensionBase[]; /** * Get extensions with toolbars list. */ getExtensionsWithToolbars(): ExtensionBase[]; /** * Get extensions with help dialogs. */ getExtensionsWithHelpDialogs(): ExtensionBase[]; /** * Finish current command extension. */ finishCurrentCommandExtension(): void; /** * Set current command extension. */ setCurrentCommandExtension(name: string): void; /** * Get current command extension in ExtansionManager. */ currentCommandExtension(): ExtensionBase | undefined; /** * Get current selected mode extension. */ selectedModeExtension(): ModeExtensionBase; /** * Select active mode extension. * @param name - Name of extension for activation. */ selectModeExtension(name: string): void; /** * Get all mode extensions in ExtansionManager. */ getModeExtensions(): ModeExtensionBase[]; /** * Get current selected controller extension. */ selectedControllerExtension(): ControllerExtensionBase; /** * Get all controller extensions in ExtansionManager. */ getControllerExtensions(): ControllerExtensionBase[]; /** * Select active controller extension. * @param name - Name of extension for activation. */ selectControllerExtension(name: string): void; /** * Add event listener with automatic dispose. * @param eventType - event type. * @param eventListener - event listener. */ addAutoEventListener(eventType: ExtensionEvents, eventListener: EventListenerOrEventListenerObject): void; dispose(): void; }