import type { SerializableObject } from 'with-cache-normalization/dist/domain/NormalizeCacheValueMethod'; import type { SimpleCache } from 'with-simple-cache'; import type { LogMethod } from '../domain/constants'; /** * adds domain driven cache effects to a domain.logic.mutation * * features * - ✨ automatic cache updates are driven by the outputs of your mutation, via [domain.object dereferencing](../../readme.md) * - ✨ automatic cache invalidation are driven by the outputs of your mutation, via [dependency pointers](../../readme.md) * - 🔭 observable tracing of underlying operations can be easily enabled by passing in the logMethod you'd like operations to be reported to * * note * - ⚠️ ensure all of the domain.objects affected by your mutation are included in the output, to drive the automatic cache updates and invalidations */ export declare const withMutationEffects: (logic: (...args: I) => Promise, options: { /** * the cache to use */ cache: SimpleCache; /** * the log method via which to report debug logs, if observability is desired 🔭 */ logDebug?: LogMethod; }) => (...args: I) => Promise;