/**
 * Shared utility functions for MCP setup scripts
 * Used by Claude Desktop, Claude Code, and other MCP integrations
 */
export interface MCPConfig {
    mcpServers?: Record<string, {
        type: string;
        command: string;
        args?: string[];
        env?: Record<string, string>;
        [key: string]: any;
    }>;
    [key: string]: any;
}
export interface SetupContext {
    originalConfigPath: string;
    backupPath: string;
    hyperToolConfigPath: string;
    dryRun: boolean;
}
/**
 * Check if a file exists
 */
export declare function fileExists(path: string): Promise<boolean>;
/**
 * Read and parse a JSON configuration file
 */
export declare function readJsonFile(path: string): Promise<any>;
/**
 * Write a JSON configuration file
 */
export declare function writeJsonFile(path: string, data: any): Promise<void>;
/**
 * Ensure a directory exists
 */
export declare function ensureDirectoryExists(path: string): Promise<void>;
/**
 * Validate that an MCP configuration exists and is valid
 */
export declare function validateMcpConfiguration(configPath: string): Promise<void>;
/**
 * Create a backup of the original configuration file
 */
export declare function createConfigBackup(context: SetupContext): Promise<void>;
/**
 * Migrate existing MCP servers to HyperTool configuration
 */
export declare function migrateToHyperToolConfig(context: SetupContext): Promise<MCPConfig>;
/**
 * Prompt user for cleanup options (automatic vs manual)
 * Note: We're simplifying to always do automated cleanup
 */
export declare function promptForCleanupOptions(): Promise<boolean>;
/**
 * Create HyperTool proxy configuration
 */
export declare function createHyperToolProxyConfig(hyperToolConfigPath: string): any;
/**
 * Update MCP configuration with HyperTool proxy
 */
export declare function updateMcpConfigWithHyperTool(context: SetupContext, originalConfig: MCPConfig, _shouldCleanup: boolean, hyperToolConfigPath: string): Promise<void>;
/**
 * Display setup summary
 */
export declare function displaySetupSummary(context: SetupContext, shouldCleanup: boolean, integrationName: string): Promise<void>;
/**
 * Display what the setup process will do before getting user consent
 */
export declare function displaySetupPlan(context: SetupContext, originalConfig: MCPConfig, integrationName: string): Promise<boolean>;
/**
 * Check if Hypertool slash commands are already installed globally
 */
export declare function hasClaudeCodeGlobalHypertoolSlashCommands(): Promise<boolean>;
//# sourceMappingURL=mcpSetupUtils.d.ts.map