/**
 * 配置文件加载模块
 * 支持从JSON/YAML文件加载配置
 * 优化：支持环境变量配置、配置热更新
 */
import type { StartOptions } from '../types';
/**
 * 配置文件格式
 */
export declare enum ConfigFileFormat {
    JSON = "json",
    YAML = "yaml"
}
/**
 * 配置文件加载选项
 */
export interface ConfigFileLoadOptions {
    /**
     * 配置文件路径
     */
    path?: string;
    /**
     * 配置文件格式
     */
    format?: ConfigFileFormat;
    /**
     * 是否必需（如果为false，文件不存在时不报错）
     */
    required?: boolean;
    /**
     * 默认配置（文件不存在时使用）
     */
    defaultConfig?: Partial<StartOptions>;
}
/**
 * 配置变更监听器
 */
export type ConfigChangeListener = (newConfig: Partial<StartOptions>, oldConfig: Partial<StartOptions>) => void;
/**
 * 配置加载器
 */
export declare class ConfigLoader {
    /**
     * 从JSON文件加载配置
     *
     * @param path - 文件路径
     * @returns 配置对象
     */
    static loadFromJSON(path: string): Promise<Partial<StartOptions>>;
    /**
     * 从YAML文件加载配置
     *
     * @param path - 文件路径
     * @returns 配置对象
     */
    static loadFromYAML(path: string): Promise<Partial<StartOptions>>;
    /**
     * 从文件加载配置
     *
     * @param options - 加载选项
     * @returns 配置对象
     */
    static loadFromFile(options: ConfigFileLoadOptions): Promise<Partial<StartOptions>>;
    /**
     * 合并配置（深度合并）
     *
     * @param base - 基础配置
     * @param override - 覆盖配置
     * @returns 合并后的配置
     */
    static mergeConfig(base: Partial<StartOptions>, override: Partial<StartOptions>): Partial<StartOptions>;
    /**
     * 从多个源加载并合并配置
     *
     * @param sources - 配置源列表（按优先级从低到高）
     * @returns 合并后的配置
     */
    static loadFromMultipleSources(sources: Array<Partial<StartOptions> | ConfigFileLoadOptions>): Promise<Partial<StartOptions>>;
    /**
     * 从环境变量加载配置
     *
     * 支持以下环境变量格式：
     * - FRAMEWORK_LOGGER_LEVEL=DEBUG
     * - FRAMEWORK_SHOW_SPLASH_SCREEN=always
     * - FRAMEWORK_MIN_SPLASH_SCREEN_TIME=1000
     *
     * @param prefix - 环境变量前缀，默认为 'FRAMEWORK_'
     * @returns 配置对象
     */
    static loadFromEnv(prefix?: string): Partial<StartOptions>;
    /**
     * 从多个源加载配置（包括环境变量）
     *
     * 优化：明确优先级，从低到高：
     * 1. 默认配置
     * 2. 配置文件
     * 3. 环境变量
     * 4. 代码配置（通过 sources 参数传入）
     *
     * @param sources - 配置源列表（代码配置，优先级最高）
     * @param defaultConfig - 默认配置（优先级最低）
     * @param includeEnv - 是否包含环境变量，默认为 true
     * @param envPrefix - 环境变量前缀，默认为 'FRAMEWORK_'
     * @returns 合并后的配置
     */
    static loadFromAllSources(sources?: Array<Partial<StartOptions> | ConfigFileLoadOptions>, defaultConfig?: Partial<StartOptions>, includeEnv?: boolean, envPrefix?: string): Promise<Partial<StartOptions>>;
    /**
     * 添加配置变更监听器
     *
     * @param listener - 配置变更监听器
     * @returns 取消监听的函数
     */
    static onConfigChange(listener: ConfigChangeListener): () => void;
    /**
     * 移除配置变更监听器
     */
    static removeConfigChangeListener(listener: ConfigChangeListener): void;
}
//# sourceMappingURL=ConfigLoader.d.ts.map