import { type PluginMcpSettingsSyncResult } from "./plugin-mcp-settings"; export interface PluginInstallOptions { source: string; sourceType?: PluginInstallSourceType; cwd?: string; force?: boolean; npmCommand?: string; officialPluginsRepo?: string; } export interface PluginInstallResult { source: string; installPath: string; entryPaths: string[]; mcpSyncFailures: PluginMcpSettingsSyncResult["failures"]; mcpOAuthCandidates: PluginMcpOAuthCandidate[]; } export interface PluginMcpOAuthCandidate { name: string; pluginName: string; pluginPath: string; transportType: "sse" | "streamableHttp"; lastError?: string; } export type ParsedPluginSource = { type: "npm"; spec: string; name: string; } | { type: "git"; repo: string; ref?: string; host: string; path: string; } | { type: "remote"; url: string; filename: string; } | { type: "local"; path: string; } | { type: "official"; slug: string; }; export type PluginInstallSourceType = "npm" | "git" | "local" | "remote"; export declare function isOfficialPluginSlug(source: string): boolean; export declare function parsePluginSource(source: string, sourceType?: PluginInstallSourceType): ParsedPluginSource; export declare function collectPluginMcpOAuthCandidates(input: { pluginPaths: readonly string[]; settingsPath?: string; }): PluginMcpOAuthCandidate[]; export declare function installPlugin(options: PluginInstallOptions): Promise;