import { MetadataInfo } from '..'; import { Extension } from '../extension/extension'; import { ExtensionGroup } from '../extension_group/extension_group'; declare type Ctor = { new (name: string, ...args: unknown[]): T; prototype: T; onInit: undefined | ((manifest: MetadataInfo, property: MetadataInfo) => void); createInstance: (name: string) => T; destroyInstance: (instance: T) => void; }; declare type ExtensionOrExtensionGroup = Extension | ExtensionGroup; export declare function Addon(name?: string): >(klass: T) => T; export declare namespace Addon { var unload: (name: string) => void; var unloadAll: () => void; var loaded: () => string[]; var loadAll: (appRoot: string) => void; } export {};