/**
 * CodeWhisperer 实时流式配置管理
 * 支持动态切换缓冲式和实时流式实现
 * 项目所有者: Jason Zhang
 */
export interface CodeWhispererStreamingConfig {
    implementation: 'buffered' | 'realtime';
    realtimeOptions: {
        enableZeroDelay: boolean;
        maxConcurrentStreams: number;
        binaryFrameSize: number;
        toolCallStrategy: 'immediate' | 'buffered';
        enableCompression: boolean;
    };
    performanceMetrics: {
        enableProfiling: boolean;
        collectLatencyData: boolean;
        memoryUsageTracking: boolean;
        metricsIntervalMs: number;
    };
    fallback: {
        enableFallback: boolean;
        fallbackToBuffered: boolean;
        maxFailuresBeforeFallback: number;
    };
}
export declare const defaultStreamingConfig: CodeWhispererStreamingConfig;
export declare class CodeWhispererStreamingConfigManager {
    private static instance;
    private config;
    private configPath;
    private listeners;
    private constructor();
    static getInstance(): CodeWhispererStreamingConfigManager;
    /**
     * 获取配置文件路径
     */
    /**
     * 获取配置文件路径
     */
    private getConfigPathInternal;
    /**
     * 加载配置
     */
    private loadConfig;
    /**
     * 保存配置到文件
     */
    private saveConfig;
    /**
     * 获取当前配置
     */
    getConfig(): CodeWhispererStreamingConfig;
    /**
     * 更新配置
     */
    updateConfig(newConfig: Partial<CodeWhispererStreamingConfig>): void;
    /**
     * 切换实现类型
     */
    switchImplementation(implementation: 'buffered' | 'realtime'): void;
    /**
     * 添加配置变更监听器
     */
    addConfigChangeListener(listener: (config: CodeWhispererStreamingConfig) => void): void;
    /**
     * 移除配置变更监听器
     */
    removeConfigChangeListener(listener: (config: CodeWhispererStreamingConfig) => void): void;
    /**
     * 通知监听器
     */
    private notifyListeners;
    /**
     * 获取配置变更内容
     */
    private getConfigChanges;
    /**
     * 获取配置文件路径
     */
    getConfigPath(): string;
    /**
     * 重置为默认配置
     */
    resetToDefault(): void;
    /**
     * 验证配置
     */
    validateConfig(config: CodeWhispererStreamingConfig): {
        valid: boolean;
        errors: string[];
    };
}
//# sourceMappingURL=streaming-config.d.ts.map