UNPKG

ngxsmk-datatable

Version:

A powerful, feature-rich Angular datatable component with virtual scrolling, built for Angular 17+

85 lines (84 loc) 1.97 kB
import { Plugin, PluginConfig, PluginManager } from '../interfaces/plugin.interface'; import * as i0 from "@angular/core"; /** * Plugin Service * Extensible plugin system for custom extensions */ export declare class PluginService implements PluginManager { private plugins; private metadata; private config; private datatableInstance; private pluginsSubject; readonly plugins$: import("rxjs").Observable<Plugin[]>; private eventEmitter; private storage; private logger; constructor(); /** * Initialize plugin system */ initialize(config: PluginConfig, datatableInstance: any): Promise<void>; /** * Register plugin */ register(plugin: Plugin): Promise<void>; /** * Unregister plugin */ unregister(pluginId: string): Promise<void>; /** * Get plugin */ get(pluginId: string): Plugin | undefined; /** * Get all plugins */ getAll(): Plugin[]; /** * Enable plugin */ enable(pluginId: string): void; /** * Disable plugin */ disable(pluginId: string): void; /** * Check if plugin is loaded */ isLoaded(pluginId: string): boolean; /** * Execute hook */ executeHook(hookName: string, ...args: any[]): Promise<any>; /** * Call plugin API */ callApi(pluginId: string, method: string, ...args: any[]): any; /** * Validate plugin */ private validatePlugin; /** * Create plugin context */ private createContext; /** * Create event emitter */ private createEventEmitter; /** * Create storage */ private createStorage; /** * Create logger */ private createLogger; /** * Update plugin metadata */ private updateMetadata; static ɵfac: i0.ɵɵFactoryDeclaration<PluginService, never>; static ɵprov: i0.ɵɵInjectableDeclaration<PluginService>; }