//#region src/_registration.d.ts
/**
 * Merges option layers left to right. A key set to `undefined` keeps the
 * earlier layer's value, so an unset option keeps its default. Getters are
 * read once.
 */
export declare function definedOptions<T extends object>(...layers: ReadonlyArray<object | undefined>): T;
/**
 * Merges options over defaults for an API whose `setOptions` treats
 * `undefined` as "clear". An unset option takes its default, or stays
 * `undefined` to clear an earlier value when it has no default.
 */
export declare function withDefaults<T extends object>(defaults: object | undefined, options: T | undefined): T;
//#endregion