import type { AnyDefined, NonNullish } from '@toolbox-ts/types'; import type { Key } from '@toolbox-ts/types/defs/object'; import { Arr } from '../../../../../../../Arr/index.js'; import type { Context, CloneHandler, ArrayMergeStrategy, ArrayMergeHandler, PrimitiveMergeStrategy, PrimitiveMergeHandler, ObjectTypeMergeStrategy, MergeHandler, KeyMergeHandlerMapOptions, MergeHandlerWithContext } from '../../../../types/index.js'; import type { HandleReplaceRequiredContext, ReplaceHandler } from '../../handle-replace/index.js'; export declare const getArrayMergeHandler: (strategy: ArrayMergeStrategy, cl: CloneHandler, ctx: Omit, "mergeArray">, _merge: MergeHandlerWithContext) => ArrayMergeHandler; export declare const getPrimitiveMergeHandler: (strategy: PrimitiveMergeStrategy) => PrimitiveMergeHandler; export declare const getObjectTypeMergeHandler: (strategy: ObjectTypeMergeStrategy, cl: CloneHandler) => MergeHandler; export declare const getKeyMergeHandler: (handlers: KeyMergeHandlerMapOptions, ctx: HandleReplaceRequiredContext, handleReplace: ReplaceHandler) => >(key: K, current: AnyDefined, next: NonNullish) => unknown;