import { PromiseDelegate } from '@lumino/coreutils'; import { JupyterFrontEnd, JupyterFrontEndPlugin } from '@jupyterlab/application'; import { IRenderMime } from '@jupyterlab/rendermime'; import { IShell } from './shell'; import { type VoilaWidgetManager } from '@voila-dashboards/widgets-manager8/lib/manager'; /** * App is the main application class. It is instantiated once and shared. */ export declare class VoilaApp extends JupyterFrontEnd { /** * Construct a new App object. * * @param options The instantiation options for an application. */ constructor(options: App.IOptions); /** * The name of the application. */ readonly name: string; /** * A namespace/prefix plugins may use to denote their provenance. */ readonly namespace: string; /** * The version of the application. */ readonly version: any; /** * The JupyterLab application paths dictionary. */ get paths(): JupyterFrontEnd.IPaths; /** * Register plugins from a plugin module. * * @param mod - The plugin module to register. */ registerPluginModule(mod: App.IPluginModule): void; /** * Register the plugins from multiple plugin modules. * * @param mods - The plugin modules to register. */ registerPluginModules(mods: App.IPluginModule[]): void; /** * A promise that resolves when the Voila Widget Manager is created */ get widgetManagerPromise(): PromiseDelegate; set widgetManager(manager: VoilaWidgetManager | null); get widgetManager(): VoilaWidgetManager | null; protected _widgetManager: VoilaWidgetManager | null; protected _widgetManagerPromise: PromiseDelegate; } /** * A namespace for App statics. */ export declare namespace App { /** * The instantiation options for an App application. */ interface IOptions extends JupyterFrontEnd.IOptions, Partial { paths?: Partial; } /** * The information about a Voila application. */ interface IInfo { /** * The mime renderer extensions. */ readonly mimeExtensions: IRenderMime.IExtensionModule[]; } /** * The interface for a module that exports a plugin or plugins as * the default value. */ interface IPluginModule { /** * The default export. */ default: JupyterFrontEndPlugin | JupyterFrontEndPlugin[]; } }