/** * The result of merging two sets of props */ export type MergedProps = Source & Target; /** * Merges two sets of component props where source overrides target. * * This merge is shallow by design and applies to any BaseProps keys, not only * style-like props. This allows component config defaults such as `compact`, * `variant`, `height`, and `font` to flow through alongside style props. * * @param target - Base set of props (e.g., from component config defaults) * @param source - Overriding set of props (e.g., from local component props) * @returns Merged props with source values taking precedence * * @example * ```tsx * const merged = mergeComponentProps( * { compact: false, variant: 'secondary', height: 32, font: 'headline' }, * { compact: true, variant: 'primary' } * ); * // Result: { * // compact: true, // local override * // variant: 'primary', // local override * // height: 32, // preserved from defaults * // font: 'headline' // preserved from defaults * // } * ``` */ export declare function mergeComponentProps< Target extends Record, Source extends Record, >(target: Target | undefined, source: Source | undefined): MergedProps; //# sourceMappingURL=mergeComponentProps.d.ts.map