UNPKG

@syntropysoft/praetorian

Version:

Praetorian CLI – A universal multi-environment configuration validator for DevSecOps teams. Validate, compare, and secure YAML/ENV files with ease.

63 lines 1.68 kB
/** * TODO: DECLARATIVE PROGRAMMING PATTERN * * This file demonstrates excellent declarative programming practices: * - Pure functions with immutable data structures (Map) * - Functional array methods (filter, map, every) * - Immutable data transformations * - Object spread operator for composition * - No imperative loops or state mutations * - Clear data flow with Array.from() * * Mutation Score: 89.66% - Functional patterns make testing predictable! */ import { PluginMetadata } from '../../shared/types'; import { BasePlugin } from './base/BasePlugin'; interface PluginManagerOptions { autoLoad?: boolean; } export declare class PluginManager { private plugins; private options; constructor(options?: PluginManagerOptions); /** * Register a plugin */ registerPlugin(plugin: BasePlugin): void; /** * Get a plugin by name */ getPlugin(name: string): BasePlugin | undefined; /** * Get all enabled plugins */ getEnabledPlugins(): BasePlugin[]; /** * Get all plugins (enabled and disabled) */ getAllPlugins(): BasePlugin[]; /** * Enable or disable a plugin */ setPluginEnabled(name: string, enabled: boolean): boolean; /** * Get plugin metadata */ getPluginMetadata(name: string): PluginMetadata | undefined; /** * List all available plugins */ listPlugins(): Array<{ name: string; metadata: PluginMetadata; }>; /** * Get plugin health status */ getHealth(): Promise<{ healthy: boolean; plugins: any[]; }>; } export {}; //# sourceMappingURL=PluginManager.d.ts.map