import type { MetaphorDefinition } from './metaphor.js'; export type PluginType = 'metaphor' | 'guard'; export interface PluginManifest { type: PluginType; id: string; name: string; version?: string; description?: string; } export interface DiscoveredPlugin { manifest: PluginManifest; filePath: string; } export interface PluginLoadResult { loaded: DiscoveredPlugin[]; errors: Array<{ filePath: string; error: string; }>; } export interface PluginsConfig { enabled?: string[]; disabled?: string[]; } export declare function validatePluginManifest(raw: unknown): { valid: boolean; errors: string[]; }; export declare function discoverPlugins(cwd: string): DiscoveredPlugin[]; export declare function isPluginEnabled(id: string, config?: PluginsConfig): boolean; export declare function loadPluginMetaphors(cwd: string, config?: PluginsConfig): PluginLoadResult; export declare function loadPluginGuards(cwd: string, config?: PluginsConfig): PluginLoadResult; export interface SaveMetaphorResult { filePath: string; registered: boolean; activated: boolean; errors: string[]; } /** * Validate, save, register, and optionally activate a custom metaphor. * Writes to .slope/plugins/metaphors/.json and registers in-memory. */ export declare function saveCustomMetaphor(definition: MetaphorDefinition, cwd?: string, setActive?: boolean): SaveMetaphorResult; export declare function loadPlugins(cwd: string, config?: PluginsConfig): PluginLoadResult; //# sourceMappingURL=plugins.d.ts.map