"use strict";
Object.defineProperty(exports, "__esModule", {
    value: true
});
Object.defineProperty(exports, "appConfig", {
    enumerable: true,
    get: function() {
        return appConfig;
    }
});
function _define_property(obj, key, value) {
    if (key in obj) {
        Object.defineProperty(obj, key, {
            value: value,
            enumerable: true,
            configurable: true,
            writable: true
        });
    } else {
        obj[key] = value;
    }
    return obj;
}
/**
 * 应用配置单例
 * 
 * 用于在非 React 代码中访问全局配置
 */ let AppConfigManager = class AppConfigManager {
    /**
     * 获取单例实例
     * 
     * @returns 单例实例
     */ static getInstance() {
        if (!AppConfigManager.instance) {
            AppConfigManager.instance = new AppConfigManager();
        }
        return AppConfigManager.instance;
    }
    /**
     * 初始化配置
     * 
     * @param config - 应用配置
     */ initialize(config) {
        this._config = {
            theme: config.theme || {
                mode: 'light'
            },
            locale: config.locale || 'zh-CN',
            antdConfig: config.antdConfig,
            initializationContext: config.initializationContext
        };
    }
    /**
     * 获取完整配置
     * 
     * @returns 应用配置
     */ getConfig() {
        return {
            ...this._config
        };
    }
    /**
     * 获取主题配置
     * 
     * @returns 主题配置
     */ getTheme() {
        return {
            ...this._config.theme
        };
    }
    /**
     * 更新主题配置
     * 
     * @param theme - 主题配置或更新函数
     */ setTheme(theme) {
        if (typeof theme === 'function') {
            this._config.theme = theme(this._config.theme);
        } else {
            this._config.theme = {
                ...theme
            };
        }
    }
    /**
     * 获取当前语言
     * 
     * @returns 当前语言
     */ getLocale() {
        return this._config.locale;
    }
    /**
     * 更新语言
     * 
     * @param locale - 语言类型
     */ setLocale(locale) {
        this._config.locale = locale;
    }
    /**
     * 获取 Ant Design 配置
     * 
     * @returns Ant Design 配置
     */ getAntdConfig() {
        return this._config.antdConfig;
    }
    /**
     * 更新 Ant Design 配置
     * 
     * @param config - Ant Design 配置
     */ setAntdConfig(config) {
        this._config.antdConfig = config;
    }
    /**
     * 获取初始化上下文
     * 
     * @returns 初始化上下文
     */ getInitializationContext() {
        return this._config.initializationContext;
    }
    /**
     * 更新初始化上下文
     * 
     * @param context - 初始化上下文
     */ setInitializationContext(context) {
        this._config.initializationContext = context;
    }
    /**
     * 私有构造函数，防止外部直接实例化
     */ constructor(){
        _define_property(this, "_config", void 0);
        this._config = {
            theme: {
                mode: 'light'
            },
            locale: 'zh-CN'
        };
    }
};
_define_property(AppConfigManager, "instance", null);
const appConfig = AppConfigManager.getInstance();

//# sourceMappingURL=AppConfig.js.map