import { ContextConfig } from './ContextConfig.js'; /** * Manages context-specific configurations. This class allows setting * configurations at three levels: global, user context, and browsing context. * * When `getActiveConfig` is called, it merges the configurations in a specific * order of precedence: `global -> user context -> browsing context`. For each * configuration property, the value from the highest-precedence level that has a * non-`undefined` value is used. * * The `update` methods (`updateGlobalConfig`, `updateUserContextConfig`, * `updateBrowsingContextConfig`) merge the provided configuration with the * existing one at the corresponding level. Properties with `undefined` values in * the provided configuration are ignored, preserving the existing value. */ export declare class ContextConfigStorage { #private; /** * Updates the global configuration. Properties with `undefined` values in the * provided `config` are ignored. */ updateGlobalConfig(config: ContextConfig): void; /** * Updates the configuration for a specific browsing context. Properties with * `undefined` values in the provided `config` are ignored. */ updateBrowsingContextConfig(browsingContextId: string, config: ContextConfig): void; /** * Updates the configuration for a specific user context. Properties with * `undefined` values in the provided `config` are ignored. */ updateUserContextConfig(userContext: string, config: ContextConfig): void; /** * Returns the current global configuration. */ getGlobalConfig(): ContextConfig; /** * Calculates the active configuration by merging global, user context, and * browsing context settings. */ getActiveConfig(topLevelBrowsingContextId: string | undefined, userContext: string): ContextConfig; }