export type PluginTrustTier = "official" | "verified" | "unverified"; export interface PluginTrustInfo { tier: PluginTrustTier; /** Terminal badge string for startup logs & CLI */ badge: string; /** Human-readable label (e.g. Official, Verified, Unverified) */ label: string; /** Description or tooltip text */ tooltip: string; } export interface PluginCandidate { packageName: string; tier: PluginTrustTier; label: string; badge: string; tooltip: string; isOfficialShortcut: boolean; version?: string; description?: string; } export declare const OFFICIAL_PLUGIN_PREFIX = "@weavetab/plugin-"; export declare const REGISTRY_URL = "https://weavetab.dev/api/registry/verified.json"; export declare const REGISTRY_FALLBACK_URL = "https://raw.githubusercontent.com/weavetab/registry/main/verified.json"; /** * Returns the set of verified package names. * - Tries local registry/verified.json first (dev/test mode). * - Falls back to GitHub remote. * - Falls back to empty set on any failure (fail open — just shows unverified). */ export declare function getVerifiedPackages(): Promise>; /** * Clear in-memory verified packages cache (useful for tests or forced refresh). */ export declare function invalidateRegistryCache(): void; /** * Determine the trust tier for a plugin based on its package name and the * verified registry. */ export declare function resolvePluginTrust(packageName: string, verifiedPackages: Set): PluginTrustInfo; /** * Checks if a package exists on the npm registry via a fast HEAD request. */ export declare function checkNpmPackageExists(pkgName: string): Promise; /** * Resolves potential package candidates for an input name. * - If name is already explicitly scoped (starts with @), resolves directly. * - If short name is provided (e.g. "n8n-wt"), checks both: * 1. Official shortcut: @weavetab/plugin- * 2. Community package: */ export declare function resolvePluginCandidates(inputName: string, verifiedPackages: Set): Promise;