declare type AnyConfig, U extends Record> = { [V in keyof U]: V extends keyof T ? U[V] extends (...args: any[]) => any ? (argv: T[V]) => T[V] : T[V] : U[V]; }; declare type CalculatedConfig, U extends Record> = T & { [V in keyof U]: V extends keyof T ? T[V] : U[V]; }; export default function mergeConfig, U extends Record>(defaultConfig: T, ...configs: (AnyConfig | null | undefined)[]): CalculatedConfig; export {};