import { BaseClientManager } from './base.js'; import type { ClientOptions } from '../utils/types.js'; /** * VS Code configuration scope options */ export type VSCodeScope = 'workspace' | 'global'; /** * Extended client options for VS Code that includes scope selection */ export interface VSCodeClientOptions extends ClientOptions { scope?: VSCodeScope; workspaceFolder?: string; } /** * Client manager implementation for VS Code. * * Responsible for configuring and managing the MCP server integration * for the VS Code editor application with support for both workspace-specific * and global configurations. * * @see {@link https://code.visualstudio.com/ | VS Code Official Website} */ export declare class VSCodeClientManager extends BaseClientManager { private selectedScope; private selectedWorkspaceFolder?; constructor(); /** * Returns the path to the VS Code configuration file. * Uses the currently selected scope and workspace folder. * * @returns The absolute path to the configuration file. */ getConfigPath(): string; /** * Returns the path to the global VS Code configuration file. * * @returns The absolute path to the global configuration file. */ private getGlobalConfigPath; /** * Prompts user to select between workspace and global scope. * * @returns Promise resolving to the selected scope */ private promptForScope; /** * Prompts user for workspace folder path. * * @returns Promise resolving to the validated workspace folder path */ private promptForWorkspaceFolder; /** * Enhanced configure method that handles VS Code-specific scope selection. * * First prompts for configuration scope (workspace vs global), then if workspace * is selected, prompts for the project folder path. * * @param options - Client configuration options */ configure(options: VSCodeClientOptions): Promise; /** * Loads VS Code-specific configuration from disk. * VS Code uses settings.json format, not the mcpServers format used by other clients. * * @param configPath - Path to the VS Code settings file * @returns Parsed configuration object */ private readVSCodeConfig; /** * Writes VS Code configuration to disk with proper formatting. * * @param configPath - Path where the configuration should be saved * @param config - Configuration object to serialize and write */ private writeVSCodeConfig; }