import type { PartialDeep } from 'type-fest'; import type { z } from 'zod'; /** * Merges two values according to the given Zod schema and any registered merge rules. * * Default behaviors: * - Leaf scalar → desired replaces current * - Object → merge fields recursively; `undefined` desired fields keep current value (partial patch) * - Array whose element has `withEnt` annotation → merge by entity name (add-only, order-preserving) * - Any other array → full replace with desired * - Wrapper (optional/nullable/default) → descend to inner schema * - Discriminated union → find matching branch by discriminator, merge * * Explicit rules from `withMergeRule` override the defaults: * - `replace` → always return desired value * - `by-key` → merge array by a custom key function (add-only) */ export declare function mergeDataWithSchema(schema: T, current: z.input, desired: PartialDeep, { recurseIntoArrays: true; }>): z.input; //# sourceMappingURL=merge-data-with-schema.d.ts.map