import { AnyComponentSchema } from '@open-formulieren/types'; import { GetRegistryEntry } from './registry/types'; import { JSONObject } from './types'; /** * Extract the default/initial values from a component definition, recursively. * * The recursion is handled by deferring to the relevant components that know their * own structure and can transform the keys/values if needed. * * The registry resolver is passed as an argument/dependency injection, as we otherwise * run into circular import issues. * * @return Mapping of {name: value} pairs. The name is name of the form field, using a * dotted path syntax. The value may be any JSON value (primitive, array or object). */ export declare const extractInitialValues: (components: AnyComponentSchema[], getRegistryEntry: GetRegistryEntry) => JSONObject; /** * Deep merge the provided arguments. * * The `base` is expected to be a flat mapping of dotted path keys (like `foo.bar`), * while `overrides` can be a nested object that will be normalized to dotted path keys * before deep merging. `base` is intended to be the result of `extractInitialvalues`. * * Right now, no guarantees about stable identities are provided yet, but those may * come in the future. */ export declare const deepMergeValues: (base: JSONObject, overrides: JSONObject) => JSONObject;