import { ExtensionBase, HelperAction } from './ExtensionBase'; import { ControllerExtensionBase } from './ControllerExtensionBase'; import { ModeExtensionBase } from './ModeExtensionBase'; import { ExtensionEvents } from './ExtensionEvents'; export declare class CompactModeSettings { show: boolean; forceCompactMode: boolean; forceFullMode: boolean; } /** * Extensions store for single {@link RenderManager} instance. */ export declare class ExtensionsManager extends EventTarget { private compactModeSettings; 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 name. */ currentCommandExtName: string; /**Current command name. */ currentCommandName: string; /**Compact mode for extensions UI. */ compactMode: boolean; /** * The name of the viewer under which the associated {@link RenderManager} is stored in the {@link ViewerStore}. */ viewerName: string; constructor(); /** * 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; /** * Set compact mode for extensions UI.. * @param mode - Compact mode. */ setCompactMode(mode?: boolean): void; private restoreCompactMode; /** * Request helpers toolbar update when helpers list from extensions changed. */ requestHelpersUpdate(): void; /** * 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 extension helpers list. */ getExtensionsHelpers(): HelperAction[]; /** * Finish current command extension. */ finishCurrentCommandExtension(): void; /** * Set current command extension and name. */ setCurrentCommandExtension(extensionName: string, commandName?: 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; }