import { IExtensionEvents, IExtensionObject } from './IExtension'; import { ExtensionApp } from './ExtensionApp'; import { ExtensionDB } from './ExtensionDB'; import { ExpressRouterWrapper } from './ExpressRouterWrapper'; import * as express from 'express'; import { ExtensionMessengerHandler } from './ExtensionMessengerHandler'; import { ExtensionConfig } from './ExtensionConfig'; import { UIExtension } from './UIExtension'; export declare class ExtensionObject implements IExtensionObject { readonly extensionId: string; readonly extensionName: string; readonly folder: string; readonly _app: ExtensionApp; readonly config: ExtensionConfig; readonly db: ExtensionDB; readonly paths: import("../../ProjectPath").ProjectPathClass; readonly Logger: import("../../Logger").ILogger; readonly events: IExtensionEvents; readonly RESTApi: ExpressRouterWrapper; readonly messengers: ExtensionMessengerHandler; readonly ui: UIExtension; /** * @param extensionId - Unique ID used internally to track this extension instance (may have _1, _2 suffix if name collision occurs) * @param extensionName - Display name of the extension (typically from package.json) * @param folder - Folder name where the extension is stored (also used as config key in Config.Extensions.extensions) * @param extensionRouter - Express router for extension REST API endpoints * @param events - Extension events for hooking into gallery functionality */ constructor(extensionId: string, extensionName: string, folder: string, extensionRouter: express.Router, events: IExtensionEvents); }