declare const UNSET: {}; type MergeTwo = { [K in keyof T | keyof U]: K extends keyof U ? U[K] : K extends keyof T ? T[K] : never; }; interface Merge { (a: A): A; (a: A, b: B): MergeTwo; (a: A, b: B, c: C): MergeTwo, C>; (a: A, b: B, c: C, d: D): MergeTwo, C>, D>; (a: A, b: B, c: C, d: D, e: E): MergeTwo, C>, D>, E>; (a: A, b: B, c: C, d: D, e: E, f: F): MergeTwo, C>, D>, E>, F>; (a: A, b: B, c: C, d: D, e: E, f: F, g: G): MergeTwo, C>, D>, E>, F>, G>; (a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H): MergeTwo, C>, D>, E>, F>, G>, H>; (a: A, ...args: B[]): unknown; } declare const merge: Merge; export { merge, UNSET as mergeUNSET, }; export type { MergeTwo, }; //# sourceMappingURL=merge.d.ts.map