import type { QualityGate } from "../rules/hook-parser.js"; import { HookEmitter } from "./hooks.js"; import { type PluginModule } from "./loader.js"; export interface PluginManagerConfig { paths?: string[]; hooks?: Record; } /** * Manages plugin lifecycle and hook emission. */ export declare class PluginManager { readonly emitter: HookEmitter; private plugins; private config; private _qualityGates; constructor(config?: PluginManagerConfig); /** * Load all plugins and register shell hooks. * Also parses markdown rule files for hook definitions and quality gates. */ loadAll(cwd: string, rules?: string[]): Promise; /** * Parse markdown rule contents and register discovered hooks + quality gates. */ loadMarkdownHooks(ruleContents: string[]): void; /** * Get quality gates extracted from markdown rules. */ get qualityGates(): readonly QualityGate[]; /** * Deactivate all plugins. */ unloadAll(): Promise; /** * Get list of loaded plugins. */ getPlugins(): readonly PluginModule[]; /** * Get count of loaded plugins. */ get pluginCount(): number; } //# sourceMappingURL=manager.d.ts.map