UNPKG

@withstudiocms/effect

Version:

Effect-TS Utilities for Astro

502 lines (501 loc) 30.7 kB
import { deepmergeCustom as _deepmergeCustomSrc, type deepmerge as _deepmergeSrc } from 'deepmerge-ts'; import { Effect } from './effect.js'; /** * Provides a custom deep merge utility within an Effect context. * * This function wraps a callback that receives the internal `_deepmergeCustom` function, * executing it within an Effect, and handling any thrown errors by wrapping them in a new Error * with a descriptive message. * * @typeParam T - The return type of the callback function. * @param fn - A callback function that receives the `_deepmergeCustom` function and returns a value of type `T`. * @returns An Effect that attempts to execute the callback and captures any errors. */ export declare const deepmergeCustom: <T>(fn: (deepmerge: typeof _deepmergeCustomSrc) => T) => Effect.Effect<T, Error, never>; /** * Runs a function with a custom deepmerge implementation within an Effect context. * * @template T The return type of the provided function. * @param fn - A function that receives the custom deepmerge function and returns a value of type T. * @param opts - Optional deep merge options to customize the merging behavior. * @returns An Effect that yields the result of the provided function or throws an error if the operation fails. * * @example * ```typescript * const result = yield* deepmerge((merge) => merge(obj1, obj2)); * ``` */ export declare const deepmerge: <T>(fn: (deepmerge: typeof _deepmergeSrc) => T, opts?: Partial<Readonly<{ mergeRecords: false | (<Ts extends ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>, U extends Readonly<{ mergeFunctions: Readonly<{ mergeRecords: /*elided*/ any; mergeArrays: <Ts_1 extends ReadonlyArray<ReadonlyArray<unknown>>, U_1 extends Readonly</*elided*/ any>>(values: Ts_1, utils: U_1, meta: Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }> | undefined) => unknown; mergeMaps: <Ts_1 extends ReadonlyArray<Readonly<ReadonlyMap<unknown, unknown>>>, U_2 extends Readonly</*elided*/ any>>(values: Ts_1, utils: U_2, meta: Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }> | undefined) => unknown; mergeSets: <Ts_1 extends ReadonlyArray<Readonly<ReadonlySet<unknown>>>, U_3 extends Readonly</*elided*/ any>>(values: Ts_1, utils: U_3, meta: Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }> | undefined) => unknown; mergeOthers: <Ts_1 extends ReadonlyArray<unknown>, U_4 extends Readonly</*elided*/ any>>(values: Ts_1, utils: U_4, meta: Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }> | undefined) => unknown; }>; defaultMergeFunctions: import("deepmerge-ts").DeepMergeFunctionsDefaults; metaDataUpdater: import("deepmerge-ts").MetaDataUpdater<Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }>, Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }>>; deepmerge: <Ts_1 extends ReadonlyArray<unknown>>(...values: Ts_1) => unknown; useImplicitDefaultMerging: boolean; filterValues: (<Ts_1 extends ReadonlyArray<unknown>>(values: Ts_1, meta: Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }> | undefined) => unknown[]) | undefined; actions: Readonly<{ defaultMerge: symbol; skip: symbol; }>; }>>(values: Ts, utils: U, meta: Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }> | undefined) => unknown); mergeArrays: false | (<Ts extends ReadonlyArray<ReadonlyArray<unknown>>, U_1 extends Readonly<{ mergeFunctions: Readonly<{ mergeRecords: <Ts_1 extends ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>, U extends Readonly</*elided*/ any>>(values: Ts_1, utils: U, meta: Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }> | undefined) => unknown; mergeArrays: /*elided*/ any; mergeMaps: <Ts_1 extends ReadonlyArray<Readonly<ReadonlyMap<unknown, unknown>>>, U_2 extends Readonly</*elided*/ any>>(values: Ts_1, utils: U_2, meta: Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }> | undefined) => unknown; mergeSets: <Ts_1 extends ReadonlyArray<Readonly<ReadonlySet<unknown>>>, U_3 extends Readonly</*elided*/ any>>(values: Ts_1, utils: U_3, meta: Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }> | undefined) => unknown; mergeOthers: <Ts_1 extends ReadonlyArray<unknown>, U_4 extends Readonly</*elided*/ any>>(values: Ts_1, utils: U_4, meta: Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }> | undefined) => unknown; }>; defaultMergeFunctions: import("deepmerge-ts").DeepMergeFunctionsDefaults; metaDataUpdater: import("deepmerge-ts").MetaDataUpdater<Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }>, Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }>>; deepmerge: <Ts_1 extends ReadonlyArray<unknown>>(...values: Ts_1) => unknown; useImplicitDefaultMerging: boolean; filterValues: (<Ts_1 extends ReadonlyArray<unknown>>(values: Ts_1, meta: Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }> | undefined) => unknown[]) | undefined; actions: Readonly<{ defaultMerge: symbol; skip: symbol; }>; }>>(values: Ts, utils: U_1, meta: Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }> | undefined) => unknown); mergeMaps: false | (<Ts extends ReadonlyArray<Readonly<ReadonlyMap<unknown, unknown>>>, U_2 extends Readonly<{ mergeFunctions: Readonly<{ mergeRecords: <Ts_1 extends ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>, U extends Readonly</*elided*/ any>>(values: Ts_1, utils: U, meta: Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }> | undefined) => unknown; mergeArrays: <Ts_1 extends ReadonlyArray<ReadonlyArray<unknown>>, U_5 extends Readonly</*elided*/ any>>(values: Ts_1, utils: U_5, meta: Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }> | undefined) => unknown; mergeMaps: /*elided*/ any; mergeSets: <Ts_1 extends ReadonlyArray<Readonly<ReadonlySet<unknown>>>, U_3 extends Readonly</*elided*/ any>>(values: Ts_1, utils: U_3, meta: Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }> | undefined) => unknown; mergeOthers: <Ts_1 extends ReadonlyArray<unknown>, U_4 extends Readonly</*elided*/ any>>(values: Ts_1, utils: U_4, meta: Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }> | undefined) => unknown; }>; defaultMergeFunctions: import("deepmerge-ts").DeepMergeFunctionsDefaults; metaDataUpdater: import("deepmerge-ts").MetaDataUpdater<Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }>, Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }>>; deepmerge: <Ts_1 extends ReadonlyArray<unknown>>(...values: Ts_1) => unknown; useImplicitDefaultMerging: boolean; filterValues: (<Ts_1 extends ReadonlyArray<unknown>>(values: Ts_1, meta: Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }> | undefined) => unknown[]) | undefined; actions: Readonly<{ defaultMerge: symbol; skip: symbol; }>; }>>(values: Ts, utils: U_2, meta: Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }> | undefined) => unknown); mergeSets: false | (<Ts extends ReadonlyArray<Readonly<ReadonlySet<unknown>>>, U_3 extends Readonly<{ mergeFunctions: Readonly<{ mergeRecords: <Ts_1 extends ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>, U extends Readonly</*elided*/ any>>(values: Ts_1, utils: U, meta: Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }> | undefined) => unknown; mergeArrays: <Ts_1 extends ReadonlyArray<ReadonlyArray<unknown>>, U_5 extends Readonly</*elided*/ any>>(values: Ts_1, utils: U_5, meta: Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }> | undefined) => unknown; mergeMaps: <Ts_1 extends ReadonlyArray<Readonly<ReadonlyMap<unknown, unknown>>>, U_6 extends Readonly</*elided*/ any>>(values: Ts_1, utils: U_6, meta: Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }> | undefined) => unknown; mergeSets: /*elided*/ any; mergeOthers: <Ts_1 extends ReadonlyArray<unknown>, U_4 extends Readonly</*elided*/ any>>(values: Ts_1, utils: U_4, meta: Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }> | undefined) => unknown; }>; defaultMergeFunctions: import("deepmerge-ts").DeepMergeFunctionsDefaults; metaDataUpdater: import("deepmerge-ts").MetaDataUpdater<Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }>, Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }>>; deepmerge: <Ts_1 extends ReadonlyArray<unknown>>(...values: Ts_1) => unknown; useImplicitDefaultMerging: boolean; filterValues: (<Ts_1 extends ReadonlyArray<unknown>>(values: Ts_1, meta: Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }> | undefined) => unknown[]) | undefined; actions: Readonly<{ defaultMerge: symbol; skip: symbol; }>; }>>(values: Ts, utils: U_3, meta: Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }> | undefined) => unknown); mergeOthers: <Ts extends ReadonlyArray<unknown>, U_4 extends Readonly<{ mergeFunctions: Readonly<{ mergeRecords: <Ts_1 extends ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>, U extends Readonly</*elided*/ any>>(values: Ts_1, utils: U, meta: Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }> | undefined) => unknown; mergeArrays: <Ts_1 extends ReadonlyArray<ReadonlyArray<unknown>>, U_5 extends Readonly</*elided*/ any>>(values: Ts_1, utils: U_5, meta: Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }> | undefined) => unknown; mergeMaps: <Ts_1 extends ReadonlyArray<Readonly<ReadonlyMap<unknown, unknown>>>, U_6 extends Readonly</*elided*/ any>>(values: Ts_1, utils: U_6, meta: Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }> | undefined) => unknown; mergeSets: <Ts_1 extends ReadonlyArray<Readonly<ReadonlySet<unknown>>>, U_7 extends Readonly</*elided*/ any>>(values: Ts_1, utils: U_7, meta: Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }> | undefined) => unknown; mergeOthers: /*elided*/ any; }>; defaultMergeFunctions: import("deepmerge-ts").DeepMergeFunctionsDefaults; metaDataUpdater: import("deepmerge-ts").MetaDataUpdater<Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }>, Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }>>; deepmerge: <Ts_1 extends ReadonlyArray<unknown>>(...values: Ts_1) => unknown; useImplicitDefaultMerging: boolean; filterValues: (<Ts_1 extends ReadonlyArray<unknown>>(values: Ts_1, meta: Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }> | undefined) => unknown[]) | undefined; actions: Readonly<{ defaultMerge: symbol; skip: symbol; }>; }>>(values: Ts, utils: U_4, meta: Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }> | undefined) => unknown; metaDataUpdater: import("deepmerge-ts").MetaDataUpdater<Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }>, Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }>>; enableImplicitDefaultMerging: boolean; filterValues: false | (<Ts extends ReadonlyArray<unknown>>(values: Ts, meta: Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }> | undefined) => unknown[]); }>> | undefined) => Effect.Effect<T, Error, never>; declare const Deepmerge_base: Effect.Service.Class<Deepmerge, "Deepmerge", { readonly effect: Effect.Effect<{ custom: <T>(fn: (deepmerge: typeof _deepmergeCustomSrc) => T) => Effect.Effect<T, Error, never>; merge: <T>(fn: (deepmerge: typeof _deepmergeSrc) => T, opts?: Partial<Readonly<{ mergeRecords: false | (<Ts extends ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>, U extends Readonly<{ mergeFunctions: Readonly<{ mergeRecords: /*elided*/ any; mergeArrays: <Ts_1 extends ReadonlyArray<ReadonlyArray<unknown>>, U_1 extends Readonly</*elided*/ any>>(values: Ts_1, utils: U_1, meta: Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }> | undefined) => unknown; mergeMaps: <Ts_1 extends ReadonlyArray<Readonly<ReadonlyMap<unknown, unknown>>>, U_2 extends Readonly</*elided*/ any>>(values: Ts_1, utils: U_2, meta: Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }> | undefined) => unknown; mergeSets: <Ts_1 extends ReadonlyArray<Readonly<ReadonlySet<unknown>>>, U_3 extends Readonly</*elided*/ any>>(values: Ts_1, utils: U_3, meta: Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }> | undefined) => unknown; mergeOthers: <Ts_1 extends ReadonlyArray<unknown>, U_4 extends Readonly</*elided*/ any>>(values: Ts_1, utils: U_4, meta: Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }> | undefined) => unknown; }>; defaultMergeFunctions: import("deepmerge-ts").DeepMergeFunctionsDefaults; metaDataUpdater: import("deepmerge-ts").MetaDataUpdater<Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }>, Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }>>; deepmerge: <Ts_1 extends ReadonlyArray<unknown>>(...values: Ts_1) => unknown; useImplicitDefaultMerging: boolean; filterValues: (<Ts_1 extends ReadonlyArray<unknown>>(values: Ts_1, meta: Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }> | undefined) => unknown[]) | undefined; actions: Readonly<{ defaultMerge: symbol; skip: symbol; }>; }>>(values: Ts, utils: U, meta: Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }> | undefined) => unknown); mergeArrays: false | (<Ts extends ReadonlyArray<ReadonlyArray<unknown>>, U_1 extends Readonly<{ mergeFunctions: Readonly<{ mergeRecords: <Ts_1 extends ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>, U extends Readonly</*elided*/ any>>(values: Ts_1, utils: U, meta: Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }> | undefined) => unknown; mergeArrays: /*elided*/ any; mergeMaps: <Ts_1 extends ReadonlyArray<Readonly<ReadonlyMap<unknown, unknown>>>, U_2 extends Readonly</*elided*/ any>>(values: Ts_1, utils: U_2, meta: Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }> | undefined) => unknown; mergeSets: <Ts_1 extends ReadonlyArray<Readonly<ReadonlySet<unknown>>>, U_3 extends Readonly</*elided*/ any>>(values: Ts_1, utils: U_3, meta: Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }> | undefined) => unknown; mergeOthers: <Ts_1 extends ReadonlyArray<unknown>, U_4 extends Readonly</*elided*/ any>>(values: Ts_1, utils: U_4, meta: Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }> | undefined) => unknown; }>; defaultMergeFunctions: import("deepmerge-ts").DeepMergeFunctionsDefaults; metaDataUpdater: import("deepmerge-ts").MetaDataUpdater<Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }>, Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }>>; deepmerge: <Ts_1 extends ReadonlyArray<unknown>>(...values: Ts_1) => unknown; useImplicitDefaultMerging: boolean; filterValues: (<Ts_1 extends ReadonlyArray<unknown>>(values: Ts_1, meta: Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }> | undefined) => unknown[]) | undefined; actions: Readonly<{ defaultMerge: symbol; skip: symbol; }>; }>>(values: Ts, utils: U_1, meta: Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }> | undefined) => unknown); mergeMaps: false | (<Ts extends ReadonlyArray<Readonly<ReadonlyMap<unknown, unknown>>>, U_2 extends Readonly<{ mergeFunctions: Readonly<{ mergeRecords: <Ts_1 extends ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>, U extends Readonly</*elided*/ any>>(values: Ts_1, utils: U, meta: Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }> | undefined) => unknown; mergeArrays: <Ts_1 extends ReadonlyArray<ReadonlyArray<unknown>>, U_5 extends Readonly</*elided*/ any>>(values: Ts_1, utils: U_5, meta: Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }> | undefined) => unknown; mergeMaps: /*elided*/ any; mergeSets: <Ts_1 extends ReadonlyArray<Readonly<ReadonlySet<unknown>>>, U_3 extends Readonly</*elided*/ any>>(values: Ts_1, utils: U_3, meta: Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }> | undefined) => unknown; mergeOthers: <Ts_1 extends ReadonlyArray<unknown>, U_4 extends Readonly</*elided*/ any>>(values: Ts_1, utils: U_4, meta: Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }> | undefined) => unknown; }>; defaultMergeFunctions: import("deepmerge-ts").DeepMergeFunctionsDefaults; metaDataUpdater: import("deepmerge-ts").MetaDataUpdater<Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }>, Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }>>; deepmerge: <Ts_1 extends ReadonlyArray<unknown>>(...values: Ts_1) => unknown; useImplicitDefaultMerging: boolean; filterValues: (<Ts_1 extends ReadonlyArray<unknown>>(values: Ts_1, meta: Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }> | undefined) => unknown[]) | undefined; actions: Readonly<{ defaultMerge: symbol; skip: symbol; }>; }>>(values: Ts, utils: U_2, meta: Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }> | undefined) => unknown); mergeSets: false | (<Ts extends ReadonlyArray<Readonly<ReadonlySet<unknown>>>, U_3 extends Readonly<{ mergeFunctions: Readonly<{ mergeRecords: <Ts_1 extends ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>, U extends Readonly</*elided*/ any>>(values: Ts_1, utils: U, meta: Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }> | undefined) => unknown; mergeArrays: <Ts_1 extends ReadonlyArray<ReadonlyArray<unknown>>, U_5 extends Readonly</*elided*/ any>>(values: Ts_1, utils: U_5, meta: Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }> | undefined) => unknown; mergeMaps: <Ts_1 extends ReadonlyArray<Readonly<ReadonlyMap<unknown, unknown>>>, U_6 extends Readonly</*elided*/ any>>(values: Ts_1, utils: U_6, meta: Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }> | undefined) => unknown; mergeSets: /*elided*/ any; mergeOthers: <Ts_1 extends ReadonlyArray<unknown>, U_4 extends Readonly</*elided*/ any>>(values: Ts_1, utils: U_4, meta: Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }> | undefined) => unknown; }>; defaultMergeFunctions: import("deepmerge-ts").DeepMergeFunctionsDefaults; metaDataUpdater: import("deepmerge-ts").MetaDataUpdater<Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }>, Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }>>; deepmerge: <Ts_1 extends ReadonlyArray<unknown>>(...values: Ts_1) => unknown; useImplicitDefaultMerging: boolean; filterValues: (<Ts_1 extends ReadonlyArray<unknown>>(values: Ts_1, meta: Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }> | undefined) => unknown[]) | undefined; actions: Readonly<{ defaultMerge: symbol; skip: symbol; }>; }>>(values: Ts, utils: U_3, meta: Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }> | undefined) => unknown); mergeOthers: <Ts extends ReadonlyArray<unknown>, U_4 extends Readonly<{ mergeFunctions: Readonly<{ mergeRecords: <Ts_1 extends ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>, U extends Readonly</*elided*/ any>>(values: Ts_1, utils: U, meta: Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }> | undefined) => unknown; mergeArrays: <Ts_1 extends ReadonlyArray<ReadonlyArray<unknown>>, U_5 extends Readonly</*elided*/ any>>(values: Ts_1, utils: U_5, meta: Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }> | undefined) => unknown; mergeMaps: <Ts_1 extends ReadonlyArray<Readonly<ReadonlyMap<unknown, unknown>>>, U_6 extends Readonly</*elided*/ any>>(values: Ts_1, utils: U_6, meta: Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }> | undefined) => unknown; mergeSets: <Ts_1 extends ReadonlyArray<Readonly<ReadonlySet<unknown>>>, U_7 extends Readonly</*elided*/ any>>(values: Ts_1, utils: U_7, meta: Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }> | undefined) => unknown; mergeOthers: /*elided*/ any; }>; defaultMergeFunctions: import("deepmerge-ts").DeepMergeFunctionsDefaults; metaDataUpdater: import("deepmerge-ts").MetaDataUpdater<Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }>, Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }>>; deepmerge: <Ts_1 extends ReadonlyArray<unknown>>(...values: Ts_1) => unknown; useImplicitDefaultMerging: boolean; filterValues: (<Ts_1 extends ReadonlyArray<unknown>>(values: Ts_1, meta: Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }> | undefined) => unknown[]) | undefined; actions: Readonly<{ defaultMerge: symbol; skip: symbol; }>; }>>(values: Ts, utils: U_4, meta: Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }> | undefined) => unknown; metaDataUpdater: import("deepmerge-ts").MetaDataUpdater<Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }>, Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }>>; enableImplicitDefaultMerging: boolean; filterValues: false | (<Ts extends ReadonlyArray<unknown>>(values: Ts, meta: Readonly<{ key: PropertyKey; parents: ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>; }> | undefined) => unknown[]); }>> | undefined) => Effect.Effect<T, Error, never>; }, never, never>; }>; /** * Deepmerge service for effectful dependency injection. * * This service provides two main functionalities: * - `custom`: A custom deep merge function. * - `merge`: The standard deep merge function. * * Both functions are provided as effectful dependencies using the Effect system. * * @remarks * This class extends `Effect.Service` and registers itself under the name 'Deepmerge'. * * @example * ```typescript * const deepmergeService = Effect.service(Deepmerge); * const merged = deepmergeService.merge(obj1, obj2); * ``` */ export declare class Deepmerge extends Deepmerge_base { } export {};