UNPKG

bb-inspired

Version:

Core library for BB-inspired NestJS backend

26 lines (25 loc) 1.27 kB
import { OnModuleInit, OnModuleDestroy } from '@nestjs/common'; import { ModuleRef } from '@nestjs/core'; import { PluginOptions } from './plugin.module'; import { HookService } from './hook.service'; import { PluginMetadata, PluginRegistrationOptions, PluginManager as IPluginManager, HookHandler } from '../../interfaces/plugin.interfaces'; export declare class PluginManagerMain implements IPluginManager, OnModuleInit, OnModuleDestroy { private readonly options; private readonly hookService; private readonly moduleRef; private readonly logger; private readonly plugins; private readonly enabledPlugins; private readonly moduleContexts; constructor(options: PluginOptions, hookService: HookService, moduleRef: ModuleRef); onModuleInit(): Promise<void>; onModuleDestroy(): Promise<void>; register(plugin: PluginRegistrationOptions): Promise<void>; enable(pluginName: string): Promise<boolean>; disable(pluginName: string): Promise<boolean>; getPlugins(): PluginMetadata[]; getPlugin(name: string): PluginMetadata | undefined; isEnabled(name: string): boolean; registerHook(hookName: string, handler: HookHandler): void; executeHook<T = any, R = any>(hookName: string, data: T): Promise<R[]>; }