import { Command } from 'commander'; import { type McpJsonEntry } from '../core/projectMcp'; import { type BinDetectDeps } from '../core/binDetect'; import { type CreativeAppId } from '../core/mcpCatalog'; export interface DetectPrereq { id: string; installed: boolean; installHint: string; } export interface DetectApp { id: CreativeAppId; name: string; installed: boolean; path: string | null; source: string | null; experimental: boolean; server: McpJsonEntry; serverName: string; prerequisites: DetectPrereq[]; postSetup: string[]; notes: string[]; alreadyEnabled: boolean; } export interface DetectResult { apps: DetectApp[]; } export declare function buildDetect(root: string, deps?: Partial): DetectResult; export type CatalogKind = 'builtin' | 'common' | 'creative'; /** The concrete server config a picker would write (stdio or remote McpJsonEntry). */ export interface CatalogEntry { id: string; name: string; kind: CatalogKind; transport: 'stdio' | 'http' | 'sse'; server: McpJsonEntry; description: string; experimental: boolean; /** Present for 'creative' entries — the host app this server drives. */ requiresApp?: CreativeAppId; } export interface CatalogResult { servers: CatalogEntry[]; } /** Placeholder allowed-dir the filesystem 'common' entry carries until the user edits it. */ export declare const FILESYSTEM_PATH_PLACEHOLDER = ""; /** * Build the authoritative catalog of known/pickable MCP servers. Pure & * platform-parameterised (defaults to process.platform) so the app consumes it * via `mcp catalog --json` and the extension imports it in-process. */ export declare function buildCatalog(platform?: NodeJS.Platform): CatalogResult; export declare function mcpCommand(program: Command): void;