export declare const isObject: <T>(item: T) => boolean;
export declare function merge<T>(target: T): T;
export declare function merge<T, A>(target: T, a: A): T & A;
export declare function merge<T, A, B>(target: T, a: A, b: B): T & A & B;
export declare function merge<T, A, B, C>(target: T, a: A, b: B, c: C): T & A & B & C;
export declare function merge<T, A, B, C, D>(target: T, a: A, b: B, c: C, d: D): T & A & B & C & D;
export declare function merge<T, A, B, C, D, E>(target: T, a: A, b: B, c: C, d: D, e: E): T & A & B & C & D & E;
export declare function merge<T, A, B, C, D, E, F>(target: T, a: A, b: B, c: C, d: D, e: E, f: F): T & A & B & C & D & E & F;
/**
 * deep merge of two or more objects
 *
 * @param target immutable target
 * @param sources immutable sources to apply to target
 * @returns a new merged object
 */
export declare const mergeDeep: <T extends object, S>(target: T, ...sources: S[]) => any;
export declare const mergeAll: <T>(array: Array<T>) => T;
//# sourceMappingURL=merge.d.ts.map