import type { InstalledExtension, ExtensionManifest, ExtensionCapability } from './types.js'; /** * In-memory registry of loaded extensions. The registry does NOT perform * dynamic `import()` — it stays purely data-driven. The pipeline and CLI * query it to discover what capabilities are available. */ export declare class ExtensionRegistry { private readonly _extensions; /** Register an extension. */ register(manifest: ExtensionManifest, path: string, enabled?: boolean): void; /** Unregister an extension by name. */ unregister(name: string): boolean; /** Get all registered extensions. */ all(): readonly InstalledExtension[]; /** Get a single extension by name. */ get(name: string): InstalledExtension | undefined; /** Get extensions that provide a given capability kind. */ withCapability(kind: ExtensionCapability['kind']): readonly InstalledExtension[]; /** Get all generator capabilities from enabled extensions. */ generators(): readonly { ext: InstalledExtension; cap: Extract; }[]; /** Get all reviewer capabilities from enabled extensions. */ reviewers(): readonly { ext: InstalledExtension; cap: Extract; }[]; /** Get all custom command capabilities from enabled extensions. */ commands(): readonly { ext: InstalledExtension; cap: Extract; }[]; /** Number of registered extensions. */ get size(): number; /** Clear all extensions. */ clear(): void; } //# sourceMappingURL=registry.d.ts.map