/**
 * Coalesces properties. Allows for creating chains of defaults without
 * using object destructuring, which may generate piles of garbage for GC.
 *
 * Still WIP.
 * TODO: Efficient computed defaults.
 * TODO: Make sense of the types
 *
 * @param  {...function():T} sources
 * @returns {T}
 *
 * @template {Record<string | symbol, any>} [T=object]
 */
export default function coalesceProperties<T extends Record<string | symbol, any> = object>(...sources: (() => T)[]): T;
//# sourceMappingURL=propertyCoalescer.d.ts.map