/** * Interactive setup wizard - orchestrates the configuration setup process */ import type { ConfigLoader } from './loader.js'; import { type Config } from './schema.js'; export declare class SetupWizard { private configLoader; constructor(configLoader: ConfigLoader); /** * Run the interactive setup wizard */ run(): Promise; /** * Build a base Config by loading the existing config file and preserving all * non-wizard-managed settings (features, logging, sessions, hooks, paths). * Providers are preserved from the existing file; default_provider is cleared * so the wizard can set it fresh. */ private buildBaseConfig; /** * Select default provider based on configured providers */ private selectDefaultProvider; /** * Quick setup with minimal prompts */ quickSetup(): Promise; /** * Configure a specific provider (used for mismatch resolution) */ configureSpecificProvider(providerName: string): Promise; /** * Get provider choice and API key from environment variables or prompt user */ private getProviderFromEnvOrPrompt; /** * Check environment variables for provider configuration */ private checkEnvForProvider; /** * Prompt user for provider selection and API key */ private promptForProvider; /** * Check if setup is needed * Respects non-interactive mode and Cursor provider availability */ static needsSetup(configLoader: ConfigLoader, forceInteractive?: boolean): Promise; /** * Check if MCP is enabled */ private static isMCPEnabled; /** * Check if in non-interactive mode */ private static checkNonInteractiveMode; /** * Handle missing config file */ private static handleMissingConfig; /** * Check existing config for setup requirements */ private static checkExistingConfig; /** * Check if providers object has at least one valid provider */ private static hasValidProvider; /** * Check if API key is valid */ private static isValidApiKey; } //# sourceMappingURL=interactive-wizard.d.ts.map