export interface SqlAnalyzerConfig {
    database?: {
        host?: string;
        port?: number;
        database?: string;
        user?: string;
        password?: string;
        ssl?: boolean;
        connectionString?: string;
    };
    ai?: {
        enabled?: boolean;
        provider?: 'openai' | 'anthropic' | 'local';
        apiKey?: string;
        model?: string;
        maxTokens?: number;
        temperature?: number;
    };
    analysis?: {
        includeSchema?: boolean;
        includeTriggers?: boolean;
        includeProcedures?: boolean;
        includeRLS?: boolean;
        includeCostAnalysis?: boolean;
        includeAIInsights?: boolean;
        performanceThreshold?: number;
        securityLevel?: 'basic' | 'standard' | 'strict';
    };
    reporting?: {
        format?: 'cli' | 'html' | 'json' | 'pdf' | 'md';
        outputPath?: string;
        includeCharts?: boolean;
        includeBeforeAfter?: boolean;
        includeImplementationGuide?: boolean;
        customBranding?: {
            companyName?: string;
            logo?: string;
            colors?: {
                primary?: string;
                secondary?: string;
            };
        };
    };
    advanced?: {
        concurrentAnalysis?: boolean;
        cacheResults?: boolean;
        cacheTTL?: number;
        retryAttempts?: number;
        timeout?: number;
        verbose?: boolean;
        skipLargeObjects?: boolean;
        maxTableSize?: number;
    };
}
export declare const defaultConfig: SqlAnalyzerConfig;
export declare class ConfigManager {
    private config;
    constructor(userConfig?: Partial<SqlAnalyzerConfig>);
    getConfig(): SqlAnalyzerConfig;
    updateConfig(updates: Partial<SqlAnalyzerConfig>): void;
    private mergeConfig;
    validateConfig(): {
        valid: boolean;
        errors: string[];
    };
    private isValidPath;
    /**
     * Load configuration from environment variables
     */
    static fromEnvironment(): ConfigManager;
    /**
     * Load configuration from file
     */
    static fromFile(filePath: string): Promise<ConfigManager>;
    /**
     * Save configuration to file
     */
    saveToFile(filePath: string): Promise<void>;
}
export declare const configPresets: {
    development: {
        advanced: {
            verbose: boolean;
            cacheResults: boolean;
        };
        analysis: {
            securityLevel: "basic";
        };
    };
    production: {
        advanced: {
            verbose: boolean;
            cacheResults: boolean;
            cacheTTL: number;
        };
        analysis: {
            securityLevel: "strict";
            includeAIInsights: boolean;
        };
    };
    ci: {
        reporting: {
            format: "json";
        };
        analysis: {
            includeAIInsights: boolean;
        };
        advanced: {
            timeout: number;
        };
    };
    comprehensive: {
        analysis: {
            includeSchema: boolean;
            includeTriggers: boolean;
            includeProcedures: boolean;
            includeRLS: boolean;
            includeCostAnalysis: boolean;
            includeAIInsights: boolean;
            securityLevel: "strict";
        };
        ai: {
            enabled: boolean;
            maxTokens: number;
        };
    };
};
//# sourceMappingURL=config.d.ts.map