#!/usr/bin/env node
/**
 * NeuroLink CLI Configuration Management
 *
 * Enhanced configuration system with interactive setup,
 * multi-profile support, and smart validation.
 */
import { z } from "zod";
declare const ConfigSchema: z.ZodObject<{
    defaultProvider: z.ZodDefault<z.ZodEnum<{
        bedrock: "bedrock";
        openai: "openai";
        vertex: "vertex";
        anthropic: "anthropic";
        azure: "azure";
        "google-ai": "google-ai";
        huggingface: "huggingface";
        ollama: "ollama";
        mistral: "mistral";
        auto: "auto";
    }>>;
    providers: z.ZodDefault<z.ZodObject<{
        openai: z.ZodOptional<z.ZodObject<{
            apiKey: z.ZodOptional<z.ZodString>;
            model: z.ZodDefault<z.ZodString>;
            baseURL: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>;
        bedrock: z.ZodOptional<z.ZodObject<{
            region: z.ZodOptional<z.ZodString>;
            accessKeyId: z.ZodOptional<z.ZodString>;
            secretAccessKey: z.ZodOptional<z.ZodString>;
            sessionToken: z.ZodOptional<z.ZodString>;
            model: z.ZodDefault<z.ZodString>;
        }, z.core.$strip>>;
        vertex: z.ZodOptional<z.ZodObject<{
            projectId: z.ZodOptional<z.ZodString>;
            location: z.ZodDefault<z.ZodString>;
            credentials: z.ZodOptional<z.ZodString>;
            serviceAccountKey: z.ZodOptional<z.ZodString>;
            clientEmail: z.ZodOptional<z.ZodString>;
            privateKey: z.ZodOptional<z.ZodString>;
            model: z.ZodDefault<z.ZodString>;
        }, z.core.$strip>>;
        anthropic: z.ZodOptional<z.ZodObject<{
            apiKey: z.ZodOptional<z.ZodString>;
            model: z.ZodDefault<z.ZodString>;
        }, z.core.$strip>>;
        azure: z.ZodOptional<z.ZodObject<{
            apiKey: z.ZodOptional<z.ZodString>;
            endpoint: z.ZodOptional<z.ZodString>;
            deploymentId: z.ZodOptional<z.ZodString>;
            model: z.ZodDefault<z.ZodString>;
        }, z.core.$strip>>;
        "google-ai": z.ZodOptional<z.ZodObject<{
            apiKey: z.ZodOptional<z.ZodString>;
            model: z.ZodDefault<z.ZodString>;
        }, z.core.$strip>>;
        huggingface: z.ZodOptional<z.ZodObject<{
            apiKey: z.ZodOptional<z.ZodString>;
            model: z.ZodDefault<z.ZodString>;
        }, z.core.$strip>>;
        ollama: z.ZodOptional<z.ZodObject<{
            baseUrl: z.ZodDefault<z.ZodString>;
            model: z.ZodDefault<z.ZodString>;
            timeout: z.ZodDefault<z.ZodNumber>;
        }, z.core.$strip>>;
        mistral: z.ZodOptional<z.ZodObject<{
            apiKey: z.ZodOptional<z.ZodString>;
            model: z.ZodDefault<z.ZodString>;
        }, z.core.$strip>>;
    }, z.core.$strip>>;
    profiles: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodAny>>;
    preferences: z.ZodDefault<z.ZodObject<{
        outputFormat: z.ZodDefault<z.ZodEnum<{
            text: "text";
            json: "json";
            yaml: "yaml";
        }>>;
        temperature: z.ZodDefault<z.ZodNumber>;
        maxTokens: z.ZodOptional<z.ZodNumber>;
        enableLogging: z.ZodDefault<z.ZodBoolean>;
        enableCaching: z.ZodDefault<z.ZodBoolean>;
        cacheStrategy: z.ZodDefault<z.ZodEnum<{
            memory: "memory";
            redis: "redis";
            file: "file";
        }>>;
        defaultEvaluationDomain: z.ZodOptional<z.ZodString>;
        enableAnalyticsByDefault: z.ZodDefault<z.ZodBoolean>;
        enableEvaluationByDefault: z.ZodDefault<z.ZodBoolean>;
    }, z.core.$strip>>;
    domains: z.ZodDefault<z.ZodObject<{
        healthcare: z.ZodDefault<z.ZodObject<{
            evaluationCriteria: z.ZodDefault<z.ZodArray<z.ZodString>>;
            analyticsConfig: z.ZodDefault<z.ZodObject<{
                trackPatientData: z.ZodDefault<z.ZodBoolean>;
                trackDiagnosticAccuracy: z.ZodDefault<z.ZodBoolean>;
                trackTreatmentOutcomes: z.ZodDefault<z.ZodBoolean>;
            }, z.core.$strip>>;
        }, z.core.$strip>>;
        analytics: z.ZodDefault<z.ZodObject<{
            evaluationCriteria: z.ZodDefault<z.ZodArray<z.ZodString>>;
            analyticsConfig: z.ZodDefault<z.ZodObject<{
                trackDataQuality: z.ZodDefault<z.ZodBoolean>;
                trackModelPerformance: z.ZodDefault<z.ZodBoolean>;
                trackBusinessImpact: z.ZodDefault<z.ZodBoolean>;
            }, z.core.$strip>>;
        }, z.core.$strip>>;
        finance: z.ZodDefault<z.ZodObject<{
            evaluationCriteria: z.ZodDefault<z.ZodArray<z.ZodString>>;
            analyticsConfig: z.ZodDefault<z.ZodObject<{
                trackRiskMetrics: z.ZodDefault<z.ZodBoolean>;
                trackRegulatory: z.ZodDefault<z.ZodBoolean>;
                trackPortfolioImpact: z.ZodDefault<z.ZodBoolean>;
            }, z.core.$strip>>;
        }, z.core.$strip>>;
        ecommerce: z.ZodDefault<z.ZodObject<{
            evaluationCriteria: z.ZodDefault<z.ZodArray<z.ZodString>>;
            analyticsConfig: z.ZodDefault<z.ZodObject<{
                trackConversions: z.ZodDefault<z.ZodBoolean>;
                trackUserBehavior: z.ZodDefault<z.ZodBoolean>;
                trackRevenueImpact: z.ZodDefault<z.ZodBoolean>;
            }, z.core.$strip>>;
        }, z.core.$strip>>;
    }, z.core.$strip>>;
}, z.core.$strip>;
export type NeuroLinkConfig = z.infer<typeof ConfigSchema>;
export declare class ConfigManager {
    private configDir;
    private configFile;
    private config;
    constructor();
    /**
     * Load configuration from file or create default
     */
    private loadConfig;
    /**
     * Save configuration to file
     */
    private saveConfig;
    /**
     * Interactive configuration setup
     */
    initInteractive(): Promise<void>;
    /**
     * Setup individual providers
     */
    private setupProviders;
    /**
     * Setup individual provider
     */
    private setupProvider;
    /**
     * OpenAI provider setup
     */
    private setupOpenAI;
    /**
     * Amazon Bedrock provider setup
     */
    private setupBedrock;
    /**
     * Google Vertex AI provider setup
     */
    private setupVertex;
    /**
     * Anthropic provider setup
     */
    private setupAnthropic;
    /**
     * Azure OpenAI provider setup
     */
    private setupAzure;
    /**
     * Google AI Studio provider setup
     */
    private setupGoogleAI;
    /**
     * Hugging Face provider setup
     */
    private setupHuggingFace;
    /**
     * Ollama provider setup
     */
    private setupOllama;
    /**
     * Mistral AI provider setup
     */
    private setupMistral;
    /**
     * Get current configuration
     */
    getConfig(): NeuroLinkConfig;
    /**
     * Update configuration
     */
    updateConfig(updates: Partial<NeuroLinkConfig>): void;
    /**
     * Show current configuration
     */
    showConfig(): void;
    /**
     * Validate configuration
     */
    validateConfig(): {
        valid: boolean;
        errors: string[];
    };
    /**
     * Reset configuration to defaults
     */
    resetConfig(): void;
}
export declare const configManager: ConfigManager;
export {};
