/** Represents any valid configuration value (primitives, arrays, or nested config objects). */ type ConfigValue = string | number | boolean | null | undefined | ConfigValue[] | ConfigObject; interface ConfigObject { [key: string]: ConfigValue; } /** A signal object with a required name property; compatible with vega-typings InitSignal | NewSignal. */ interface NamedSignal { name: string; [key: string]: ConfigValue; } /** Represents top-level Vega configuration object; compatible with vega-typings Config. */ interface VegaConfig extends ConfigObject { signals?: NamedSignal[]; } /** Internal type used to determine which properties should be recursively merged. Currently only supports legend layout and style blocks */ type RecurseStrategy = Record | boolean | null; /** Merges Vega config objects. Signals merged by name (source takes precedence), * legend.layout recursively merged, style fully recursive, others shallow. * Return type is compatible with vega-typings Config. */ export declare function mergeConfig(...configs: Partial[]): VegaConfig; /** Writes config value to output with optional recursion, rejecting illegal keys that could be used to modify the prototype chain */ export declare function writeConfig(output: ConfigObject, key: string, value: ConfigValue, recurse?: RecurseStrategy): void; export {}; //# sourceMappingURL=mergeConfig.d.ts.map