/** * Deep merge utilities for @a5c-ai/agent-mux. * * Used to layer RunOptions from multiple sources (global defaults, * profile, client defaults, explicit options) into a single resolved * configuration. */ /** * Return a shallow copy of `obj` with all keys whose value is `undefined` removed. * Returns `{}` for null/undefined input. */ export declare function stripUndefined>(obj: T | null | undefined): Partial; /** * Deep merge two objects according to agent-mux merge semantics: * * - Scalars: override replaces base. * - Arrays: override replaces base (no concatenation). * - Plain objects: shallow-merge one level deep. * - `undefined` values in override are skipped (base value preserved). * - `null` in override replaces base (explicit clear). * * @param base - The base layer. * @param override - The override layer. * @returns A new merged object (neither input is mutated). */ export declare function deepMerge>(base: T, override: Partial | undefined | null): T; /** * Resolve run options by merging multiple layers in order. * * Layers are applied left to right; later layers override earlier ones. * Uses the same merge semantics as `deepMerge`, making it the canonical * helper for layering run-option-like objects and defaults. * * @param layers - Ordered list of option layers to merge. * @returns The merged result. */ export declare function resolveRunOptions>(...layers: Array | undefined | null>): T;