import { Keys } from '@trezor/type-utils'; type TIndexValue = T extends any ? K extends keyof T ? T[K] : D : never; type TPartialKeys = Omit & Partial> extends infer O ? { [P in keyof O]: O[P]; } : never; type TFunction = (...a: any[]) => any; type TPrimitives = string | number | boolean | bigint | symbol | Date | TFunction; type TMerged = [T] extends [Array] ? { [K in keyof T]: TMerged; } : [T] extends [TPrimitives] ? T : [T] extends [object] ? TPartialKeys<{ [K in Keys]: TMerged>; }, never> : T; interface IObject { [key: string]: any; } export declare const mergeDeepObject: { (...objects: T): TMerged; options: IOptions; withOptions(options: Partial, ...objects: T): TMerged; }; interface IOptions { mergeArrays: boolean; dotNotation: boolean; } export {}; //# sourceMappingURL=mergeDeepObject.d.ts.map