import { ChainedConfig, ChainedConfigWithUtils, ChainedConfigCombineUtils } from './types';
export type Falsy = false | null | undefined;
export declare function mergeChainedOptions<T, U>(params: {
  defaults: T;
  options?: ChainedConfig<T> | Falsy;
  mergeFn?: typeof Object.assign;
}): T;
export declare function mergeChainedOptions<T, U>(params: {
  defaults: T;
  options: ChainedConfigWithUtils<T, U> | Falsy;
  utils: U;
  mergeFn?: typeof Object.assign;
}): T;
export declare function mergeChainedOptions<T, U>(params: {
  defaults: T;
  options: ChainedConfigCombineUtils<T, U> | Falsy;
  utils: U;
  mergeFn?: typeof Object.assign;
  useObjectParam?: true;
}): T;