export interface MarketplaceSource {
    /** Source type */
    type: "npm" | "git" | "url";
    /** Package name (npm), git URL, or zip URL */
    specifier: string;
    /** Optional version constraint (npm only) */
    version?: string;
}
export interface MarketplaceConfig {
    /** Enabled plugins from marketplace */
    enabledPlugins: MarketplaceSource[];
    /**
     * Enterprise policy: only allow plugins matching these names.
     * If set, any plugin not in the allowlist is blocked.
     */
    allowlist?: string[];
    /**
     * Enterprise policy: block these plugin names.
     */
    blocklist?: string[];
}
export interface MarketplaceCatalogEntry {
    /** Plugin name */
    name: string;
    /** Installed version */
    version: string;
    /** Source that provided this plugin */
    source: MarketplaceSource;
    /** Local install path */
    installPath: string;
    /** Install timestamp */
    installedAt: string;
}
export interface InstalledPluginsManifest {
    version: 1;
    plugins: MarketplaceCatalogEntry[];
}
export interface MarketplaceLogger {
    info(msg: string): void;
    warn(msg: string): void;
}
/**
 * Load plugins from cache only (no network). Fast startup path.
 * CC parity: loadAllPluginsCacheOnly()
 */
export declare function loadCachedPlugins(): string[];
/**
 * Install/update marketplace plugins and return their local paths.
 * CC parity: loadAllPluginsWithDynamic()
 */
export declare function installMarketplacePlugins(config: MarketplaceConfig, log: MarketplaceLogger): Promise<string[]>;
/**
 * Get the marketplace config from user settings.
 * Reads ~/.qlogicagent/marketplace.json
 */
export declare function loadMarketplaceConfig(): MarketplaceConfig | null;
/**
 * Combine local plugin dirs + marketplace plugin dirs for PluginLoader.
 * CC parity: loadAllPlugins() merges session + marketplace + builtin.
 */
export declare function resolveAllPluginDirs(localDirs: string[], log: MarketplaceLogger): Promise<string[]>;
