import { type GenerateDefaultSettingsAttrs } from './types'; /** * Generate Default Settings Attrs. * * Generates default settings attributes from module metadata's (module.json) attributes. * Default settings attributes are combination of `default` and `defaultPrintedStyle` that are * declared on module metadata attributes. How both differ from each other: * - `default`: automatically merged into module attributes and being used on module settings and * rendered layout even if no attribute declared by user (eg. Text Options' alignment that needs * to be rendered even if no attribute declared by user). * - `defaultPrintedStyle`: default attribute that is derived from module's static style. This * default is only used on module settings but not being merged into rendered layout because * static style is already being used. * * @since ?? * * @param {object} params Module metadata (module.json). * @param {object} params.moduleMetadata Module metadata (module.json). * @param {object} [params.defaultAttrsConfig] Default attributes configuration. * @param {object} [params.defaultPrintedStyleAttrsConfig] Default printed style attributes configuration. * * @returns {object} The generated default settings attributes for the module. * * @example * ```tsx * const moduleMetadata = { * attributes: { * attr1: { * type: 'object', * default: { * value: 'default value', * }, * defaultPrintedStyle: { * value1: 'default printed style value', * }, * }, * } * }; * generateDefaultSettingsAttrs({ moduleMetadata }); * // => { attr1: { value: 'default value', value1: 'default printed style value' } } * ``` */ export declare const generateDefaultSettingsAttrs: ({ moduleMetadata, defaultAttrsConfig, defaultPrintedStyleAttrsConfig, }: GenerateDefaultSettingsAttrs.Params) => GenerateDefaultSettingsAttrs.Result;