import type { PluginManifest, PluginCheck, PluginCommand, PluginMcpTool, PluginFix } from "./sdk/types.js";
export interface PluginRegistryEntry {
    manifest: PluginManifest;
    checks: PluginCheck[];
    status: "loaded" | "failed";
    reason?: string;
    commands?: PluginCommand[];
    mcpTools?: PluginMcpTool[];
    fixes?: PluginFix[];
    checksById: ReadonlyMap<string, PluginCheck>;
    fixesByCheckId: ReadonlyMap<string, PluginFix>;
}
export declare function registerPlugin(manifest: PluginManifest, checks: PluginCheck[]): void;
export declare function registerFailedPlugin(manifest: PluginManifest, reason: string): void;
export declare function deletePlugin(name: string): void;
export declare function mapRegistryPlugins<T>(callback: (name: string, entry: PluginRegistryEntry) => T): T[];
export interface PluginCommandEntry {
    pluginShortName: string;
    command: PluginCommand;
    pluginDir: string;
}
export interface PluginMcpToolEntry {
    pluginShortName: string;
    toolName: string;
    tool: PluginMcpTool;
    pluginDir: string;
}
export declare function getShortName(pluginName: string): string;
export declare function getPluginCommands(): PluginCommandEntry[];
export declare function getPluginMcpTools(): PluginMcpToolEntry[];
export declare function clearPluginRegistry(): void;
export declare function getPluginRegistry(): ReadonlyMap<string, PluginRegistryEntry>;
export declare function loadPluginCache(): PluginManifest[];
export declare function savePluginCache(manifests: PluginManifest[]): void;
//# sourceMappingURL=registry.d.ts.map