@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
TypeScript
/**
* 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