import GirafeSingleton from '../../base/GirafeSingleton.js';
import GirafeConfig from './girafeconfig.js';
import IGirafeContext from '../context/icontext.js';
declare class ConfigManager extends GirafeSingleton {
    private config;
    private defaultConfig;
    private loadingPromise;
    private readonly storagePathForOverrides;
    private readonly abortController;
    constructor(context: IGirafeContext);
    get Config(): GirafeConfig;
    private getConfigUrls;
    loadConfig(): Promise<GirafeConfig>;
    private doLoadConfig;
    /**
     * Merges two configuration objects recursively.
     */
    private mergeConfigs;
    /**
     * Retrieves saved configuration overrides based on the user data source.
     * @param userDataSource The source of user data.
     */
    private getConfigOverrides;
    /**
     * Retrieves the original (default) configuration value before applying overrides.
     * @param path The path to the configuration property.
     */
    getDefaultConfigValue(path: string): unknown;
}
export default ConfigManager;
