/**
 * Shared Routes — Plugin collection and registry helpers
 *
 * Handles installed_plugins.json registry reads, legacy plugin directory
 * scanning, and plugin path encode/decode.
 *
 * Registry content rendering is in shared-routes-plugin-registry-content.ts.
 */
import type { SharedItem, InstalledPluginRegistry } from './shared-routes-types';
export declare function encodePluginRegistryPath(pluginName: string): string;
export declare function decodePluginRegistryPath(itemPath: string): string | null;
export declare function readJsonObject(filePath: string, allowedRoots: Set<string>): Record<string, unknown> | null;
export declare function readPluginInstalledRegistry(sharedDir: string, allowedRoots: Set<string>): InstalledPluginRegistry | null;
export declare function extractMarketplaceFromPluginName(pluginName: string): string | null;
export declare function describeInstalledPlugin(pluginName: string, metadata: unknown): string;
export declare function isPluginInfrastructurePath(candidatePath: string, sharedDir: string): boolean;
export declare function stringifyJson(value: unknown): string;
export declare function getPluginRegistryItems(sharedDir: string, allowedRoots: Set<string>): SharedItem[];
export declare function getLegacyPluginDirectoryItems(sharedDir: string, allowedRoots: Set<string>): SharedItem[];
export declare function getPluginItems(sharedDir: string, allowedRoots: Set<string>): SharedItem[];
//# sourceMappingURL=shared-routes-plugins.d.ts.map